使用说明

项目简介

mcp-chat项目包含一个基础的MCP服务器实现,旨在演示 Model Context Protocol (MCP) 服务器的基本功能。该服务器提供了一个名为 'read_file' 的工具,允许授权的客户端读取服务器文件系统上的指定文件内容。

主要功能点

  • MCP 服务器: 实现了 MCP 协议的核心服务器功能,能够接收和处理来自 MCP 客户端的请求。
  • 工具注册与调用: 注册并提供 'read_file' 工具,允许客户端通过工具调用读取服务器本地文件系统中的文件。
  • Stdio 传输: 使用 Stdio (标准输入输出) 作为默认的传输协议,方便本地部署和测试。

安装步骤

  1. 安装 Node.js 和 npm: 确保您的环境中已安装 Node.js 和 npm (Node 包管理器)。
  2. 克隆仓库: 将 mcp-chat 仓库克隆到本地:
    git clone https://github.com/unknownzjc/mcp-chat.git
    cd mcp-chat
  3. 安装依赖: 在仓库根目录下运行以下命令安装项目依赖:
    npm install
  4. 构建服务器: 运行以下命令构建服务器端代码:
    npm run build
    这将在 'packages/server/dist' 目录生成编译后的服务器代码。

服务器配置

MCP 服务器需要配置启动命令和参数,以便 MCP 客户端能够连接。以下是一个典型的服务器配置示例,客户端需要将此配置添加到其服务器列表中。

{
  "mcpServers": {
    "local-mcp-server": {
      "command": "node",
      "args": ["packages/server/dist/index.js"]
    }
  }
}

配置说明:

  • 'mcpServers': 此对象包含了可用的 MCP 服务器配置。您可以配置多个服务器。
  • 'local-mcp-server': 这是您为该服务器配置指定的名称,客户端在连接时需要使用此名称。您可以自定义服务器名称。
  • 'command': 启动 MCP 服务器的命令。这里使用 'node' 命令来运行 JavaScript 文件。
  • 'args': 启动命令的参数,指向编译后的服务器入口文件。'packages/server/dist/index.js' 是服务器程序编译后的输出路径。

注意: 请确保 'packages/server/dist/index.js' 文件路径的正确性,根据实际构建输出进行调整。

基本使用方法

  1. 启动 MCP 服务器: 在仓库根目录下,打开终端并运行以下命令启动 MCP 服务器:

    node packages/server/dist/index.js

    服务器成功启动后,将在控制台输出 "Secure MCP Server running on stdio"。

  2. 配置 MCP 客户端: MCP 客户端需要读取包含服务器配置的 JSON 文件 (例如 'serverConfig.json')。客户端会根据配置文件中的服务器信息尝试连接到 MCP 服务器。您需要确保客户端配置中服务器的 'command' 和 'args' 与实际服务器启动命令一致。

  3. 客户端发起请求: 客户端连接到服务器后,可以发送 MCP 请求,例如调用 'read_file' 工具。调用工具时,需要提供工具所需的参数,例如 'path' 参数指定要读取的文件路径。服务器将执行工具并返回结果。

示例 'read_file' 工具调用:

假设客户端需要调用 'read_file' 工具读取服务器根目录下的 'example.txt' 文件,客户端需要构造符合 MCP 协议的 'CallToolRequest',指定工具名为 'read_file',参数为 '{"path": "example.txt"}'。服务器收到请求后,将读取文件内容并通过 MCP 响应返回给客户端。

注意: 'read_file' 工具的读取路径是相对于服务器启动目录的。请确保客户端请求的文件路径在服务器允许访问的范围内。

信息

分类

数据库与文件