devhelm-mcp-server 0.8.2__tar.gz → 0.8.3__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 (44) hide show
  1. devhelm_mcp_server-0.8.3/CHANGELOG.md +87 -0
  2. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/PKG-INFO +1 -1
  3. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/pyproject.toml +1 -1
  4. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/server.py +6 -2
  5. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/uv.lock +1 -1
  6. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/.github/workflows/ci.yml +0 -0
  7. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/.github/workflows/release.yml +0 -0
  8. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/.github/workflows/spec-check.yml +0 -0
  9. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/.gitignore +0 -0
  10. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/LICENSE +0 -0
  11. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/Makefile +0 -0
  12. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/README.md +0 -0
  13. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/docker/Dockerfile +0 -0
  14. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/docs/openapi/monitoring-api.json +0 -0
  15. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/scripts/regen-from.sh +0 -0
  16. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/scripts/release.sh +0 -0
  17. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/__init__.py +0 -0
  18. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/client.py +0 -0
  19. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/tools/__init__.py +0 -0
  20. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/tools/alert_channels.py +0 -0
  21. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/tools/api_keys.py +0 -0
  22. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/tools/dependencies.py +0 -0
  23. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/tools/deploy_lock.py +0 -0
  24. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/tools/environments.py +0 -0
  25. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/tools/forensics.py +0 -0
  26. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/tools/incidents.py +0 -0
  27. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/tools/maintenance_windows.py +0 -0
  28. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/tools/monitors.py +0 -0
  29. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/tools/notification_policies.py +0 -0
  30. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/tools/resource_groups.py +0 -0
  31. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/tools/secrets.py +0 -0
  32. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/tools/status.py +0 -0
  33. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/tools/status_pages.py +0 -0
  34. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/tools/tags.py +0 -0
  35. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/src/devhelm_mcp/tools/webhooks.py +0 -0
  36. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/tests/__init__.py +0 -0
  37. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/tests/run_mcp.py +0 -0
  38. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/tests/test_auth.py +0 -0
  39. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/tests/test_cli.py +0 -0
  40. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/tests/test_client.py +0 -0
  41. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/tests/test_devex_round3_fixes.py +0 -0
  42. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/tests/test_maintenance_windows.py +0 -0
  43. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/tests/test_tools.py +0 -0
  44. {devhelm_mcp_server-0.8.2 → devhelm_mcp_server-0.8.3}/tests/test_typed_schemas.py +0 -0
@@ -0,0 +1,87 @@
1
+ # Changelog
2
+
3
+ All notable changes to `devhelm-mcp-server` are documented here.
4
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
5
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [0.8.2] — 2026-05-06
8
+
9
+ ### Changed
10
+
11
+ - Bump `devhelm` Python SDK floor to `>=0.7.2`. Older versions raise Pydantic
12
+ `extra_forbidden` on the new `managedBy` field that the API now returns on
13
+ resource DTOs.
14
+
15
+ ## [0.8.1] — 2026-05-06
16
+
17
+ ### Changed
18
+
19
+ - Sync OpenAPI spec and refresh bundled SDK to pick up the new monitor
20
+ validation contract (`frequencySeconds` bounds, dynamic region whitelist)
21
+ and `managedBy` resource-attribution field.
22
+
23
+ ## [0.8.0] — 2026-05-06
24
+
25
+ ### Added
26
+
27
+ - **Maintenance window tools** (`maintenance_window_*`): list / create / get
28
+ / update / cancel scheduled maintenance windows so AI agents can suppress
29
+ alerts during planned deploys.
30
+
31
+ ## [0.7.1] — 2026-05-06
32
+
33
+ ### Fixed
34
+
35
+ - `--help` / `--version` no longer hang waiting on stdin. The binary now ships
36
+ a proper `argparse` interface with `--transport {stdio,http}`, `--host`,
37
+ `--port` flags. (Also addressable via `DEVHELM_MCP_TRANSPORT`,
38
+ `DEVHELM_MCP_HOST`, `DEVHELM_MCP_PORT` env vars.)
39
+ - ASCII banner suppressed on stdio transport so it doesn't pollute JSON-RPC.
40
+ - `/mcp` (no trailing slash) is rewritten in-process instead of returning a
41
+ `307` redirect (which not all MCP clients follow correctly).
42
+ - `serverInfo` now reports `name=devhelm-mcp-server`, `version=<package>`
43
+ (was the FastMCP runtime `name=DevHelm`, `version=3.x.y`). Makes support
44
+ triage unambiguous and lets clients pin behavior to a published wheel.
45
+
46
+ ## [0.7.0] — 2026-05-05
47
+
48
+ ### **Breaking**
49
+
50
+ - **Tool input schemas no longer accept `api_token`.** Authentication is
51
+ resolved at the transport layer:
52
+ - Hosted Streamable HTTP: `Authorization: Bearer <token>` header.
53
+ - Stdio: `DEVHELM_API_TOKEN` environment variable.
54
+ This eliminates the per-call token-passing friction that made the server
55
+ awkward in Cursor / Claude Desktop. Existing clients that still pass
56
+ `api_token` in tool arguments will get an `unexpected_keyword_argument`
57
+ Pydantic error from FastMCP.
58
+
59
+ - **`create_monitor` no longer accepts a caller-supplied `managedBy`.**
60
+ The server forces `managedBy=MCP` on every monitor it creates so resource
61
+ attribution is honest. Callers that need a different attribution should
62
+ use the SDK or CLI directly.
63
+
64
+ - **`delete_monitor` parameter renamed:** `id` → `monitor_id`. (Same shape
65
+ applied across other resource delete tools — `incident_id`,
66
+ `channel_id`, etc. for consistency.)
67
+
68
+ - **`list_*` tools no longer require an empty `body: {}` envelope.** Pass
69
+ no arguments instead.
70
+
71
+ ### Fixed
72
+
73
+ - Upstream API failures now surface as `isError: true` ToolError responses
74
+ instead of being swallowed silently.
75
+ - Documented user journeys end-to-end now actually work without hand-tuning.
76
+
77
+ ### Added
78
+
79
+ - Usage telemetry now reports `surface=mcp` so we can tell MCP traffic from
80
+ raw SDK traffic in dashboards.
81
+
82
+ ## [0.6.0] — 2026-05-04
83
+
84
+ Initial public release with 101 tools covering monitors, incidents, alert
85
+ channels, notification policies, environments, secrets, tags, resource
86
+ groups, webhooks, API keys, service dependencies, deploy locks, status
87
+ pages, and dashboard read.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devhelm-mcp-server
3
- Version: 0.8.2
3
+ Version: 0.8.3
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "devhelm-mcp-server"
3
- version = "0.8.2"
3
+ version = "0.8.3"
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"
@@ -78,8 +78,12 @@ mcp = FastMCP(
78
78
  "Use these tools to manage uptime monitors, incidents, alert channels, "
79
79
  "notification policies, environments, secrets, tags, resource groups, "
80
80
  "webhooks, API keys, service dependencies, deploy locks, maintenance "
81
- "windows, status pages, and view dashboard status. All operations "
82
- "require a valid DevHelm API token."
81
+ "windows, status pages, and view dashboard status. "
82
+ "Authentication is handled at the transport layer: "
83
+ "`Authorization: Bearer <token>` for the hosted endpoint "
84
+ "(https://mcp.devhelm.io/mcp/), or the `DEVHELM_API_TOKEN` environment "
85
+ "variable when running over stdio (e.g. `uvx devhelm-mcp-server`). "
86
+ "Do not pass tokens in tool arguments — tool schemas no longer accept them."
83
87
  ),
84
88
  )
85
89
 
@@ -401,7 +401,7 @@ wheels = [
401
401
 
402
402
  [[package]]
403
403
  name = "devhelm-mcp-server"
404
- version = "0.8.2"
404
+ version = "0.8.3"
405
405
  source = { editable = "." }
406
406
  dependencies = [
407
407
  { name = "devhelm" },