使用说明
项目简介
本项目是一个简单的MCP服务器和客户端示例,使用TypeScript和MCP TypeScript SDK构建。它演示了MCP服务器的基本功能,包括资源管理和通过stdio进行客户端-服务器通信。这个示例旨在帮助开发者快速了解MCP服务器的搭建和运行流程。
主要功能点
- 资源管理: 服务器可以托管和管理资源,本示例中提供了一个简单的文本资源 'file:///example.txt'。
- 资源列表: 客户端可以请求服务器获取可用的资源列表。
- 资源读取: 客户端可以请求服务器读取指定URI资源的内容。
- Stdio传输: 服务器和客户端之间通过标准的stdio (标准输入输出) 进行通信。
- 基础错误处理: 服务器实现了基础的错误处理,例如当客户端请求不存在的资源时,服务器会返回错误。
安装步骤
- 克隆仓库
git clone https://github.com/MCP-Mirror/joeBlockchain_mcp-server-client.git cd joeBlockchain_mcp-server-client - 安装依赖
确保你已经安装了Node.js (v16 或更高版本) 和 npm。在项目根目录下运行:
npm install
服务器配置
MCP客户端需要配置以下信息才能连接到此MCP服务器。这是一个 JSON 格式的配置示例,你需要将其提供给你的MCP客户端:
{ "serverName": "example-server", // MCP 服务器的名称,与服务器代码中定义的一致 "transport": "stdio", // 使用的传输协议,这里是 stdio "stdio": { "command": "node", // 启动服务器的命令,这里使用 node "args": ["--loader", "ts-node/esm", "src/index.ts"] // 启动命令的参数,包括 ts-node/esm loader 和服务器入口文件 } }
配置参数说明:
- 'serverName': MCP 服务器的名称,在服务器端的 'Server' 构造函数中定义。
- 'transport': 指定客户端与服务器通信的传输协议,本示例使用 'stdio'。
- 'stdio.command': 指定用于启动 MCP 服务器进程的命令。这里使用 'node' 来运行 Node.js 代码。
- 'stdio.args': 传递给启动命令的参数数组。
- '--loader ts-node/esm': 使用 'ts-node/esm' loader 允许直接运行 TypeScript 代码,无需预先编译。
- 'src/index.ts': 指定 MCP 服务器的入口文件路径。
基本使用方法
-
启动 MCP 服务器 打开一个终端窗口,进入项目根目录,运行以下命令启动 MCP 服务器:
npm run start:server你将看到终端输出 'Starting server...' 和 'Server connected and ready!',表示服务器已成功启动并准备好接受客户端连接。
-
启动 MCP 客户端 打开另一个新的终端窗口,同样进入项目根目录,运行以下命令启动 MCP 客户端:
npm run start:client客户端启动后,你将看到客户端的输出,包括:
- 'Starting client...'
- 'Connecting to server...'
- 'Connected to server!'
- 'Requesting resources list...'
- 'Resources: ...' (列出服务器提供的资源)
- 'Reading resource...'
- 'Resource content: ...' (显示 'file:///example.txt' 的内容)
这表明客户端已成功连接到服务器,并完成了资源列表请求和资源读取请求。
注意: 请确保先启动服务器,再启动客户端。客户端需要连接到正在运行的服务器才能正常工作。
信息
分类
开发者工具