rootly-mcp-server 1.0.0__py3-none-any.whl → 2.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- rootly_mcp_server/__init__.py +1 -1
- rootly_mcp_server/__main__.py +78 -10
- rootly_mcp_server/client.py +40 -26
- rootly_mcp_server/routemap_server.py +206 -0
- rootly_mcp_server/server.py +439 -365
- rootly_mcp_server/test_client.py +128 -47
- rootly_mcp_server-2.0.1.dist-info/METADATA +225 -0
- rootly_mcp_server-2.0.1.dist-info/RECORD +12 -0
- rootly_mcp_server/data/swagger.json +0 -1
- rootly_mcp_server-1.0.0.dist-info/METADATA +0 -128
- rootly_mcp_server-1.0.0.dist-info/RECORD +0 -12
- {rootly_mcp_server-1.0.0.dist-info → rootly_mcp_server-2.0.1.dist-info}/WHEEL +0 -0
- {rootly_mcp_server-1.0.0.dist-info → rootly_mcp_server-2.0.1.dist-info}/entry_points.txt +0 -0
- {rootly_mcp_server-1.0.0.dist-info → rootly_mcp_server-2.0.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: rootly-mcp-server
|
|
3
|
-
Version: 1.0.0
|
|
4
|
-
Summary: A Model Context Protocol server for Rootly APIs using OpenAPI spec
|
|
5
|
-
Project-URL: Homepage, https://github.com/Rootly-AI-Labs/Rootly-MCP-server
|
|
6
|
-
Project-URL: Issues, https://github.com/Rootly-AI-Labs/Rootly-MCP-server/issues
|
|
7
|
-
Author-email: Rootly AI Labs <support@rootly.com>
|
|
8
|
-
License-Expression: Apache-2.0
|
|
9
|
-
License-File: LICENSE
|
|
10
|
-
Keywords: automation,incidents,llm,mcp,rootly
|
|
11
|
-
Classifier: Development Status :: 4 - Beta
|
|
12
|
-
Classifier: Intended Audience :: Developers
|
|
13
|
-
Classifier: Programming Language :: Python :: 3
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
15
|
-
Classifier: Topic :: Software Development :: Build Tools
|
|
16
|
-
Requires-Python: >=3.12
|
|
17
|
-
Requires-Dist: mcp>=1.1.2
|
|
18
|
-
Requires-Dist: pydantic>=2.0.0
|
|
19
|
-
Requires-Dist: requests>=2.28.0
|
|
20
|
-
Provides-Extra: dev
|
|
21
|
-
Requires-Dist: black>=23.0.0; extra == 'dev'
|
|
22
|
-
Requires-Dist: isort>=5.0.0; extra == 'dev'
|
|
23
|
-
Description-Content-Type: text/markdown
|
|
24
|
-
|
|
25
|
-
# Rootly MCP Server
|
|
26
|
-
|
|
27
|
-
An MCP server for [Rootly API](https://docs.rootly.com/api-reference/overview) 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.
|
|
28
|
-
<br>
|
|
29
|
-
<br>
|
|
30
|
-
|
|
31
|
-

|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
## Prerequisites
|
|
35
|
-
|
|
36
|
-
- Python 3.12 or higher
|
|
37
|
-
- `uv` package manager
|
|
38
|
-
```bash
|
|
39
|
-
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
40
|
-
```
|
|
41
|
-
- [Rootly API token](https://docs.rootly.com/api-reference/overview#how-to-generate-an-api-key%3F)
|
|
42
|
-
|
|
43
|
-
## Run it in your IDE
|
|
44
|
-
Install with our [PyPi package](https://pypi.org/project/rootly-mcp-server/) or by cloning this repo.
|
|
45
|
-
|
|
46
|
-
To set it up in your favorite MCP-compatible editor (we tested it with Cursor and Windsurf), here is the config :
|
|
47
|
-
```json
|
|
48
|
-
{
|
|
49
|
-
"mcpServers": {
|
|
50
|
-
"rootly": {
|
|
51
|
-
"command": "uvx",
|
|
52
|
-
"args": [
|
|
53
|
-
"--from",
|
|
54
|
-
"rootly-mcp-server",
|
|
55
|
-
"rootly-mcp-server"
|
|
56
|
-
],
|
|
57
|
-
"env": {
|
|
58
|
-
"ROOTLY_API_TOKEN": "<YOUR_ROOTLY_API_TOKEN>"
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
```
|
|
64
|
-
If you want to customize `allowed_paths` to access more Rootly API paths, clone the package and use this config.
|
|
65
|
-
```json
|
|
66
|
-
{
|
|
67
|
-
"mcpServers": {
|
|
68
|
-
"rootly": {
|
|
69
|
-
"command": "uv",
|
|
70
|
-
"args": [
|
|
71
|
-
"run",
|
|
72
|
-
"--directory",
|
|
73
|
-
"/path/to/rootly-mcp-server",
|
|
74
|
-
"rootly-mcp-server"
|
|
75
|
-
],
|
|
76
|
-
"env": {
|
|
77
|
-
"ROOTLY_API_TOKEN": "<YOUR_ROOTLY_API_TOKEN>"
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
## Features
|
|
85
|
-
This server dynamically generates MCP resources based on Rootly's OpenAPI (Swagger) specification:
|
|
86
|
-
- Dynamically generated MCP tools based on Rootly's OpenAPI specification
|
|
87
|
-
- Default pagination (10 items) for incident endpoints to prevent context window overflow
|
|
88
|
-
- Limits the number of API paths exposed to the AI agent
|
|
89
|
-
|
|
90
|
-
We limited the number of API paths exposed for 2 reasons
|
|
91
|
-
* Context size: because [Rootly's API](https://docs.rootly.com/api-reference/overview) is very rich in paths, AI agents can get overwhelmed and not perform simple actions properly. As of now we only expose the [/incidents](https://docs.rootly.com/api-reference/incidents/list-incidents) and [/incidents/{incident_id}/alerts](https://docs.rootly.com/api-reference/incidentevents/list-incident-events).
|
|
92
|
-
* Security: if you want to limit the type of information or actions that users can access through the MCP server
|
|
93
|
-
|
|
94
|
-
If you want to make more path available, edit the variable `allowed_paths` in `src/rootly_mcp_server/server.py`.
|
|
95
|
-
|
|
96
|
-
## Disclaimer
|
|
97
|
-
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.
|
|
98
|
-
|
|
99
|
-
## About the Rootly AI Labs
|
|
100
|
-
This project was developed by the [Rootly AI Labs](https://labs.rootly.ai/). 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.
|
|
101
|
-

|
|
102
|
-
|
|
103
|
-
## Developer Setup & Troubleshooting
|
|
104
|
-
|
|
105
|
-
### 1. Install dependencies with `uv`
|
|
106
|
-
This project uses [`uv`](https://github.com/astral-sh/uv) for fast dependency management. To install all dependencies from your `pyproject.toml`:
|
|
107
|
-
```bash
|
|
108
|
-
uv pip install .
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
### 2. Using a virtual environment
|
|
112
|
-
It is recommended to use a virtual environment for development:
|
|
113
|
-
```bash
|
|
114
|
-
uv venv .venv
|
|
115
|
-
source .venv/bin/activate
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
### 3. Running the test client
|
|
119
|
-
To run the test client and verify your setup:
|
|
120
|
-
```bash
|
|
121
|
-
python test_mcp_client.py
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
### 5. General tips
|
|
125
|
-
- Always activate your virtual environment before running scripts.
|
|
126
|
-
- If you add new dependencies, use `uv pip install <package>` to keep your environment up to date.
|
|
127
|
-
- If you encounter issues, check your Python version and ensure it matches the project's requirements.
|
|
128
|
-
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
rootly_mcp_server/__init__.py,sha256=n-YajkwxYg0eoVvtYfYTY6slaktHTYvQbasg15HwGKo,628
|
|
2
|
-
rootly_mcp_server/__main__.py,sha256=yVbn4s2WGDy7ASbcLULMi2ro4Qt6WgVZbHVD0p0ibrs,4311
|
|
3
|
-
rootly_mcp_server/client.py,sha256=bUi_2WJl_w4kAAyuD18Mu0O_EPJ1VrvqxQAkPWQQKc0,4521
|
|
4
|
-
rootly_mcp_server/server.py,sha256=sq8kksmDY_4DpSGVVQoTi6yNBZFA5TWmtqLMUhbeM7Y,17656
|
|
5
|
-
rootly_mcp_server/test_client.py,sha256=xFQ4cfUpD6qs-aLidy56B3nnV38EFvUe_eBHOqZOC9o,2191
|
|
6
|
-
rootly_mcp_server/data/__init__.py,sha256=fO8a0bQnRVEoRMHKvhFzj10bhoaw7VsI51czc2MsUm4,143
|
|
7
|
-
rootly_mcp_server/data/swagger.json,sha256=8Ag4COTnS3WSC6vBaa2Q7hq3RxIQ8fGrmwsnNSnPheA,2046619
|
|
8
|
-
rootly_mcp_server-1.0.0.dist-info/METADATA,sha256=6M05t9v0v2WT_eTHqCI4cqCBEOC9_WjIV8SweLPbZYE,4883
|
|
9
|
-
rootly_mcp_server-1.0.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
10
|
-
rootly_mcp_server-1.0.0.dist-info/entry_points.txt,sha256=NE33b8VgigVPGBkboyo6pvN1Vz35HZtLybxMO4Q03PI,70
|
|
11
|
-
rootly_mcp_server-1.0.0.dist-info/licenses/LICENSE,sha256=c9w9ZZGl14r54tsP40oaq5adTVX_HMNHozPIH2ymzmw,11341
|
|
12
|
-
rootly_mcp_server-1.0.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|