MCP Framework
一个用于用Typescript编写modelcontextprotocol (MCP)服务器的框架。
简介
MCP-Framework 是一个用于在 TypeScript 中构建 Model Context Protocol (MCP) 服务器的框架,提供自动发现工具、资源和提示的架构支持。
主要特性
- 🛠️ 自动发现和加载工具、资源和提示
- 多传输支持(标准输入输出、SSE、HTTP 流)
- TypeScript 优先,完整的类型安全
- 基于官方 MCP SDK 构建
快速开始
安装与创建项目
# 全局安装框架
npm install -g mcp-framework
# 创建新项目
mcp create my-mcp-server
# 进入项目
cd my-mcp-server
添加组件
# 添加工具
mcp add tool price-fetcher
# 添加提示
mcp add prompt price-analysis
# 添加资源
mcp add resource market-data
创建工具示例
import { MCPTool } from "mcp-framework";
import { z } from "zod";
interface ExampleInput {
message: string;
}
class ExampleTool extends MCPTool<ExampleInput> {
name = "example_tool";
description = "处理消息的示例工具";
schema = {
message: {
type: z.string(),
description: "要处理的消息",
},
};
async execute(input: ExampleInput) {
return `已处理: ${input.message}`;
}
}
export default ExampleTool;
设置服务器
import { MCPServer } from "mcp-framework";
// 使用默认 stdio 传输
const server = new MCPServer();
// 或使用 SSE 传输
const server = new MCPServer({
transport: {
type: "sse",
options: {
port: 8080
}
}
});
// 启动服务器
await server.start();
与 Claude Desktop 集成
本地开发配置
配置文件位置:
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"${projectName}": {
"command": "node",
"args": ["/absolute/path/to/${projectName}/dist/index.js"]
}
}
}
发布后配置
{
"mcpServers": {
"${projectName}": {
"command": "npx",
"args": ["${projectName}"]
}
}
}
环境变量
变量 | 描述 | 默认值 |
---|---|---|
MCP_ENABLE_FILE_LOGGING | 启用日志记录到文件 | false |
MCP_LOG_DIRECTORY | 日志文件目录 | logs |
MCP_DEBUG_CONSOLE | 在控制台显示调试消息 | false |
开发工作流
- 创建项目并添加工具
- 运行
npm run build
编译 - 测试与 Claude Desktop 的集成
- 根据需要迭代开发
详细文档请访问:https://mcp-framework.com