0.0.4 • Published 6 months ago

@brionmario-experimental/mcp-node v0.0.4

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
6 months ago

@brionmario-experimental/mcp-node

Node.js core library for enforcing Model Context Protocol (MCP) authorization using Asgardeo.

Overview

This package provides the core functionality for implementing Model Context Protocol (MCP) based authorization in Node.js applications. It serves as the foundation for higher-level implementations like the Express middleware.

Installation

npm install @brionmario-experimental/mcp-node
# or
yarn add @brionmario-experimental/mcp-node
# or 
pnpm add @brionmario-experimental/mcp-node

Features

  • Authorization server metadata generation
  • Protected resource metadata generation
  • Token verification utilities
  • Built-in Asgardeo provider
  • Extensible authentication provider system

Usage

import { 
  generateAuthorizationServerMetadata,
  generateProtectedResourceMetadata,
  Asgardeo
} from '@brionmario-experimental/mcp-node';

// Initialize the Asgardeo provider
const provider = Asgardeo();

// Generate authorization server metadata
const serverMetadata = generateAuthorizationServerMetadata({
  baseUrl: provider.baseUrl
});

// Generate protected resource metadata
const resourceMetadata = generateProtectedResourceMetadata({
  authorizationServers: [provider.baseUrl],
  resource: 'https://api.example.com'
});

API Reference

Providers

Asgardeo()

Creates an Asgardeo provider instance with pre-configured settings.

const provider = Asgardeo();

Metadata Generation

generateAuthorizationServerMetadata(options)

Generates metadata for the authorization server.

const metadata = generateAuthorizationServerMetadata({
  baseUrl: 'https://api.asgardeo.io'
});

generateProtectedResourceMetadata(options)

Generates metadata for protected resources.

const metadata = generateProtectedResourceMetadata({
  authorizationServers: ['https://api.asgardeo.io'],
  resource: 'https://api.example.com'
});

Development

Prerequisites

  • Node.js 16.x or later
  • pnpm 8.x or later

Setup

  1. Clone the repository
  2. Install dependencies:
pnpm install

Build

pnpm build

Lint

pnpm lint

License

Apache-2.0 - see the LICENSE file for details.

0.0.4

6 months ago

0.0.3

6 months ago

0.0.2

6 months ago

0.0.1

6 months ago