A Model Context Protocol server for Rootly APIs using OpenAPI spec
Project description
Rootly MCP Server
An MCP server for Rootly API that you can plug into your favorite MCP-compatible editors like Cursor, Windsurf, and Claude. Resolve production incidents in under a minute without leaving your IDE.
Prerequisites
- Python 3.12 or higher
uv
package managercurl -LsSf https://astral.sh/uv/install.sh | sh
- Rootly API token
Run it in your IDE
Install with our PyPi package or by cloning this repo.
To set it up in your favorite MCP-compatible editor (we tested it with Cursor and Windsurf), here is the config :
{
"mcpServers": {
"rootly": {
"command": "uvx",
"args": [
"--from",
"rootly-mcp-server",
"rootly-mcp-server"
],
"env": {
"ROOTLY_API_TOKEN": "<YOUR_ROOTLY_API_TOKEN>"
}
}
}
}
If you want to customize allowed_paths
to access more Rootly API paths, clone the package and use this config.
{
"mcpServers": {
"rootly": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/rootly-mcp-server",
"rootly-mcp-server"
],
"env": {
"ROOTLY_API_TOKEN": "<YOUR_ROOTLY_API_TOKEN>"
}
}
}
}
Features
This server dynamically generates MCP resources based on Rootly's OpenAPI (Swagger) specification:
- Dynamically generated MCP tools based on Rootly's OpenAPI specification
- Default pagination (10 items) for incident endpoints to prevent context window overflow
- Limits the number of API paths exposed to the AI agent
We limited the number of API paths exposed for 2 reasons
- Context size: because Rootly's API is very rich in paths, AI agents can get overwhelmed and not perform simple actions properly. As of now we only expose the /incidents and /incidents/{incident_id}/alerts.
- Security: if you want to limit the type of information or actions that users can access through the MCP server
If you want to make more path available, edit the variable allowed_paths
in src/rootly_mcp_server/server.py
.
Disclaimer
This project is a prototype and not intended for production use. If you have featured ideas or spotted some issues, feel free to submit a PR or open an issue.
About the Rootly AI Labs
This project was developed by the Rootly AI Labs. The AI Labs is building the future of system reliability and operational excellence. We operate as an open-source incubator, sharing ideas, experimenting, and rapidly prototyping. We're committed to ensuring our research benefits the entire community.
Developer Setup & Troubleshooting
1. Install dependencies with uv
This project uses uv
for fast dependency management. To install all dependencies from your pyproject.toml
:
uv pip install .
2. Using a virtual environment
It is recommended to use a virtual environment for development:
uv venv .venv
source .venv/bin/activate
3. Running the test client
To run the test client and verify your setup:
python test_mcp_client.py
5. General tips
- Always activate your virtual environment before running scripts.
- If you add new dependencies, use
uv pip install <package>
to keep your environment up to date. - If you encounter issues, check your Python version and ensure it matches the project's requirements.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file rootly_mcp_server-1.0.0.tar.gz
.
File metadata
- Download URL: rootly_mcp_server-1.0.0.tar.gz
- Upload date:
- Size: 6.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
ae49122b8561ecb845a1f528319556c5484e8638327505e35776448980e29c63
|
|
MD5 |
1980bcee1ecb35bd9b5d527e96ab4ada
|
|
BLAKE2b-256 |
9f355a248d00355b0691e4af1e32312bb60770dac924d009d35c67df11a08a47
|
File details
Details for the file rootly_mcp_server-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: rootly_mcp_server-1.0.0-py3-none-any.whl
- Upload date:
- Size: 133.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
cdcf01b87dfb5609f3976b4e5ea084b7999a14c325165e1f45b21bcb2e03c645
|
|
MD5 |
c2b30978e8e7cf344b276568e1ebfa9c
|
|
BLAKE2b-256 |
f85a84bdde57a9a412b1e2b9a833d907448882076687e779603d1af93d781cff
|