rootly-mcp-server 2.1.0__tar.gz → 2.1.2__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 (70) hide show
  1. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/#Dockerfile# +1 -1
  2. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/.github/workflows/ci.yml +13 -13
  3. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/.github/workflows/lint.yml +2 -2
  4. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/PKG-INFO +1 -1
  5. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/pyproject.toml +1 -1
  6. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/src/rootly_mcp_server/server.py +1032 -130
  7. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/tests/unit/test_authentication.py +49 -0
  8. rootly_mcp_server-2.1.2/tests/unit/test_oncall_new_tools.py +662 -0
  9. rootly_mcp_server-2.1.0/.beads/.local_version +0 -1
  10. rootly_mcp_server-2.1.0/.beads/.sync.lock +0 -0
  11. rootly_mcp_server-2.1.0/.beads/beads.db +0 -0
  12. rootly_mcp_server-2.1.0/.beads/beads.db-shm +0 -0
  13. rootly_mcp_server-2.1.0/.beads/beads.db-wal +0 -0
  14. rootly_mcp_server-2.1.0/.beads/daemon.lock +0 -7
  15. rootly_mcp_server-2.1.0/.beads/daemon.pid +0 -1
  16. rootly_mcp_server-2.1.0/.beads/last-touched +0 -1
  17. rootly_mcp_server-2.1.0/.beads/sync_base.jsonl +0 -5
  18. rootly_mcp_server-2.1.0/.claude/settings.local.json +0 -70
  19. rootly_mcp_server-2.1.0/.mcp.json +0 -15
  20. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/.beads/.gitignore +0 -0
  21. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/.beads/README.md +0 -0
  22. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/.beads/config.yaml +0 -0
  23. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/.beads/interactions.jsonl +0 -0
  24. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/.beads/issues.jsonl +0 -0
  25. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/.beads/metadata.json +0 -0
  26. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/.gitattributes +0 -0
  27. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/.github/dependabot.yml +0 -0
  28. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/.github/workflows/pypi-release.yml +0 -0
  29. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/.github/workflows/test.yml +0 -0
  30. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/.gitignore +0 -0
  31. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/.semaphore/deploy.yml +0 -0
  32. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/.semaphore/semaphore.yml +0 -0
  33. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/.semaphore/update-task-definition.sh +0 -0
  34. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/2026-01-27-MCP.txt +0 -0
  35. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/2026-01-27-claude-code-v2120.txt +0 -0
  36. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/Dockerfile +0 -0
  37. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/LICENSE +0 -0
  38. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/README.md +0 -0
  39. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/examples/skills/README.md +0 -0
  40. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/rootly-mcp-server-demo.gif +0 -0
  41. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/rootly_openapi.json +0 -0
  42. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/scripts/setup-hooks.sh +0 -0
  43. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/src/rootly_mcp_server/__init__.py +0 -0
  44. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/src/rootly_mcp_server/__main__.py +0 -0
  45. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/src/rootly_mcp_server/client.py +0 -0
  46. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/src/rootly_mcp_server/data/__init__.py +0 -0
  47. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/src/rootly_mcp_server/exceptions.py +0 -0
  48. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/src/rootly_mcp_server/monitoring.py +0 -0
  49. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/src/rootly_mcp_server/pagination.py +0 -0
  50. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/src/rootly_mcp_server/security.py +0 -0
  51. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/src/rootly_mcp_server/smart_utils.py +0 -0
  52. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/src/rootly_mcp_server/texttest.json +0 -0
  53. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/src/rootly_mcp_server/utils.py +0 -0
  54. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/src/rootly_mcp_server/validators.py +0 -0
  55. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/tests/README.md +0 -0
  56. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/tests/conftest.py +0 -0
  57. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/tests/integration/local/test_basic.py +0 -0
  58. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/tests/integration/local/test_smart_tools.py +0 -0
  59. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/tests/integration/remote/test_essential.py +0 -0
  60. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/tests/test_client.py +0 -0
  61. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/tests/unit/test_exceptions.py +0 -0
  62. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/tests/unit/test_oncall_handoff.py +0 -0
  63. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/tests/unit/test_oncall_metrics.py +0 -0
  64. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/tests/unit/test_security.py +0 -0
  65. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/tests/unit/test_server.py +0 -0
  66. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/tests/unit/test_smart_utils.py +0 -0
  67. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/tests/unit/test_tools.py +0 -0
  68. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/tests/unit/test_utils.py +0 -0
  69. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/tests/unit/test_validators.py +0 -0
  70. {rootly_mcp_server-2.1.0 → rootly_mcp_server-2.1.2}/uv.lock +0 -0
@@ -1,5 +1,5 @@
1
1
  # Use Python 3.12 slim image as base
2
- FROM python:3.12-slim
2
+ FROM python:3.14-slim
3
3
 
4
4
  # Set working directory
5
5
  WORKDIR /app
@@ -16,15 +16,15 @@ jobs:
16
16
 
17
17
  steps:
18
18
  - name: Checkout code
19
- uses: actions/checkout@v4
19
+ uses: actions/checkout@v6
20
20
 
21
21
  - name: Set up Python ${{ matrix.python-version }}
22
- uses: actions/setup-python@v5
22
+ uses: actions/setup-python@v6
23
23
  with:
24
24
  python-version: ${{ matrix.python-version }}
25
25
 
26
26
  - name: Install uv
27
- uses: astral-sh/setup-uv@v4
27
+ uses: astral-sh/setup-uv@v7
28
28
 
29
29
  - name: Install dependencies
30
30
  run: |
@@ -36,7 +36,7 @@ jobs:
36
36
  uv run pytest tests/ -v --cov=src/rootly_mcp_server --cov-report=term --cov-report=xml
37
37
 
38
38
  - name: Upload coverage to Codecov
39
- uses: codecov/codecov-action@v4
39
+ uses: codecov/codecov-action@v5
40
40
  with:
41
41
  file: ./coverage.xml
42
42
  flags: unittests
@@ -48,15 +48,15 @@ jobs:
48
48
 
49
49
  steps:
50
50
  - name: Checkout code
51
- uses: actions/checkout@v4
51
+ uses: actions/checkout@v6
52
52
 
53
53
  - name: Set up Python
54
- uses: actions/setup-python@v5
54
+ uses: actions/setup-python@v6
55
55
  with:
56
56
  python-version: "3.12"
57
57
 
58
58
  - name: Install uv
59
- uses: astral-sh/setup-uv@v4
59
+ uses: astral-sh/setup-uv@v7
60
60
 
61
61
  - name: Install dependencies
62
62
  run: |
@@ -85,10 +85,10 @@ jobs:
85
85
 
86
86
  steps:
87
87
  - name: Checkout code
88
- uses: actions/checkout@v4
88
+ uses: actions/checkout@v6
89
89
 
90
90
  - name: Set up Python
91
- uses: actions/setup-python@v5
91
+ uses: actions/setup-python@v6
92
92
  with:
93
93
  python-version: "3.12"
94
94
 
@@ -113,22 +113,22 @@ jobs:
113
113
 
114
114
  steps:
115
115
  - name: Checkout code
116
- uses: actions/checkout@v4
116
+ uses: actions/checkout@v6
117
117
 
118
118
  - name: Set up Python
119
- uses: actions/setup-python@v5
119
+ uses: actions/setup-python@v6
120
120
  with:
121
121
  python-version: "3.12"
122
122
 
123
123
  - name: Install uv
124
- uses: astral-sh/setup-uv@v4
124
+ uses: astral-sh/setup-uv@v7
125
125
 
126
126
  - name: Build package
127
127
  run: |
128
128
  uv build
129
129
 
130
130
  - name: Upload build artifacts
131
- uses: actions/upload-artifact@v4
131
+ uses: actions/upload-artifact@v6
132
132
  with:
133
133
  name: dist
134
134
  path: dist/
@@ -11,10 +11,10 @@ jobs:
11
11
  runs-on: ubuntu-latest
12
12
 
13
13
  steps:
14
- - uses: actions/checkout@v4
14
+ - uses: actions/checkout@v6
15
15
 
16
16
  - name: Set up Python
17
- uses: actions/setup-python@v5
17
+ uses: actions/setup-python@v6
18
18
  with:
19
19
  python-version: '3.12'
20
20
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rootly-mcp-server
3
- Version: 2.1.0
3
+ Version: 2.1.2
4
4
  Summary: Secure Model Context Protocol server for Rootly APIs with AI SRE capabilities, comprehensive error handling, and input validation
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "rootly-mcp-server"
3
- version = "2.1.0"
3
+ version = "2.1.2"
4
4
  description = "Secure Model Context Protocol server for Rootly APIs with AI SRE capabilities, comprehensive error handling, and input validation"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"