使用说明(Markdown 格式)
项目简介
- 该仓库实现了一个 MCP 服务器,能够托管资源、注册并执行工具、定义并渲染提示模板,并通过多种传输协议(stdio、web/REST+WebSocket、SSE 等)与 MCP 客户端进行通信。
主要功能点
- 资源管理(Resources):注册并提供资源读取能力,例如 search://{keyword} 的动态资源。
- 工具注册与执行(Tools):提供 GetData、MacOs 打开应用等工具,并支持输入校验与返回结构化的 content。
- 提示模板(Prompts):注册 echo 等示例提示,向 LLM 客户端返回标准化的消息序列。
- 多传输协议支持:stdio 传输(通过子进程通信)、Web 传输(HTTP/JSON-RPC,带会话管理、SSE、Streamable HTTP)。
- 会话与身份管理:内置会话机制,支持针对不同会话的流式传输与请求处理。
- 自动化测试示例:包含针对工具、资源、提示的 Vitest 测试用例,帮助验证服务器行为。
安装步骤
- 安装依赖:在本地克隆仓库后,执行依赖安装命令。
- 构建运行:将 TypeScript 代码编译为可执行的 Node.js 入口,生成 build/index.js。
- 运行模式选择:
- stdio 模式:通过标准输入/输出与 MCP 客户端通信,启动后可接受来自客户端的 JSON-RPC 请求。
- web 模式:启动一个 HTTP/Express 服务,提供 /mcp、/sse 等端点供 MCP 客户端连接与通信。
服务器配置 MCP 客户端需要知道如何启动本 MCP 服务器。以下给出基于仓库信息的示例配置(以 JSON 表示,便于在客户端配置中直接使用;客户端本身并不需要这些代码片段)。
- 服务器名称: computer-mcp-server
- 启动命令与参数(示例,客户端配置中仅需知道如何启动服务器即可):
- 命令: npx
- 参数: -y computer-mcp-server
- 在 Mac 系统的配置示例(JSON): { "mcpServers": { "computer-mcp-server": { "command": "npx", "args": [ "-y", "computer-mcp-server" ] } } }
- 在 Windows 系统的配置示例(JSON): { "mcpServers": { "computer-mcp-server": { "command": "cmd", "args": [ "/c", "npx", "-y", "computer-mcp-server" ] } } }
基本使用方法
- 启动方式选择
- stdio 模式:适用于本地测试与集成,使用命令行启动生成的 build/index.js,传递 stdio 传输参数。
- web 模式:通过 Express 提供 HTTP 端点来与 MCP 客户端交互,适合云端或前端代理场景。
- 快速验证步骤
- 编译并运行服务(生成可执行入口后,选择 stdio 或 web 模式)。
- 使用 MCP 客户端连接:可通过 GetData、Find Resource、执行工具等接口向服务器请求数据与操作。
- 验证工具、资源、提示的返回结果是否与预期一致(如 GetData 在不同 keyword 的返回、搜索资源的内容、echo 提示的输出等)。
注意事项
- 该实现基于 @modelcontextprotocol/sdk 提供的服务端能力,包含资源、工具、提示的注册与执行逻辑。
- 获取应用信息、资源、以及工具输出都遵循 MCP 的统一格式,便于与大模型对接与执行链路整合。
- 部署时请根据实际运行环境选择合适的传输模式(stdio 适合本地开发与测试,web 适合服务化接入)。
关键词 AI上下文服务, 资源管理, 工具执行, Prompts 渲染, Node.js 服务
分类ID 6
信息
分类
AI与计算