使用说明(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与计算