rootly-mcp-server 2.0.5__tar.gz → 2.0.8__tar.gz
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-2.0.5 → rootly_mcp_server-2.0.8}/.github/workflows/pypi-release.yml +3 -2
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/.gitignore +5 -1
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/Dockerfile +3 -1
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/PKG-INFO +27 -26
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/README.md +25 -24
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/pyproject.toml +2 -4
- rootly_mcp_server-2.0.8/rootly_openapi.json +97254 -0
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/src/rootly_mcp_server/__init__.py +1 -1
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/src/rootly_mcp_server/__main__.py +6 -6
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/src/rootly_mcp_server/client.py +2 -2
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/src/rootly_mcp_server/routemap_server.py +97 -63
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/src/rootly_mcp_server/server.py +254 -175
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/src/rootly_mcp_server/test_client.py +11 -9
- rootly_mcp_server-2.0.8/src/rootly_mcp_server/utils.py +105 -0
- rootly_mcp_server-2.0.8/uv.lock +885 -0
- rootly_mcp_server-2.0.5/CLAUDE.md +0 -68
- rootly_mcp_server-2.0.5/src/rootly_mcp_server/rootly_openapi_loader.py +0 -96
- rootly_mcp_server-2.0.5/uv.lock +0 -660
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/.semaphore/deploy.yml +0 -0
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/.semaphore/semaphore.yml +0 -0
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/.semaphore/update-task-definition.sh +0 -0
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/LICENSE +0 -0
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/rootly-mcp-server-demo.gif +0 -0
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/rootly_fastmcp_server.py +0 -0
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/rootly_fastmcp_server_routemap.py +0 -0
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/rootly_openapi_loader.py +0 -0
- {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/src/rootly_mcp_server/data/__init__.py +0 -0
|
@@ -19,7 +19,8 @@ jobs:
|
|
|
19
19
|
|
|
20
20
|
- name: Install uv and build tools
|
|
21
21
|
run: |
|
|
22
|
-
pip install
|
|
22
|
+
pip install uv
|
|
23
|
+
uv pip install --system build twine
|
|
23
24
|
|
|
24
25
|
- name: Build package
|
|
25
26
|
run: |
|
|
@@ -30,4 +31,4 @@ jobs:
|
|
|
30
31
|
TWINE_USERNAME: __token__
|
|
31
32
|
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
|
32
33
|
run: |
|
|
33
|
-
twine upload dist/*
|
|
34
|
+
twine upload dist/*
|
|
@@ -23,6 +23,8 @@ EXPOSE 8000
|
|
|
23
23
|
|
|
24
24
|
# Set environment variables
|
|
25
25
|
ENV PYTHONUNBUFFERED=1
|
|
26
|
+
ENV FASTMCP_HOST=0.0.0.0
|
|
27
|
+
ENV FASTMCP_PORT=8000
|
|
26
28
|
|
|
27
29
|
# Run the application
|
|
28
|
-
CMD ["rootly-mcp-server", "--transport", "sse", "--log-level", "INFO", "--
|
|
30
|
+
CMD ["rootly-mcp-server", "--transport", "sse", "--log-level", "INFO", "--hosted"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rootly-mcp-server
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.8
|
|
4
4
|
Summary: A Model Context Protocol server for Rootly APIs using OpenAPI spec
|
|
5
5
|
Project-URL: Homepage, https://github.com/Rootly-AI-Labs/Rootly-MCP-server
|
|
6
6
|
Project-URL: Issues, https://github.com/Rootly-AI-Labs/Rootly-MCP-server/issues
|
|
@@ -14,7 +14,7 @@ Classifier: Programming Language :: Python :: 3
|
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.12
|
|
15
15
|
Classifier: Topic :: Software Development :: Build Tools
|
|
16
16
|
Requires-Python: >=3.12
|
|
17
|
-
Requires-Dist: fastmcp
|
|
17
|
+
Requires-Dist: fastmcp>=2.9.0
|
|
18
18
|
Requires-Dist: httpx>=0.24.0
|
|
19
19
|
Requires-Dist: pydantic>=2.0.0
|
|
20
20
|
Requires-Dist: requests>=2.28.0
|
|
@@ -109,6 +109,30 @@ To customize `allowed_paths` and access additional Rootly API paths, clone the r
|
|
|
109
109
|
}
|
|
110
110
|
```
|
|
111
111
|
|
|
112
|
+
### Connect to Hosted MCP Server
|
|
113
|
+
|
|
114
|
+
Alternatively, connect directly to our hosted MCP server:
|
|
115
|
+
|
|
116
|
+
```json
|
|
117
|
+
{
|
|
118
|
+
"mcpServers": {
|
|
119
|
+
"rootly": {
|
|
120
|
+
"command": "npx",
|
|
121
|
+
"args": [
|
|
122
|
+
"-y",
|
|
123
|
+
"mcp-remote",
|
|
124
|
+
"https://mcp.rootly.com/sse",
|
|
125
|
+
"--header",
|
|
126
|
+
"Authorization:${ROOTLY_AUTH_HEADER}"
|
|
127
|
+
],
|
|
128
|
+
"env": {
|
|
129
|
+
"ROOTLY_AUTH_HEADER": "Bearer <YOUR_ROOTLY_API_TOKEN>"
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
112
136
|
## Features
|
|
113
137
|
|
|
114
138
|
- **Dynamic Tool Generation**: Automatically creates MCP resources from Rootly's OpenAPI (Swagger) specification
|
|
@@ -197,29 +221,6 @@ uv pip install <package>
|
|
|
197
221
|
Run the test client to ensure everything is configured correctly:
|
|
198
222
|
|
|
199
223
|
```bash
|
|
200
|
-
python
|
|
224
|
+
python src/rootly_mcp_server/test_client.py
|
|
201
225
|
```
|
|
202
226
|
|
|
203
|
-
### Connect to Hosted MCP Server
|
|
204
|
-
|
|
205
|
-
Alternatively, connect directly to our hosted MCP server:
|
|
206
|
-
|
|
207
|
-
```json
|
|
208
|
-
{
|
|
209
|
-
"mcpServers": {
|
|
210
|
-
"rootly": {
|
|
211
|
-
"command": "npx",
|
|
212
|
-
"args": [
|
|
213
|
-
"-y",
|
|
214
|
-
"mcp-remote",
|
|
215
|
-
"https://mcp.rootly.com/sse",
|
|
216
|
-
"--header",
|
|
217
|
-
"Authorization:${ROOTLY_AUTH_HEADER}"
|
|
218
|
-
],
|
|
219
|
-
"env": {
|
|
220
|
-
"ROOTLY_AUTH_HEADER": "Bearer <YOUR_ROOTLY_API_TOKEN>"
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
```
|
|
@@ -84,6 +84,30 @@ To customize `allowed_paths` and access additional Rootly API paths, clone the r
|
|
|
84
84
|
}
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
+
### Connect to Hosted MCP Server
|
|
88
|
+
|
|
89
|
+
Alternatively, connect directly to our hosted MCP server:
|
|
90
|
+
|
|
91
|
+
```json
|
|
92
|
+
{
|
|
93
|
+
"mcpServers": {
|
|
94
|
+
"rootly": {
|
|
95
|
+
"command": "npx",
|
|
96
|
+
"args": [
|
|
97
|
+
"-y",
|
|
98
|
+
"mcp-remote",
|
|
99
|
+
"https://mcp.rootly.com/sse",
|
|
100
|
+
"--header",
|
|
101
|
+
"Authorization:${ROOTLY_AUTH_HEADER}"
|
|
102
|
+
],
|
|
103
|
+
"env": {
|
|
104
|
+
"ROOTLY_AUTH_HEADER": "Bearer <YOUR_ROOTLY_API_TOKEN>"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
87
111
|
## Features
|
|
88
112
|
|
|
89
113
|
- **Dynamic Tool Generation**: Automatically creates MCP resources from Rootly's OpenAPI (Swagger) specification
|
|
@@ -172,29 +196,6 @@ uv pip install <package>
|
|
|
172
196
|
Run the test client to ensure everything is configured correctly:
|
|
173
197
|
|
|
174
198
|
```bash
|
|
175
|
-
python
|
|
199
|
+
python src/rootly_mcp_server/test_client.py
|
|
176
200
|
```
|
|
177
201
|
|
|
178
|
-
### Connect to Hosted MCP Server
|
|
179
|
-
|
|
180
|
-
Alternatively, connect directly to our hosted MCP server:
|
|
181
|
-
|
|
182
|
-
```json
|
|
183
|
-
{
|
|
184
|
-
"mcpServers": {
|
|
185
|
-
"rootly": {
|
|
186
|
-
"command": "npx",
|
|
187
|
-
"args": [
|
|
188
|
-
"-y",
|
|
189
|
-
"mcp-remote",
|
|
190
|
-
"https://mcp.rootly.com/sse",
|
|
191
|
-
"--header",
|
|
192
|
-
"Authorization:${ROOTLY_AUTH_HEADER}"
|
|
193
|
-
],
|
|
194
|
-
"env": {
|
|
195
|
-
"ROOTLY_AUTH_HEADER": "Bearer <YOUR_ROOTLY_API_TOKEN>"
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "rootly-mcp-server"
|
|
3
|
-
version = "2.0.
|
|
3
|
+
version = "2.0.8"
|
|
4
4
|
description = "A Model Context Protocol server for Rootly APIs using OpenAPI spec"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.12"
|
|
@@ -16,9 +16,7 @@ classifiers = [
|
|
|
16
16
|
"Programming Language :: Python :: 3.12",
|
|
17
17
|
]
|
|
18
18
|
dependencies = [
|
|
19
|
-
|
|
20
|
-
# and run `uv sync` to update the lockfile.
|
|
21
|
-
"fastmcp==2.10.5",
|
|
19
|
+
"fastmcp>=2.9.0",
|
|
22
20
|
"requests>=2.28.0", # For API calls
|
|
23
21
|
"httpx>=0.24.0", # For async HTTP client
|
|
24
22
|
"pydantic>=2.0.0", # For data validation
|