now-sdk-ext-mcp
- 使用说明
- 项目简介
- 本仓库实现了一个基于 MCP 的后端服务器,用于向大语言模型客户端(如 Claude、VS Code、Cursor 等)提供结构化的上下文、数据访问能力以及外部工具执行能力。服务器端通过 JSON-RPC 与客户端通信,支持会话管理、能力声明以及多种传输协议(如标准输入输出、SSE、WebSocket),为 LLM 应用提供安全、可扩展的服务端上下文。
- 主要功能点
- MCP 协议的服务器端实现:能够处理初始化握手、工具查询与调用等 JSON-RPC 请求,返回规范化的响应。
- 资源与数据访问:通过 ServiceNow 的 Table API / 字段字典等接口提供资源数据访问能力。
- 工具注册与执行:大量与 ServiceNow 集成相关的工具(如执行脚本、ATF 测试、CMDB/查询、知识库、代码搜索等)可以注册到 MCP 服务器,并通过 MCP 客户端调用。
- Prompts 与渲染:支持通过提示模板渲染输出,便于 LLM 将结果以可读文本形式呈现给用户。
- 多实例与认证缓存:内置缓存的 ServiceNow 会话,支持多实例并通过现成的凭证存储进行认证,具备自动重试与错误处理能力。
- 安装步骤
- 克隆仓库
- 安装依赖并构建
- 安装依赖后执行构建,将 TypeScript 编译为 dist 目录下的可执行文件
- 运行服务器
- 运行 node dist/index.js 启动服务端,服务器将通过标准输入输出进行 MCP JSON-RPC 通信
- 服务器配置(MCP 客户端所需的配置信息)
- MCP 客户端需要配置一个启动服务器的命令及参数,以便与 MCP 服务器建立连接。以下为示例配置信息,描述了服务器名称、启动命令、以及参数等字段,实际使用时请将命令路径和工作目录替换为你的环境中的实际路径: { "servers": { "now-service-now-mcp": { "name": "now-sdk-ext-mcp", "command": "node", "args": ["dist/index.js"], "workingDirectory": "<your_project_root>", "env": { // 可选:若需要指定默认的 ServiceNow 实例别名,请设置 // "SN_AUTH_ALIAS": "dev224436" } } } } 注:以上配置仅用于 MCP 客户端启动服务器的示例,实际使用中请将路径替换为你本地或部署环境中的实际路径。
- 基本使用方法
- 构建与启动
- 安装依赖、构建项目后,使用 Node 运行 dist/index.js 启动服务器。
- 连接客户端
- 使用 Claude Desktop、VS Code、Cursor 等 MCP 客户端,按照客户端文档配置服务器连接信息(参考上面的 JSON 示例)。
- 运行工具
- 服务器开启后,客户端可以请求工具列表、调用具体工具并获得输出文本格式的结果。
- 调试与日志
- 服务器输出和错误信息会通过标准错误输出,便于在 MCP Inspector 等工具中查看通信过程与调试信息。
- 构建与启动
- 项目简介