CHIM MCP Server
Provides tools for managing change notifications, outages, and retrospective reports in CHIM, a Cisco change-management system.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CHIM MCP Server Show change freeze status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CHIM MCP Server
A Model Context Protocol server that exposes CHIM change-management workflows (changes, outages, retros, and change freeze status) as MCP tools. Register this server with VS Code Copilot, Claude Desktop, or any MCP-compatible agent to query or update CHIM directly from your AI assistant.
🚀 Quick Start
See INSTALL.md for complete installation instructions covering:
✅ VS Code + GitHub Copilot
✅ Claude Desktop
✅ Standalone command line
✅ Configuration options
Quick setup (30 seconds):
# 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" ✨Related MCP server: freshservice-mcp
Prerequisites
Node.js 18+ (the server relies on the global
fetchimplementation)A CHIM API key - generate one in the CHIM UI following the API key guide
Configuration
Variable | Default | Description |
| (required) | API key sent as |
|
| Base URL for the CHIM API (set to |
|
| Overrides the |
You can also store configuration in ~/.config/chim-mcp/config.json:
{
"apiKey": "your-key",
"baseUrl": "https://api.chim.umbrella.com",
"userAgent": "chim-mcp/0.1.0"
}Environment variables take precedence over the user-level config file.
Development
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 startAvailable tools
Tool | Endpoint | Purpose |
| local | Stores the API key and optional overrides in |
|
| Returns the global and per-suite change-freeze status documented in |
|
| Lists change notifications (supports |
|
| Creates a change notification. Pass the request body defined in |
|
| Lists incidents/outages (same pagination parameters as |
|
| Creates an outage notification using the payload described in the guide. |
|
| Lists retrospective reports for completed incidents/changes. |
The create tools accept either:
payloadas a raw JSON string, orpayloadas a structured object (when the calling agent supports complex tool arguments).
Set dry_run: true to have the server validate/echo the payload without sending it to CHIM—handy while drafting.
Testing
Unit Tests
Run the test suite with:
npm test # Run tests once
npm run test:watch # Run tests in watch mode
npm run test:coverage # Run tests with coverage reportManual Testing with JSON-RPC
You can test the server manually by piping JSON-RPC messages:
# 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 devExtending the interface
Review the upstream docs and schema links inside
docs/cloudsec/docs/CHIM/api/**. The OpenAPI description is linked inoverview.md.Add a helper in
src/server.tsthat calls the desired CHIM endpoint using the sharedChimClient.Register a new tool with a
zodschema to keep inputs validated.Re-run
npm run buildso the emitted JS indist/stays in sync.
The project keeps the MCP implementation small and framework-free, so adding additional CHIM endpoints (pagerduty helpers, key management, etc.) only requires a few lines per tool.
Publishing
To publish a new version:
npm version patch # or minor/major
npm publish --access publicLicense
MIT
Available Tools
7 toolschim_create_changeB
Creates a Change notification (POST /api/v1/changes/). Provide the payload documented in the CHIM API guide.
Inputs: payload (required), dry_run.
chim_create_outageA
Creates an Incident/Outage notification (POST /api/v1/outages/). Provide the payload documented in the CHIM API guide.
Inputs: payload (required), dry_run.
chim_get_change_freeze_statusA
Returns the change-freeze status for CHIM and each product suite (GET /api/status/).
Inputs: no named parameters.
chim_list_changesA
Lists change notifications (GET /api/v1/changes/). Supports pagination query params.
Inputs: page, search, page_size.
chim_list_outagesA
Lists incident/outage notifications (GET /api/v1/outages/). Supports pagination query params.
Inputs: page, search, page_size.
chim_list_retrosA
Lists retrospectives created in CHIM (GET /api/v1/retros/). Supports pagination query params.
Inputs: page, search, page_size.
chim_save_api_keyB
Stores the CHIM API key in the user config file (~/.config/chim-mcp/config.json).
Inputs: api_key (required), base_url, user_agent.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool targets a clearly distinct resource and action: status, API key, change list/create, outage list/create, and retro list. There is no meaningful overlap between any pair of tools.
All tools follow a consistent chim_ prefix and use a verb_noun pattern (get, save, list, create). The only minor inconsistency is that 'get' is used for status while separate list operations are used for resources, but this is understandable and not chaotic.
Seven tools is a well-scoped size for a CHIM notification server covering status, authentication, and three resource types. Each tool serves a distinct purpose without bloat or obvious omissions.
The tool surface is incomplete for the apparent domain: changes and outages only have list and create, lacking update, delete, and get single. Retrospectives are only listable, with no create or management. This leaves significant operational gaps.
Maintenance
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Your company's AI assistants, agents, workflows and knowledge bases from Orckai, as MCP tools.
Find, vet, and run MCP tools through a secure audited gateway with prompt-injection risk scoring
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides tools for AI assistants to interact with JIRA APIs, enabling them to read, create, update, and manage JIRA issues through standardized MCP tools.610 npm3MIT
- AlicenseAqualityCmaintenanceEnables AI models to perform IT service management operations on Freshservice, including managing tickets, changes, problems, releases, assets, projects, and more through a set of MCP tools.362MIT
- AlicenseNot gradedqualityBmaintenanceEnables managing cron jobs, maintenance windows, and settings through natural language by exposing the Cronmanager REST API as MCP tools for LLM clients like Claude.GPL 3.0
- AlicenseAqualityDmaintenanceExposes Azure AI Foundry agents, workflows, and AI Search vector-database capabilities as MCP tools, enabling natural language interaction with agents, semantic search, and index management.102MIT