
Security News
Ruby's Bundler 4.0.18 Extends Cooldown to bundle lock and bundle cache
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.
@runframe/mcp-server
Advanced tools
MCP server for Runframe incident management — any agent, any IDE, one system of record
Runframe is Slack-native incident management & on-call scheduling for engineering teams. This MCP server lets you manage the full incident lifecycle from your IDE or AI agent.
16 tools covering incidents, on-call, services, postmortems, and teams. Requires Node.js 20+.
npx, no server to deploy for local useYour IDE / Agent
↓ (stdio or HTTP)
MCP Server (this package)
↓ (HTTPS, scoped API key)
Runframe API
The server is stateless. It translates MCP tool calls into Runframe API requests, scoped by your API key permissions. No data is stored locally.
Ask your agent:
runframe_acknowledge_incidentrunframe_get_current_oncallrunframe_create_postmortemrunframe_page_someonerunframe_list_incidents with severity filterGet your API key from Runframe Settings, then add to your agent:
Claude Code:
claude mcp add runframe -e RUNFRAME_API_KEY=rf_your_key_here -- npx -y @runframe/mcp-server
Cursor (~/.cursor/mcp.json) · VS Code (.vscode/mcp.json) · Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"runframe": {
"command": "npx",
"args": ["-y", "@runframe/mcp-server"],
"env": { "RUNFRAME_API_KEY": "rf_your_key_here" }
}
}
}
Other MCP clients: Add the JSON config above to your client's MCP config file.
Interactive setup wizard:
npx @runframe/mcp-server --setup
| Variable | Required | Default | Description |
|---|---|---|---|
RUNFRAME_API_KEY | Yes | — | API key (starts with rf_) |
RUNFRAME_API_URL | No | https://runframe.io | API base URL |
MCP_ACCESS_TOKEN | HTTP only | — | Bearer token for HTTP transport. Comma-separated for rotation (new_token,old_token). |
stdio (default) — used by MCP clients like Claude Code and Cursor. No network exposure. This is what the install commands above configure.
Streamable HTTP — for containerized or remote deployments. Requires MCP_ACCESS_TOKEN for bearer auth:
RUNFRAME_API_KEY=rf_... \
MCP_ACCESS_TOKEN=your_token \
npx @runframe/mcp-server --transport http --port 3100 --host 127.0.0.1
Responsibility is split across three boundaries:
RUNFRAME_API_KEY.The server stores nothing. It is a pass-through to the Runframe API.
| Tool | Scopes | Description |
|---|---|---|
runframe_list_incidents | read:incidents | List incidents with filters and pagination |
runframe_get_incident | read:incidents | Get incident by ID or number |
runframe_create_incident | write:incidents | Create an incident |
runframe_update_incident | write:incidents | Update title, description, severity, or assignment |
runframe_change_incident_status | write:incidents | Move to a new status (new, investigating, fixing, monitoring, resolved, closed) |
runframe_acknowledge_incident | write:incidents | Acknowledge (auto-assigns, tracks SLA) |
runframe_add_incident_event | write:incidents | Add a timeline entry |
runframe_escalate_incident | write:incidents | Escalate to the next policy level |
runframe_page_someone | write:incidents | Page a responder via Slack or email |
| Tool | Scopes | Description |
|---|---|---|
runframe_get_current_oncall | read:oncall | Who is on call right now |
| Tool | Scopes | Description |
|---|---|---|
runframe_list_services | read:services | List services |
runframe_get_service | read:services | Get service details |
| Tool | Scopes | Description |
|---|---|---|
runframe_create_postmortem | write:postmortems | Create a postmortem |
runframe_get_postmortem | read:postmortems | Get postmortem for an incident |
| Tool | Scopes | Description |
|---|---|---|
runframe_list_teams | read:teams | List teams |
runframe_get_escalation_policy | read:oncall | Get escalation policy for a severity level |
The Docker image runs HTTP transport by default on port 3100:
docker build -t runframe-mcp-server .
docker run -e RUNFRAME_API_KEY=rf_... -e MCP_ACCESS_TOKEN=your_token -p 3100:3100 runframe-mcp-server
HTTP mode is meant for private networks. If you put it on the internet:
MCP_ACCESS_TOKEN regularly. Pass old and new tokens comma-separated for zero-downtime swaps.The Runframe API enforces rate limits server-side. If you hit a limit, tools return a 429 error with a retry hint. For HTTP transport deployments, your reverse proxy can add additional request-level throttling.
MCP_ACCESS_TOKEN accepts comma-separated tokens:
MCP_ACCESS_TOKEN=new_token,old_tokennew_tokenMCP_ACCESS_TOKEN=new_tokenIssues and PRs welcome at github.com/runframe/runframe-mcp-server.
FAQs
MCP server for Runframe incident management — any agent, any IDE, one system of record
The npm package @runframe/mcp-server receives a total of 54 weekly downloads. As such, @runframe/mcp-server popularity was classified as not popular.
We found that @runframe/mcp-server demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.

Company News
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.