详细介绍
MCP Framework 是一个基于 TypeScript 的框架,用于构建模型上下文协议(MCP)服务器。它提供开箱即用的架构,支持自动发现工具、资源和提示,具备多种传输方式(如标准输入输出、SSE 和 HTTP 流)以及类型安全特性,适用于快速开发 AI 模型交互系统。
核心功能
MCP Framework 提供了多种核心功能,帮助开发者高效构建和管理 MCP 服务器:
- 自动发现与加载:框架会自动识别并加载工具、资源和提示词,无需手动配置。
- 多传输支持:支持多种传输方式,包括标准输入输出、SSE 和 HTTP 流,适用于不同的应用场景。
- TypeScript 开发体验:提供完整的 TypeScript 类型支持,确保代码的可靠性和可维护性。
- SSE 端点认证:支持 JWT 和 API Key 认证,用于保护 SSE 端点。
- 模块化中间件:通过中间件机制实现功能扩展,如日志记录、错误处理等。
安装方法
安装 MCP Framework 非常简单,可以通过 npm 全局安装:
npm install -g mcp-framework安装完成后,可以使用命令行工具创建和管理项目。
使用方法
使用 MCP Framework 创建一个 MCP 服务器,可以按照以下步骤进行:
创建新项目
mcp create my-mcp-server添加工具和资源
mcp add tool price-fetcher启动服务器
npm run start基础服务器配置示例
import { MCPServer } from 'mcp-framework';
const server = new MCPServer({
transport: {
type: 'sae',
options: {
port: 3000,
host: 'localhost'
}
}
});
server.start();SSE 传输高级配置示例
import { MCPServer, SSETransportOptions } from 'mcp-framework';
const server = new MCPServer({
transport: {
type: 'sae',
options: {
port: 3000,
host: 'localhost',
path: '/events',
maxReconnectionDelay: 5000
}
}
});
server.start();HTTP 流传输配置示例
import { MCPServer, HTTPStreamOptions } from 'mcp-framework';
const server = new MCPServer({
transport: {
type: 'http-stream',
options: {
port: 3000,
host: 'localhost',
path: '/stream',
responseMode: 'batch',
batchTimeout: 30000
}
}
});
server.start();JWT 认证配置示例
import { MCPServer, JWTAuthProvider } from 'mcp-framework';
const server = new MCPServer({
transport: {
type: 'sae',
options: {
auth: {
provider: new JWTAuthProvider({
secret: process.env.JWT_SECRET,
algorithms: ['HS256']
}),
endpoints: {
sse: true
}
}
}
}
});
server.start();API Key 认证配置示例
import { MCPServer, APIKeyAuthProvider } from 'mcp-framework';
const server = new MCPServer({
transport: {
type: 'sae',
options: {
auth: {
provider: new APIKeyAuthProvider({
secret: process.env.API_KEY_SECRET
})
}
}
}
});
server.start();日志记录配置示例
import { MCPServer, Logger } from 'mcp-framework';
const logger = new Logger({
level: 'info',
handlers: [
{
type: 'file',
path: './logs/app.log'
}
]
});
const server = new MCPServer({
transport: {
type: 'sae',
options: {
port: 3000,
host: 'localhost'
}
},
logger
});
server.start();错误处理配置示例
import { MCPServer } from 'mcp-framework';
const server = new MCPServer({
transport: {
type: 'sae',
options: {
port: 3000,
host: 'localhost'
}
},
errorHandlers: [
(error, context) => {
console.error('Custom error handler:', error);
context.reply(500, 'Internal Server Error');
}
]
});
server.start();使用场景
MCP Framework 适用于需要快速构建 AI 模型交互系统的开发者,无论是开发桌面应用还是云服务,它都能提供强大的支持。例如:
- 构建实时数据流服务,如股票价格推送、聊天机器人等。
- 开发需要与 AI 模型进行交互的后端服务。
- 集成到现有系统中,作为独立的 MCP 服务模块。
注意事项
在使用 MCP Framework 时,需要注意以下几点:
- 对于高级功能,可能需要一定的技术背景。
- 某些高级特性可能需要额外配置。
- 确保正确配置认证和日志记录,以保障服务的安全性和可维护性。
MCP Framework 通过提供灵活的配置和强大的功能模块,简化了实时通信应用的开发过程。无论是 SSE 还是 HTTP 流传输,用户都可以根据需求选择合适的方案,并通过丰富的中间件扩展服务功能。