使用说明
项目简介
mcp-chat项目包含一个基础的MCP服务器实现,旨在演示 Model Context Protocol (MCP) 服务器的基本功能。该服务器提供了一个名为 'read_file' 的工具,允许授权的客户端读取服务器文件系统上的指定文件内容。
主要功能点
- MCP 服务器: 实现了 MCP 协议的核心服务器功能,能够接收和处理来自 MCP 客户端的请求。
- 工具注册与调用: 注册并提供 'read_file' 工具,允许客户端通过工具调用读取服务器本地文件系统中的文件。
- Stdio 传输: 使用 Stdio (标准输入输出) 作为默认的传输协议,方便本地部署和测试。
安装步骤
- 安装 Node.js 和 npm: 确保您的环境中已安装 Node.js 和 npm (Node 包管理器)。
- 克隆仓库: 将 mcp-chat 仓库克隆到本地:
git clone https://github.com/unknownzjc/mcp-chat.git cd mcp-chat - 安装依赖: 在仓库根目录下运行以下命令安装项目依赖:
npm install - 构建服务器: 运行以下命令构建服务器端代码:
这将在 'packages/server/dist' 目录生成编译后的服务器代码。npm run build
服务器配置
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' 文件路径的正确性,根据实际构建输出进行调整。
基本使用方法
-
启动 MCP 服务器: 在仓库根目录下,打开终端并运行以下命令启动 MCP 服务器:
node packages/server/dist/index.js服务器成功启动后,将在控制台输出 "Secure MCP Server running on stdio"。
-
配置 MCP 客户端: MCP 客户端需要读取包含服务器配置的 JSON 文件 (例如 'serverConfig.json')。客户端会根据配置文件中的服务器信息尝试连接到 MCP 服务器。您需要确保客户端配置中服务器的 'command' 和 'args' 与实际服务器启动命令一致。
-
客户端发起请求: 客户端连接到服务器后,可以发送 MCP 请求,例如调用 'read_file' 工具。调用工具时,需要提供工具所需的参数,例如 'path' 参数指定要读取的文件路径。服务器将执行工具并返回结果。
示例 'read_file' 工具调用:
假设客户端需要调用 'read_file' 工具读取服务器根目录下的 'example.txt' 文件,客户端需要构造符合 MCP 协议的 'CallToolRequest',指定工具名为 'read_file',参数为 '{"path": "example.txt"}'。服务器收到请求后,将读取文件内容并通过 MCP 响应返回给客户端。
注意: 'read_file' 工具的读取路径是相对于服务器启动目录的。请确保客户端请求的文件路径在服务器允许访问的范围内。
信息
分类
数据库与文件