使用说明

项目简介

ExMCP Test Server 是一个基于 Elixir 语言构建的 MCP (Model Context Protocol) 服务器的测试实现。它旨在提供一个可运行的 MCP 服务器示例,方便开发者理解和实验 MCP 协议,验证客户端与 MCP 服务器的交互流程。

主要功能点

  • 资源管理: 支持列出和访问服务器托管的资源,为 LLM 提供上下文数据。
  • 工具调用: 支持注册和调用外部工具,扩展 LLM 的能力边界。
  • Prompt 模板: 支持管理和获取 Prompt 模板,定制 LLM 的交互方式。
  • JSON-RPC 通信: 采用标准的 JSON-RPC 2.0 协议与客户端进行通信。
  • OpenRPC 规范: 提供 OpenRPC API 规范文档,方便开发者理解服务器接口。

安装步骤

  1. 安装 Elixir 和 Mix: 确保你的开发环境中已安装 Elixir 1.14 或更高版本,以及 Mix 包管理工具。
  2. 获取仓库代码: 从 GitHub 克隆仓库 'https://github.com/y86/ex-mcp-test' 到本地。
  3. 安装依赖: 在仓库根目录下运行以下命令安装项目依赖:
    mix deps.get

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令才能连接。以下是针对 ExMCP Test Server 的配置示例,你需要将其添加到 MCP 客户端的配置文件中(例如 'claude_desktop_config.json'):

{
  "mcpServers": {
    "ex-mcp-test": {  // 服务器名称,客户端用于标识和引用
      "command": "path/to/your/realease/bin/my_app", // 服务器启动命令,指向 release 版本的可执行文件
      "args": [  // 启动参数
        "start" //  通常使用 "start" 参数启动服务器
      ]
    }
  }
}

配置说明:

  • '"ex-mcp-test"': 服务器名称,可以自定义,客户端通过此名称引用该服务器。
  • '"command"': 需要用户根据实际情况修改。指向编译后的服务器可执行文件路径。为了获得此路径,你需要先按照仓库 'README.md' 中的 "Configuration" -> 'mix release' 指示,将项目编译为 release 版本。编译成功后,在项目根目录的 '_build/prod/rel/my_app/bin' (或类似的路径,取决于你的项目配置) 下可以找到可执行文件 'my_app'。 将 'path/to/your/realease/bin/my_app' 替换为该文件的实际绝对路径。
  • '"args"': 启动参数,通常使用 '"start"' 即可启动服务器。

基本使用方法

  1. 启动服务器: 在仓库根目录下,使用以下命令运行服务器(开发模式):
    mix run --no-halt
    或者,如果你已经按照 "服务器配置" 中的说明编译了 release 版本,则可以直接运行 release 版本的可执行文件。
  2. 配置 MCP 客户端: 将上面提供的 'claude_desktop_config.json' 配置添加到你的 MCP 客户端(例如 Claude Desktop)的配置文件中,并确保 '"command"' 指向正确的服务器可执行文件路径。
  3. 连接客户端: 启动 MCP 客户端,客户端应该能够检测到并连接到 ExMCP Test Server。
  4. 测试功能: 通过 MCP 客户端界面或 API 调用,测试服务器提供的资源列表、工具列表、Prompt 列表以及工具调用等功能,验证 MCP 协议的交互。

信息

分类

开发者工具