使用说明

项目简介

MCP-Framework 是一个使用 TypeScript 构建 MCP 服务器的框架,旨在帮助开发者更便捷、优雅地创建符合模型上下文协议的后端应用。它提供了一套完整的架构,包括自动发现机制、多种传输协议支持、类型安全保障以及便捷的 CLI 工具,让开发者可以专注于业务逻辑的实现,而无需从零开始搭建 MCP 服务器的基础设施。

主要功能点

  • 自动化发现和加载: 自动发现并加载项目目录下的工具 (Tools)、Prompt 模板 (Prompts) 和资源 (Resources),无需手动配置,简化组件管理。
  • 多传输协议支持: 支持 Stdio 和 SSE (Server-Sent Events) 多种传输协议,满足不同应用场景的需求。SSE 协议还内置了身份验证功能,保障连接安全。
  • TypeScript 优先: 使用 TypeScript 开发,提供完整的类型安全,提升开发效率和代码质量。
  • 基于官方 MCP SDK: 构建于官方 Model Context Protocol SDK 之上,确保与 MCP 协议的兼容性和标准性。
  • 易用的基类: 为工具 (Tools)、Prompt 模板 (Prompts) 和资源 (Resources) 提供易于扩展的基类,方便开发者快速定义和实现自定义组件。
  • 开箱即用的身份验证: SSE 传输协议支持开箱即用的身份验证机制,包括 JWT 和 API Key 认证,并允许自定义认证提供程序。
  • 强大的 CLI 工具: 提供命令行界面 (CLI) 工具,用于快速创建项目、添加工具、Prompt 和资源等组件,简化开发流程。

安装步骤

  1. 全局安装 MCP-Framework CLI:

    npm install -g mcp-framework

    这个命令会将 'mcp' 命令行工具安装到您的全局环境中,方便您在任何地方使用它来创建和管理 MCP 服务器项目。

  2. 创建新的 MCP 服务器项目:

    mcp create my-mcp-server

    运行此命令,并替换 'my-mcp-server' 为您想要的项目名称。CLI 工具会在当前目录下创建一个名为 'my-mcp-server' 的新文件夹,并初始化一个基础的 MCP 服务器项目结构。

  3. 进入项目目录:

    cd my-mcp-server

    使用 'cd' 命令切换到新创建的项目目录。

  4. 安装项目依赖:

    npm install

    在项目根目录下运行 'npm install' 命令,安装项目所需的依赖包。

服务器配置 (Claude Desktop 客户端)

为了让 Claude Desktop 客户端能够连接到您本地开发的 MCP 服务器,您需要在 Claude Desktop 的配置文件中添加服务器配置信息。

配置文件路径:

  • MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%/Claude/claude_desktop_config.json'

配置信息 (本地开发):

打开 'claude_desktop_config.json' 文件,在 'mcpServers' 字段下添加如下 JSON 配置。请将 '${projectName}' 替换为您的项目名称,'/absolute/path/to/${projectName}' 替换为您的项目绝对路径。

{
  "mcpServers": {
    "your-server-name": {  //  服务器名称,可以自定义,Claude Desktop 客户端中会显示此名称
      "command": "node",   //  运行服务器的命令,这里使用 node.js 运行时
      "args": ["/absolute/path/to/your-project/dist/index.js"] //  服务器启动参数,指向编译后的 index.js 文件
    }
  }
}

配置信息 (发布后):

如果您已经将 MCP 服务器项目发布为 npm 包,可以使用以下配置。请将 '${projectName}' 替换为您的 npm 包名。

{
  "mcpServers": {
    "your-server-name": {  // 服务器名称,可以自定义
      "command": "npx",   //  使用 npx 命令运行 npm 包
      "args": ["your-package-name"] //  npm 包名,即您的项目名称
    }
  }
}

基本使用方法

  1. 添加工具 (Tool): 使用 CLI 工具快速添加新的工具组件。例如,添加一个名为 'price-fetcher' 的工具:

    mcp add tool price-fetcher

    这会在 'src/tools' 目录下创建一个 'PriceFetcherTool.ts' 文件,其中包含工具的基本模板代码。您需要修改该文件来实现具体的工具逻辑。

  2. 添加 Prompt 模板 (Prompt): 使用 CLI 工具添加新的 Prompt 模板。例如,添加一个名为 'price-analysis' 的 Prompt 模板:

    mcp add prompt price-analysis

    这会在 'src/prompts' 目录下创建一个 'PriceAnalysisPrompt.ts' 文件,包含 Prompt 模板的基本结构,您需要根据需求定义 Prompt 的参数和消息生成逻辑。

  3. 添加资源 (Resource): 使用 CLI 工具添加新的资源组件。例如,添加一个名为 'market-data' 的资源:

    mcp add resource market-data

    这会在 'src/resources' 目录下创建一个 'MarketDataResource.ts' 文件,包含资源的基本模板,您需要实现资源的读取和订阅等功能。

  4. 构建项目: 在项目根目录下运行 'npm run build' 命令,编译 TypeScript 代码到 'dist' 目录。

  5. 运行服务器: 构建完成后,您可以使用 'npm start' 命令或直接运行 'node dist/index.js' (或 'npx your-package-name' 如果已发布) 来启动 MCP 服务器。服务器启动后,会自动加载 'src/tools', 'src/prompts', 'src/resources' 目录下的组件。

  6. 连接 Claude Desktop 客户端: 根据上述 服务器配置 (Claude Desktop 客户端) 部分的说明,配置 Claude Desktop 客户端连接到您的 MCP 服务器。配置完成后,您就可以在 Claude Desktop 中使用您在 MCP 服务器中定义的工具、Prompt 和资源了。

通过 MCP-Framework 框架和 CLI 工具,您可以快速搭建和扩展 MCP 服务器,为您的 LLM 应用提供强大的上下文服务能力。

信息

分类

开发者工具