MCP_NodeServer – Model Context Protocol 后端服务器

使用说明内容(Markdown格式)

MCP_NodeServer 使用指南

项目简介

本仓库实现了一个基于 MCP 的后端服务器,核心功能包括:

  • 资源(Resources)管理:通过工具模块操作本地文件系统、数据库、Excel 文件等资源;
  • 工具(Tools)注册与执行:统一入口调用各工具实现具体业务逻辑;
  • Prompt 模板(Prompts)渲染与渲染结果提供:通过 Skill/Prompt 的定义与 GetPrompt 接口输出可用的对话提示;
  • 与 MCP 客户端的通信:使用 JSON-RPC 风格的请求/响应,默认传输通道为 Stdio,未来可扩展为 SSE、WebSocket 等。

主要功能点

  • 模块化工具体系:filesystem、php、database、excel、bookmarks 等工具均暴露统一的定义和 handle(name, args) 接口,便于扩展新工具;
  • Skill 与 Prompts:Skills 以 Markdown 描述,通过 skills/index.js 提供 Prompt 内容读取与替换,便于把复杂能力以对话形式暴露给 LLM;
  • 安全与路径控制:通过 resolveSecurePath 限制访问 basePath 内的目录,并提供运行时白名单机制以放行必要路径;
  • MCP 服务器实现:使用 @modelcontextprotocol/sdk 提供的 Server、Transport、请求路由机制,完成标准 MCP 服务端职责;
  • 多传输支持:当前示例使用 StdioTransport,未来可扩展为 WebSocket、SSE、HTTP 等传输。

安装步骤

  1. 安装依赖
    • 在项目根目录执行:npm install
  2. 启动 MCP 服务器
    • 运行命令:node index.js
    • 服务器启动后将监听并通过标准输入输出(stdio)与 MCP 客户端对接

服务器配置(MCP 客户端使用配置示例)

MCP 客户端需要配置 MCP 服务器的启动信息,确保能够通过提供的命令和参数启动服务。以下为准确的配置示例(以 JSON 表示,描述服务器名称、启动命令及参数): { "serverName": "project-migration-assistant-pro", "config": { "type": "stdio", "command": "node", "args": ["index.js"] }, "notes": [ "该配置用于 Claude Code(或其他 MCP 客户端)通过标准输入输出与 MCP 服务器通信。", "若将来扩展成其他传输,需相应调整 type、command、args。", "在 Windows 下使用时,请确保 index.js 的路径正确,必要时将路径改为完整路径,例如 C:\path\to\MCP_NodeServer\index.js" ] }

重要说明

  • 客户端不需要理解内部实现细节,仅需知道如何启动 MCP 服务器(上例中的 command 与 args 即可)。
  • 本仓库的默认启动方式是通过 node index.js,在同级目录直接执行即可运行服务器。

基本使用方法

  • 常用请求类型
    • 列出可用工具:ListTools
    • 调用工具:CallTool(按 tool 名称及参数执行)
    • 获取 Prompts 列表:ListPrompts
    • 获取单个 Prompt 内容:GetPrompt
  • 与工具交互要点
    • 工具通过统一的 handle(name, args) 接口实现,出现错误时会返回带有错误信息的文本内容
    • 工具集合遵循 TOOL_MODULES 的顺序逐个匹配名称并执行
  • 安全与扩展
    • 新增 Tool:实现新的工具模块并把它加入 TOOL_MODULES
    • 新增 Skill/Prompt:在 skills 目录下创建/修改 MD 文件,并在 skillFactory/skills 索引中注册

如需将服务器接入 Claude Code 或其他 MCP 客户端,请按上述配置在客户端进行设置并通过 MCP 的 JSON-RPC 方式进行调用。

服务器信息