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.
Files changed (27) hide show
  1. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/.github/workflows/pypi-release.yml +3 -2
  2. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/.gitignore +5 -1
  3. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/Dockerfile +3 -1
  4. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/PKG-INFO +27 -26
  5. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/README.md +25 -24
  6. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/pyproject.toml +2 -4
  7. rootly_mcp_server-2.0.8/rootly_openapi.json +97254 -0
  8. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/src/rootly_mcp_server/__init__.py +1 -1
  9. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/src/rootly_mcp_server/__main__.py +6 -6
  10. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/src/rootly_mcp_server/client.py +2 -2
  11. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/src/rootly_mcp_server/routemap_server.py +97 -63
  12. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/src/rootly_mcp_server/server.py +254 -175
  13. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/src/rootly_mcp_server/test_client.py +11 -9
  14. rootly_mcp_server-2.0.8/src/rootly_mcp_server/utils.py +105 -0
  15. rootly_mcp_server-2.0.8/uv.lock +885 -0
  16. rootly_mcp_server-2.0.5/CLAUDE.md +0 -68
  17. rootly_mcp_server-2.0.5/src/rootly_mcp_server/rootly_openapi_loader.py +0 -96
  18. rootly_mcp_server-2.0.5/uv.lock +0 -660
  19. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/.semaphore/deploy.yml +0 -0
  20. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/.semaphore/semaphore.yml +0 -0
  21. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/.semaphore/update-task-definition.sh +0 -0
  22. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/LICENSE +0 -0
  23. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/rootly-mcp-server-demo.gif +0 -0
  24. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/rootly_fastmcp_server.py +0 -0
  25. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/rootly_fastmcp_server_routemap.py +0 -0
  26. {rootly_mcp_server-2.0.5 → rootly_mcp_server-2.0.8}/rootly_openapi_loader.py +0 -0
  27. {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 build twine
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/*
@@ -187,4 +187,8 @@ swagger.json
187
187
 
188
188
  # Test outputs and temporary files
189
189
  test_output/
190
- *.tmp
190
+ *.tmp
191
+
192
+ # Markdown files (exclude all except README)
193
+ *.md
194
+ !README.md
@@ -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", "--host", "0.0.0.0", "--port", "8000", "--hosted"]
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.5
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==2.10.5
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 test_mcp_client.py
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 test_mcp_client.py
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.5"
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
- # Pinned to 2.10.5 to avoid unexpected breaking changes - to upgrade, just bump the pinned version here
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