项目简介

template-mcp-server 是一个用于快速创建 Model Context Protocol (MCP) 服务器的模板项目。它提供了一个基础框架,帮助开发者轻松构建自定义的 MCP 服务器,以便为 AI 智能体提供上下文信息和功能扩展。

主要功能点

  • 双传输协议支持: 同时支持标准输入输出 (stdio) 和 HTTP 传输协议,满足不同应用场景的需求。
  • 资源管理: 允许服务器托管和管理各种资源,并向客户端提供数据访问能力。
  • 工具注册与执行: 支持注册和执行外部工具,使 LLM 客户端能够调用这些工具扩展功能。
  • Prompt 模板: 提供 Prompt 模板定义和渲染能力,支持定制化的 LLM 交互模式。
  • TypeScript: 使用 TypeScript 开发,提供类型安全和更好的开发体验。
  • MCP SDK: 基于官方 Model Context Protocol SDK 构建,保证与 MCP 协议的兼容性。
  • 易于扩展: 项目结构清晰,方便开发者添加自定义的工具、资源和 Prompt 模板。

安装步骤

  1. 创建项目: 使用 npm 或 npx 命令创建新的 MCP 服务器项目:

    npx @mcpdotdirect/create-mcp-server
    # 或
    npm init @mcpdotdirect/create-mcp-server

    按照提示操作,将在当前目录下生成一个新的项目文件夹。

  2. 安装依赖: 进入项目文件夹,并安装项目依赖:

    cd <项目文件夹名称>
    npm install  # 或 yarn install / pnpm install / bun install

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令才能连接。以下是针对本模板项目的配置信息示例 (JSON 格式),请根据您选择的运行方式配置客户端:

Stdio 传输 (默认)

{
  "serverName": "template-mcp-server-stdio",  // 服务器名称,可自定义
  "command": "npm",                       // 启动命令,使用 npm
  "args": ["start"]                        // 命令参数,运行 npm start 脚本启动 stdio 服务器
}

HTTP 传输

{
  "serverName": "template-mcp-server-http",   // 服务器名称,可自定义
  "command": "npm",                       // 启动命令,使用 npm
  "args": ["run", "start:http"]           // 命令参数,运行 npm run start:http 脚本启动 HTTP 服务器
}

配置说明:

  • 'serverName': MCP 服务器的名称,用于在客户端进行标识,可以自定义。
  • 'command': 启动服务器的命令,通常是包管理器命令,如 'npm'、'yarn'、'pnpm' 或 'bun'。
  • 'args': 传递给启动命令的参数,用于指定要执行的脚本或命令。请根据 'package.json' 文件中的 scripts 字段配置正确的启动脚本。

基本使用方法

  1. 启动服务器: 根据您选择的传输协议,运行相应的命令启动 MCP 服务器:

    • Stdio: 'npm start' 或 'npm run dev' (开发模式,自动重启)
    • HTTP: 'npm run start:http' 或 'npm run dev:http' (开发模式,自动重启)
  2. 配置 MCP 客户端: 在您的 MCP 客户端中,配置上述生成的服务器配置信息,指定连接到本地运行的 MCP 服务器。

  3. 扩展功能: 根据您的需求,修改 'src/core' 目录下的 'resources.ts', 'tools.ts', 'prompts.ts' 文件,添加自定义的资源、工具和 Prompt 模板。然后在 'src/server/server.ts' 中注册这些扩展功能。

  4. 与 LLM 客户端交互: 启动客户端后,客户端将通过 MCP 协议与服务器通信,利用服务器提供的资源、工具和 Prompt 模板与 LLM 进行交互。

信息

分类

AI与计算