feat(mcp-server): implement hyperping[mcp-server] SDK#43
feat(mcp-server): implement hyperping[mcp-server] SDK#43KhaledSalhab-Develeap wants to merge 3 commits into
Conversation
Adds [mcp-server] optional dependency group and mcp to [dev] deps so tests can import it. Lock file regenerated.
Tests covering factory behaviour, per-group tool counts, delegation to mock clients, destructive-operation return shapes, and CLI argument parsing. 43 tests total across 9 test modules.
Exposes all 62 Hyperping operations as agent-callable MCP tools via a create_mcp_server() factory function backed by FastMCP. - 7 domain modules: monitors (10), incidents (7), maintenance (7), outages (8), statuspages (8), healthchecks (7), observability (15) - Factory accepts api_key, pre-configured HyperpingClient, or HyperpingMcpClient; tools= kwarg filters to a subset of groups - CLI entrypoint: python -m hyperping.mcp_server --transport stdio|sse - Lazy re-export of create_mcp_server from hyperping.__init__ keeps mcp import optional at base package load time
Self-review — 5-lens passAll 43 unit tests pass. Full unit suite (643 tests) passes with no regressions. FindingsMedium —
Fix: Add Low — The observability group is not registered at all when Fix (optional, acceptable as followup): either guard registration the same way the observability group does, or add a test that asserts the RuntimeError is raised with the expected message. Nit —
Nit —
Refuted findings
VerdictPASS. One medium finding ( Followups not in this PR
|
|
Reviewer context (not a merge request): Implements the Where to focus review: Risks / verify: Tool docstrings are model-facing; ensure accuracy. Confirm the CI status: Green. CI ran on this branch: Notes: Base of the stack for #46. Looks safe; review this first. |
@PR_BODY.md