使用说明

项目简介

FastMCP 是一个使用 TypeScript 开发的框架,旨在简化 Model Context Protocol (MCP) 服务器的构建过程。它提供了一套简洁的 API,帮助开发者快速搭建功能完善的 MCP 后端服务,以便为大型语言模型 (LLM) 应用提供上下文信息和功能扩展。

主要功能点

  • 简化定义: 支持简单直观地定义和管理工具 (Tools)、资源 (Resources) 和 Prompt 模板 (Prompts)。
  • TypeScript 支持: 完全基于 TypeScript 开发,提供类型安全和良好的开发体验。
  • 多媒体内容: 内置支持图像内容 (image content) 的处理和返回。
  • 内置工具: 提供内置的日志 (logging) 记录、错误处理 (error handling) 机制。
  • 开发工具: 集成 CLI 工具,方便进行本地测试 (test with mcp-cli) 和调试 (debug with mcp-inspector)。
  • SSE 支持: 内置支持基于 Server-Sent Events (SSE) 的传输协议。
  • 进度通知: 支持工具执行过程中的进度 (progress) 通知。

安装步骤

  1. 确保已安装 Node.js 和 npm。
  2. 打开终端,执行以下命令安装 FastMCP 框架:
    npm install fastmcp

服务器配置

MCP 客户端需要配置以下信息以连接到 FastMCP 服务器。这是一个 JSON 格式的配置示例,您需要根据实际情况进行调整:

{
  "serverName": "MyFastMCPServer",  // 自定义 MCP 服务器的名称
  "command": "npx",               // 启动服务器的命令,通常为 "npx" 或 "node"
  "args": [                      // 启动命令的参数列表
    "fastmcp",                   // FastMCP 框架的 CLI 工具名称
    "dev",                       // 使用开发模式启动服务器,方便调试
    "src/examples/addition.ts"   // MCP 服务器代码文件路径,指向您的服务器实现文件,例如 examples 目录下的示例文件,您可以替换为您自己的服务器代码文件路径
  ]
}

参数说明:

  • 'serverName': MCP 服务器的名称,客户端可以显示此名称以区分不同的服务器。
  • 'command': 运行 MCP 服务器的命令,通常是 Node.js 环境下的 'npx' 或 'node'。
  • 'args': 传递给 'command' 的参数数组。
    • 第一个参数通常是 'fastmcp',用于调用 FastMCP 框架的 CLI 工具。
    • 第二个参数 'dev' 或 'inspect' 指定 FastMCP 的运行模式,'dev' 模式用于开发和测试,集成了 'mcp-cli' 方便在终端进行交互;'inspect' 模式用于使用 'MCP Inspector' 进行可视化调试。
    • 第三个参数是您的 MCP 服务器代码文件路径,请根据您的项目结构指向实际的服务器入口文件,例如示例中的 'src/examples/addition.ts'。

注意: 请根据您的实际服务器代码文件路径修改 'args' 数组中的文件路径。如果您需要使用 'MCP Inspector' 进行调试,可以将 'dev' 替换为 'inspect'。

基本使用方法

  1. 编写 MCP 服务器代码: 使用 FastMCP 框架提供的 API (例如 'server.addTool', 'server.addResource', 'server.addPrompt') 定义您的工具、资源和 Prompt 模板。参考仓库中的示例代码和文档。
  2. 配置 MCP 客户端: 在 MCP 客户端中,配置上述 JSON 格式的服务器配置信息。
  3. 启动 MCP 服务器: MCP 客户端将根据配置信息启动 FastMCP 服务器。
  4. 客户端与服务器交互: 客户端通过 MCP 协议与 FastMCP 服务器进行通信,调用工具、访问资源或获取 Prompt,从而实现 LLM 应用的上下文增强和功能扩展。

信息

分类

开发者工具