simple_mcp_server
使用说明内容(Markdown格式)
-
项目简介
- 这是一个用 TypeScript/Node.js 实现的 MCP 服务器示例,利用 Model Context Protocol 的 SDK 提供对公开 API 的访问能力。服务器通过标准的 MCP 机制向客户端暴露资源(Resources)和工具(Tools),并可与大语言模型客户端(如 Claude Desktop 或 MCP 客户端)协同工作。
-
主要功能点
- 资源管理:注册并提供对 Star Wars API 相关数据的资源,例如“所有影片”等,以便客户端按需读取。
- 工具注册与执行:实现多个工具(如按名称查询人物、星球、影片,以及按 ID 查询人物),工具执行时通过调用 SWAPI 获取数据并将结果格式化返回。
- 与 MCP 客户端的互操作:通过 MCP 服务器接口接收请求、进行数据处理、返回结构化的 JSON-RPC 风格响应。
- 运行透传能力:当前实现使用标准输入输出(stdio)传输作为运行环境。
-
安装步骤
- 安装 Node.js(推荐版本与仓库要求一致)。
- 克隆仓库到本地。
- 安装依赖:在仓库根目录执行依赖安装命令。
- 构建与运行:将 TypeScript 代码编译为可执行 JavaScript,然后启动服务器(默认通过标准输入输出传输)。命令示例(具体请以项目实际打包方式为准):先编译再运行,生成的可执行入口通常位于 dist/index.js,然后用 node dist/index.js 启动。
-
服务器配置
- MCP 客户端在连接前需要服务器配置信息(以 JSON 格式提供服务器启动信息),包含服务器名称、启动命令以及参数示例。以下为基于仓库信息的准确示例描述: { "serverName": "simple-mcp-server", "command": "node", "args": ["dist/index.js"] } 注释:
- serverName:服务器在 MCP 客户端环境中的唯一标识,建议与仓库中使用的名称保持一致。
- command:启动服务器所使用的可执行程序,在本实现中为 Node.js 运行时。
- args:启动命令的参数,通常指向已经构建好的入口文件(如 dist/index.js)。 说明:MCP 客户端不需要了解服务器内部实现细节,只依赖该配置中的启动信息来建立连接。
-
基本使用方法
- 启动后,客户端可以通过 JSON-RPC 请求调用已注册的工具,例如 search_characters、search_planets、search_films 以及按 ID 的 search_characters_byId。
- 客户端也可以通过资源接口访问 all_films 等数据资源,以获取整理好的信息集合。
- 集成时请遵循 MCP 的约定,将请求发送到服务器对应的传输通道(本实现使用标准输入输出传输)。