@nam088/mcp-core
v0.2.10
Published
Core plugin system for MCP server
Readme
@nam088/mcp-core
Core plugin system for MCP (Model Context Protocol) server.
Features
- Plugin Interface: Standard interface for all MCP plugins
- Plugin Base Class: Abstract base class with common functionality
- Plugin Registry: Manages plugin lifecycle and registration
- TypeScript Support: Full type definitions
Installation
npm install @nam088/mcp-core @modelcontextprotocol/sdkUsage
Creating a Plugin
import { PluginBase, PluginConfig, PluginContext } from '@nam088/mcp-core';
export class MyPlugin extends PluginBase {
readonly metadata: PluginConfig = {
name: 'my-plugin',
version: '1.0.0',
description: 'My custom plugin',
};
async initialize(context: PluginContext): Promise<void> {
await super.initialize(context);
// Initialize your plugin resources
}
register(context: PluginContext): void {
const { server } = context;
// Register your tools
server.registerTool('my_tool', {
description: 'My custom tool',
inputSchema: { /* ... */ }
}, async (args) => {
// Tool implementation
});
}
async cleanup(): Promise<void> {
await super.cleanup();
// Cleanup your resources
}
}Using Plugin Registry
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { PluginRegistry } from '@nam088/mcp-core';
import { MyPlugin } from './my-plugin.js';
const server = new McpServer({ name: 'my-server', version: '1.0.0' });
const registry = new PluginRegistry(server);
// Register plugin
await registry.registerPlugin(MyPlugin, {
// Plugin configuration
});
// Cleanup on shutdown
await registry.cleanup();License
MIT
