devhelm-mcp-server 0.2.0__tar.gz → 0.3.0__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.
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/PKG-INFO +2 -2
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/docs/openapi/monitoring-api.json +8 -8
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/pyproject.toml +6 -6
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/tools/status_pages.py +24 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/tests/test_tools.py +2 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/uv.lock +5 -5
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/.github/workflows/ci.yml +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/.github/workflows/release.yml +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/.github/workflows/spec-check.yml +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/.gitignore +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/LICENSE +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/Makefile +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/README.md +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/docker/Dockerfile +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/scripts/regen-from.sh +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/scripts/release.sh +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/__init__.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/client.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/server.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/tools/__init__.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/tools/alert_channels.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/tools/api_keys.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/tools/dependencies.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/tools/deploy_lock.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/tools/environments.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/tools/incidents.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/tools/monitors.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/tools/notification_policies.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/tools/resource_groups.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/tools/secrets.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/tools/status.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/tools/tags.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/tools/webhooks.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/tests/__init__.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/tests/run_mcp.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/tests/test_client.py +0 -0
- {devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/tests/test_typed_schemas.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: devhelm-mcp-server
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: DevHelm MCP server — AI agent access to monitors, incidents, alerting, and more
|
|
5
5
|
Project-URL: Homepage, https://devhelm.io
|
|
6
6
|
Project-URL: Repository, https://github.com/devhelmhq/mcp-server
|
|
@@ -18,7 +18,7 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.13
|
|
19
19
|
Classifier: Topic :: Software Development :: Libraries
|
|
20
20
|
Requires-Python: >=3.11
|
|
21
|
-
Requires-Dist: devhelm>=0.
|
|
21
|
+
Requires-Dist: devhelm>=0.3.0
|
|
22
22
|
Requires-Dist: fastmcp>=2.0.0
|
|
23
23
|
Description-Content-Type: text/markdown
|
|
24
24
|
|
|
@@ -22744,9 +22744,9 @@
|
|
|
22744
22744
|
"format": "int32",
|
|
22745
22745
|
"nullable": true
|
|
22746
22746
|
},
|
|
22747
|
-
"
|
|
22747
|
+
"defaultOpen": {
|
|
22748
22748
|
"type": "boolean",
|
|
22749
|
-
"description": "
|
|
22749
|
+
"description": "Initial expand/collapse state when a visitor first loads the page; renderer may auto-expand on active incidents (default: true)",
|
|
22750
22750
|
"nullable": true
|
|
22751
22751
|
}
|
|
22752
22752
|
}
|
|
@@ -22816,7 +22816,7 @@
|
|
|
22816
22816
|
},
|
|
22817
22817
|
"startDate": {
|
|
22818
22818
|
"type": "string",
|
|
22819
|
-
"description": "Date from which to start showing uptime
|
|
22819
|
+
"description": "Date from which to start showing uptime; defaults to component creation. Set earlier to backdate (e.g. launch day); clamped at the monitor's createdAt for MONITOR-type components",
|
|
22820
22820
|
"format": "date",
|
|
22821
22821
|
"nullable": true
|
|
22822
22822
|
}
|
|
@@ -29659,7 +29659,7 @@
|
|
|
29659
29659
|
"updatedAt",
|
|
29660
29660
|
"displayOrder",
|
|
29661
29661
|
"pageOrder",
|
|
29662
|
-
"
|
|
29662
|
+
"defaultOpen"
|
|
29663
29663
|
],
|
|
29664
29664
|
"type": "object",
|
|
29665
29665
|
"properties": {
|
|
@@ -29686,7 +29686,7 @@
|
|
|
29686
29686
|
"type": "integer",
|
|
29687
29687
|
"format": "int32"
|
|
29688
29688
|
},
|
|
29689
|
-
"
|
|
29689
|
+
"defaultOpen": {
|
|
29690
29690
|
"type": "boolean"
|
|
29691
29691
|
},
|
|
29692
29692
|
"components": {
|
|
@@ -32405,9 +32405,9 @@
|
|
|
32405
32405
|
"format": "int32",
|
|
32406
32406
|
"nullable": true
|
|
32407
32407
|
},
|
|
32408
|
-
"
|
|
32408
|
+
"defaultOpen": {
|
|
32409
32409
|
"type": "boolean",
|
|
32410
|
-
"description": "
|
|
32410
|
+
"description": "Initial expand/collapse state on first page load; null preserves current. Renderer may auto-expand on active incidents",
|
|
32411
32411
|
"nullable": true
|
|
32412
32412
|
}
|
|
32413
32413
|
}
|
|
@@ -32458,7 +32458,7 @@
|
|
|
32458
32458
|
},
|
|
32459
32459
|
"startDate": {
|
|
32460
32460
|
"type": "string",
|
|
32461
|
-
"description": "Date from which to start showing uptime
|
|
32461
|
+
"description": "Date from which to start showing uptime; null preserves current. Bars never extend earlier than the underlying monitor's createdAt regardless of value",
|
|
32462
32462
|
"format": "date",
|
|
32463
32463
|
"nullable": true
|
|
32464
32464
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "devhelm-mcp-server"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.3.0"
|
|
4
4
|
description = "DevHelm MCP server — AI agent access to monitors, incidents, alerting, and more"
|
|
5
5
|
authors = [{ name = "DevHelm", email = "hello@devhelm.io" }]
|
|
6
6
|
license = "MIT"
|
|
@@ -19,10 +19,10 @@ classifiers = [
|
|
|
19
19
|
]
|
|
20
20
|
|
|
21
21
|
dependencies = [
|
|
22
|
-
# Floor bumped to 0.1
|
|
23
|
-
#
|
|
24
|
-
#
|
|
25
|
-
"devhelm>=0.
|
|
22
|
+
# Floor bumped to 0.2.1 for `StatusPages.reorder_layout` and the
|
|
23
|
+
# `Incidents.delete` removal (which the `reorder_status_page_layout`
|
|
24
|
+
# tool below depends on, and which the parity check requires).
|
|
25
|
+
"devhelm>=0.3.0",
|
|
26
26
|
"fastmcp>=2.0.0",
|
|
27
27
|
]
|
|
28
28
|
|
|
@@ -64,4 +64,4 @@ dev = [
|
|
|
64
64
|
"pytest>=8.0",
|
|
65
65
|
"ruff>=0.8",
|
|
66
66
|
"twine>=5.0",
|
|
67
|
-
]
|
|
67
|
+
]
|
|
@@ -13,6 +13,7 @@ from devhelm.types import (
|
|
|
13
13
|
CreateStatusPageIncidentUpdateRequest,
|
|
14
14
|
CreateStatusPageRequest,
|
|
15
15
|
ReorderComponentsRequest,
|
|
16
|
+
ReorderPageLayoutRequest,
|
|
16
17
|
UpdateStatusPageComponentGroupRequest,
|
|
17
18
|
UpdateStatusPageComponentRequest,
|
|
18
19
|
UpdateStatusPageIncidentRequest,
|
|
@@ -85,6 +86,29 @@ def register(mcp: FastMCP) -> None:
|
|
|
85
86
|
except DevhelmError as e:
|
|
86
87
|
return format_error(e)
|
|
87
88
|
|
|
89
|
+
@mcp.tool()
|
|
90
|
+
def reorder_status_page_layout(
|
|
91
|
+
api_token: str, page_id: str, body: ReorderPageLayoutRequest
|
|
92
|
+
) -> str:
|
|
93
|
+
"""Batch-reorder a status page's full layout.
|
|
94
|
+
|
|
95
|
+
Required: sections — top-level layout in their new order, where each
|
|
96
|
+
entry is either {kind:"component", componentId} or
|
|
97
|
+
{kind:"group", groupId}. Use ``groupOrders`` (optional) to also
|
|
98
|
+
reorder components within specific groups; only include groups whose
|
|
99
|
+
internal order changed. The full top-level set must be provided —
|
|
100
|
+
partial reorders are rejected by the API.
|
|
101
|
+
|
|
102
|
+
Use this for "drag-and-drop" layout edits that touch both groups and
|
|
103
|
+
ungrouped components. To reorder components within a single group
|
|
104
|
+
only, prefer ``reorder_status_page_components``.
|
|
105
|
+
"""
|
|
106
|
+
try:
|
|
107
|
+
_sp(api_token).reorder_layout(page_id, as_payload(body))
|
|
108
|
+
return "Status page layout reordered successfully."
|
|
109
|
+
except DevhelmError as e:
|
|
110
|
+
return format_error(e)
|
|
111
|
+
|
|
88
112
|
# ── Components ────────────────────────────────────────────────────────
|
|
89
113
|
|
|
90
114
|
@mcp.tool()
|
|
@@ -87,6 +87,7 @@ EXPECTED_TOOLS = [
|
|
|
87
87
|
"create_status_page",
|
|
88
88
|
"update_status_page",
|
|
89
89
|
"delete_status_page",
|
|
90
|
+
"reorder_status_page_layout",
|
|
90
91
|
"list_status_page_components",
|
|
91
92
|
"create_status_page_component",
|
|
92
93
|
"update_status_page_component",
|
|
@@ -157,6 +158,7 @@ STATUS_PAGE_CRUD = [
|
|
|
157
158
|
"create_status_page",
|
|
158
159
|
"update_status_page",
|
|
159
160
|
"delete_status_page",
|
|
161
|
+
"reorder_status_page_layout",
|
|
160
162
|
]
|
|
161
163
|
|
|
162
164
|
STATUS_PAGE_COMPONENT_TOOLS = [
|
|
@@ -388,20 +388,20 @@ wheels = [
|
|
|
388
388
|
|
|
389
389
|
[[package]]
|
|
390
390
|
name = "devhelm"
|
|
391
|
-
version = "0.
|
|
391
|
+
version = "0.3.0"
|
|
392
392
|
source = { registry = "https://pypi.org/simple" }
|
|
393
393
|
dependencies = [
|
|
394
394
|
{ name = "httpx" },
|
|
395
395
|
{ name = "pydantic", extra = ["email"] },
|
|
396
396
|
]
|
|
397
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
397
|
+
sdist = { url = "https://files.pythonhosted.org/packages/7d/e0/5e2f56bb128fa312311ceac5de96b71db7ac6a354bebe4439999ebd46a7c/devhelm-0.3.0.tar.gz", hash = "sha256:cabad8c888e73e26ecf5fe1243cbd96d13368193453d437db60e3ab611f3e46b", size = 223980, upload-time = "2026-04-22T15:28:53.364Z" }
|
|
398
398
|
wheels = [
|
|
399
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
399
|
+
{ url = "https://files.pythonhosted.org/packages/48/18/43ae849559fb68b524b06a840751a12233e4237aa27e44184d1a45106521/devhelm-0.3.0-py3-none-any.whl", hash = "sha256:da4053b7f8a6016182beae57038870d0dd490ed5e57ffc0158c3724d01e70c82", size = 67920, upload-time = "2026-04-22T15:28:52.13Z" },
|
|
400
400
|
]
|
|
401
401
|
|
|
402
402
|
[[package]]
|
|
403
403
|
name = "devhelm-mcp-server"
|
|
404
|
-
version = "0.
|
|
404
|
+
version = "0.3.0"
|
|
405
405
|
source = { editable = "." }
|
|
406
406
|
dependencies = [
|
|
407
407
|
{ name = "devhelm" },
|
|
@@ -419,7 +419,7 @@ dev = [
|
|
|
419
419
|
|
|
420
420
|
[package.metadata]
|
|
421
421
|
requires-dist = [
|
|
422
|
-
{ name = "devhelm", specifier = ">=0.
|
|
422
|
+
{ name = "devhelm", specifier = ">=0.3.0" },
|
|
423
423
|
{ name = "fastmcp", specifier = ">=2.0.0" },
|
|
424
424
|
]
|
|
425
425
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/tools/alert_channels.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/tools/notification_policies.py
RENAMED
|
File without changes
|
{devhelm_mcp_server-0.2.0 → devhelm_mcp_server-0.3.0}/src/devhelm_mcp/tools/resource_groups.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|