Skip to content

feat: read-only MCP server for Agamemnon state queries#271

Merged
mvillmow merged 1 commit into
mainfrom
173-auto-impl
Jun 29, 2026
Merged

feat: read-only MCP server for Agamemnon state queries#271
mvillmow merged 1 commit into
mainfrom
173-auto-impl

Conversation

@mvillmow

@mvillmow mvillmow commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Add a minimal Model Context Protocol (MCP) server that exposes two read-only tools for AI agents to query live Agamemnon state during development:

  • agamemnon_list_agents: list all known agents
  • agamemnon_list_team_tasks: list tasks for a given team

The implementation follows the plan from issue #173, with a plan-owned Dispatcher seam that makes tests runnable on a clean checkout without accessing MCP SDK internals.

Test plan

  • Unit tests pass (7 new tests for Dispatcher, read-only invariant, adapter shape)
  • All existing tests still pass (55 total)
  • Lint, format, mypy all clean
  • .mcp.json is valid JSON at repo root
  • telemachy-mcp console script available on PATH
  • No write-path symbols in the MCP server module
  • License audit updated (mcp = MIT)
  • Docs/README/CHANGELOG updated

Closes #173

🤖 Generated with Claude Code

@mvillmow mvillmow left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Read-only MCP server + .mcp.json correctly implements #173; verified against list_agents/get_tasks/client_kwargs signatures. No correctness defects.

Comment thread src/telemachy/mcp_server.py
@mvillmow mvillmow force-pushed the 173-auto-impl branch 2 times, most recently from 96db040 to 1978973 Compare June 28, 2026 16:56
mvillmow added a commit that referenced this pull request Jun 29, 2026
Telemachy CI pins setup-pixi to v0.67.2, which can only read pixi
lock-format v6 and fails with "Lock-file version 7 is newer than
supported; Maximum supported version: 6" on any v7 lock. Open PRs
#263/#271/#273/#276 intentionally ship v7 locks (multi-platform
macOS/Windows + large mcp/otel dep trees), so their entire pipeline
dies at `pixi install`.

Bump all 9 pixi-version pins (_required.yml x7, release.yml x2) to
v0.70.2, matching sibling repo Agamemnon which already runs v0.70.2
on main with v7 locks. v0.70.2 is backward-compatible: `pixi install
--locked` against main's current v6 lock succeeds (warn-only, lock not
rewritten), so this does not red main.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: mvillmow <4211002+mvillmow@users.noreply.github.com>
mvillmow added a commit that referenced this pull request Jun 29, 2026
Telemachy CI pins setup-pixi to v0.67.2, which can only read pixi
lock-format v6 and fails with "Lock-file version 7 is newer than
supported; Maximum supported version: 6" on any v7 lock. Open PRs
#263/#271/#273/#276 intentionally ship v7 locks (multi-platform
macOS/Windows + large mcp/otel dep trees), so their entire pipeline
dies at `pixi install`.

Bump all 9 pixi-version pins (_required.yml x7, release.yml x2) to
v0.70.2, matching sibling repo Agamemnon which already runs v0.70.2
on main with v7 locks. v0.70.2 is backward-compatible: `pixi install
--locked` against main's current v6 lock succeeds (warn-only, lock not
rewritten), so this does not red main.

Signed-off-by: mvillmow <4211002+mvillmow@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mvillmow mvillmow enabled auto-merge (squash) June 29, 2026 06:52
@mvillmow mvillmow force-pushed the 173-auto-impl branch 3 times, most recently from 46cba40 to 60e7f5d Compare June 29, 2026 08:39
Add a minimal Model Context Protocol (MCP) server that exposes two
read-only tools for AI agents to query live Agamemnon state during
development:

- agamemnon_list_agents: list all known agents
- agamemnon_list_team_tasks: list tasks for a team

Implementation includes:
- .mcp.json: project-scoped MCP server registration
- src/telemachy/mcp_server.py: Dispatcher seam + SDK adapter
- tests/test_mcp_server.py: comprehensive unit tests
- docs/mcp.md: operator guide and smoke-test recipes
- [project.scripts] entry point for telemachy-mcp console script
- mcp >= 1.0,<2.0 dependency in pixi.toml

The Dispatcher class is testable without the MCP SDK; tests verify
the read-only invariant and adapter shape without accessing SDK
internals.

Closes #173

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Signed-off-by: mvillmow <4211002+mvillmow@users.noreply.github.com>
@mvillmow mvillmow merged commit b5872eb into main Jun 29, 2026
13 of 14 checks passed
@mvillmow mvillmow deleted the 173-auto-impl branch June 29, 2026 08:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[MINOR] §11: No MCP server configuration or integration

1 participant