使用说明

项目简介

AutoMCP 是一个用于 Model Context Protocol (MCP) 的代码生成工具。它通过读取 YAML 格式的服务定义,自动生成 MCP 兼容的服务器端和客户端代码,极大地简化了 MCP 服务的开发流程。开发者只需关注服务定义和工具的具体实现,而无需手动编写大量的协议和框架代码。

主要功能点

  • MCP 服务器代码生成: 根据 YAML 服务定义,自动生成符合 MCP 协议规范的服务器端代码。
  • 客户端库生成: 为生成的服务创建易于使用的客户端库,方便在其他应用中调用 MCP 服务。
  • 工具处理函数桩生成: 自动生成工具处理函数的代码框架(桩代码),开发者只需填充具体的工具逻辑。
  • 代码按服务组织: 生成的服务器和客户端代码以及处理函数桩都按服务名称进行目录组织,结构清晰,易于维护。

安装步骤

  1. 克隆仓库
    git clone https://github.com/beaukuhn/automcp.git
    cd automcp
  2. 安装依赖
    npm install

服务器配置

MCP 客户端需要配置连接到 MCP 服务器的信息。对于 AutoMCP 生成的使用 Stdio 传输的服务器,客户端需要配置服务器的启动命令和参数。以下是一个 JSON 格式的配置示例,用于指导 MCP 客户端如何启动和连接到 AutoMCP 生成的服务器:

{
  "server name": "ServiceName",  // 将 "ServiceName" 替换为你的服务名称 (例如: Calculator, Greeter)。此名称用于在 MCP 生态系统中标识服务。
  "command": "node",          // 指定执行的命令,通常对于 JavaScript 服务器是 Node.js。
  "args": ["path/to/generated/serviceName/serviceName_server.js"] // 传递给命令的参数数组。这里指向生成的服务器文件。 **重要:** 'path/to/generated/serviceName/serviceName_server.js'  需要替换为实际生成的服务器文件的相对或绝对路径。此路径相对于客户端应用程序的执行位置以及构建 AutoMCP 项目后服务器文件所在的位置。
}

注意: 请将 'path/to/generated/serviceName/serviceName_server.js' 替换为根据你的项目结构生成的服务器文件路径。例如,如果你在项目根目录下运行客户端,并且已经执行了构建,路径可能类似于 '"./dist/generated/calculator/calculator_server.js"'。

基本使用方法

  1. 定义服务: 在 'services/[service-name]/' 目录下创建 YAML 文件来定义你的服务,包括服务名称、版本、描述以及包含的工具。
  2. 生成代码: 运行生成脚本 './bin/automcp.sh generate'。 这将会在 'generated/' 目录中生成服务器和客户端代码,并在 'src/custom/' 目录中生成工具处理函数桩代码。
  3. 实现工具处理函数: 编辑 'src/custom/[service-name]/' 目录下的处理函数文件,实现你的工具的具体功能逻辑。
  4. 使用生成的客户端: 在你的客户端应用程序中,导入并使用生成的客户端库来调用 MCP 服务。 示例代码可以参考 'examples/client_example.ts' 文件。

信息

分类

开发者工具