MCP Framework

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

开发工作流

  1. 创建项目并添加工具
  2. 运行 npm run build 编译
  3. 测试与 Claude Desktop 的集成
  4. 根据需要迭代开发

详细文档请访问:https://mcp-framework.com