变更管理协议服务器

CHIM MCP服务器是一个将CHIM变更管理工作流(变更、中断、回顾和变更冻结状态)暴露为MCP工具的服务,可通过VS Code Copilot或Claude Desktop等MCP兼容代理进行查询或更新。

  • by abhchoug
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 abhchoug/chim-mcp

使用说明

CHIM MCP服务器

A. 模型上下文协议 该服务器将詹变更管理工作流(变更、中断、回退和变更冻结状态)作为MCP工具公开。在VS Code Copilot、Claude Desktop或任何与MCP兼容的代理中注册此服务器,以便直接从您的AI助手查询或更新詹。

🚀 快速开始

看 安装.md 有关完整的安装说明,包括:

  • ✅ VS代码+GitHub副本
  • ✅ 克劳德桌面
  • ✅ 独立命令行
  • ✅ 配置选项

快速设置(30秒):

# 1. Clone and build
git clone https://github.com/abhchoug/chim-mcp.git
cd chim-mcp
npm install && npm run build

# 2. Add full path to your MCP config
# VS Code: ~/Library/Application Support/Code/User/mcp.json
# Claude: ~/Library/Application Support/Claude/claude_desktop_config.json
# (see INSTALL.md for exact configuration)

# 3. Set API key
export CHIM_API_KEY=your-key
# OR create ~/.config/chim-mcp/config.json with {"apiKey": "your-key"}

# 4. Reload VS Code or restart Claude Desktop

# 5. Try: "List my CHIM changes" ✨

先决条件

  • Node.js 18+(服务器依赖于全局 fetch 实施)
  • 一个CHIM API键-在CHIM UI中生成一个 API关键指南

配置

变量 默认值 描述
CHIM_API_KEY (必填) API密钥作为发送 Authorization: Api-Key ….
CHIM_API_BASE_URL https://api.chim.umbrella.com CHIM API的基本URL(设置为 https://api.stage.chim.umbrella.com 舞台)。
CHIM_API_USER_AGENT chim-mcp/0.1.0 覆盖 User-Agent 如果您需要标识您的自动化,请使用header。

您还可以将配置存储在 ~/.config/chim-mcp/config.json:

{
  "apiKey": "your-key",
  "baseUrl": "https://api.chim.umbrella.com",
  "userAgent": "chim-mcp/0.1.0"
}

环境变量优先于用户级配置文件。

发展

git clone https://github.com/cisco-sbg/chim-mcp.git
cd chim-mcp
npm install

# Run in development mode (TypeScript directly)
npm run dev

# Build and run production
npm run build
npm start

可用工具

工具 端点 目的
chim_save_api_key 本地 将API密钥和可选重写存储在 ~/.config/chim-mcp/config.json.
chim_get_change_freeze_status GET /api/status/ 返回中记录的全局和每个套件的更改冻结状态 api_status.md.
chim_list_changes GET /api/v1/changes/ 列出更改通知(支持 page, page_size,以及 search 查询参数)。
chim_create_change POST /api/v1/changes/ 创建更改通知。传递中定义的请求正文 guide.md 里面 payload 争论。
chim_list_outages GET /api/v1/outages/ 列出事件/中断(与相同的分页参数 /changes/).
chim_create_outage POST /api/v1/outages/ 使用指南中描述的有效载荷创建停机通知。
chim_list_retros GET /api/v1/retros/ 列出已完成事件/变更的回顾性报告。

创建工具接受以下任一方式:

  • payload 作为原始JSON字符串,或
  • payload 作为结构化对象(当调用代理支持复杂的工具参数时)。

集 dry_run: true 让服务器验证/回显有效负载,而不将其发送给CHIM——在起草时很方便。

测试

单元测试

使用以下命令运行测试套件:

npm test              # Run tests once
npm run test:watch    # Run tests in watch mode
npm run test:coverage # Run tests with coverage report

JSON-RPC手动测试

您可以通过管道JSON-RPC消息手动测试服务器:

# List tools
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | npm run dev

# Call a tool (e.g., list changes with search)
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"chim_list_changes","arguments":{"search":"your-username"}}}' | npm run dev

扩展接口

  1. 查看内部的上游文档和模式链接 docs/cloudsec/docs/CHIM/api/**OpenAPI描述链接在 overview.md.
  2. 在中添加助手 src/server.ts 使用共享调用所需的詹端点 ChimClient.
  3. 使用注册新工具 zod 模式,以保持输入的有效性。
  4. 重新运行 npm run build 因此,在 dist/ 保持同步。

该项目保持了MCP实现的小型化和无框架化,因此添加额外的詹端点(寻呼机任务助手、密钥管理等)只需要每个工具几行。

出版

要发布新版本,请执行以下操作:

npm version patch  # or minor/major
npm publish --access public

许可证

麻省理工学院