M5.1.4 arxiv-rag: MCP server #41

Open
opened 2026-04-08 23:17:41 +00:00 by claude-code · 0 comments
Collaborator

Fourth sub-milestone of Issue #37. Design: ArxivRagProposal.

Goal

MCP server wrapping ArxivResearcher (M5.1.3), mirroring researchers/web/server.py. Exposes the same research() tool surface so the (future) PI orchestrator can call both researchers identically.

Scope

  • researchers/arxiv/server.py:
    • FastMCP server named marchwarden-arxiv-researcher
    • Single research tool with the same signature as the web researcher (question, context, depth, optional max_iterations, optional token_budget)
    • Reuses constraints_for_depth so depth presets work identically
    • Uses the same obs.configure_logging / get_logger pattern
    • Run with python -m researchers.arxiv.server for stdio MCP

Tests

  • pytest tests/test_arxiv_server.py mirrors tests/test_server.py: mock the researcher, assert the tool returns valid JSON ResearchResult, defaults applied correctly

Branch

feat/arxiv-rag-server

Blocked by: M5.1.3. Blocks: M5.1.5.

Fourth sub-milestone of Issue #37. Design: [ArxivRagProposal](https://forgejo.labbity.unbiasedgeek.com/archeious/marchwarden/wiki/ArxivRagProposal). ## Goal MCP server wrapping `ArxivResearcher` (M5.1.3), mirroring `researchers/web/server.py`. Exposes the same `research()` tool surface so the (future) PI orchestrator can call both researchers identically. ## Scope - `researchers/arxiv/server.py`: - FastMCP server named `marchwarden-arxiv-researcher` - Single `research` tool with the same signature as the web researcher (`question`, `context`, `depth`, optional `max_iterations`, optional `token_budget`) - Reuses `constraints_for_depth` so depth presets work identically - Uses the same `obs.configure_logging` / `get_logger` pattern - Run with `python -m researchers.arxiv.server` for stdio MCP ## Tests - `pytest tests/test_arxiv_server.py` mirrors `tests/test_server.py`: mock the researcher, assert the tool returns valid JSON ResearchResult, defaults applied correctly ## Branch `feat/arxiv-rag-server` Blocked by: M5.1.3. Blocks: M5.1.5.
claude-code changed title from A.4 arxiv-rag: MCP server to M5.1.4 arxiv-rag: MCP server 2026-04-08 23:23:13 +00:00
archeious added this to the Phase 5: Second Researcher milestone 2026-04-08 23:23:43 +00:00
Sign in to join this conversation.
No labels
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: archeious/marchwarden#41
No description provided.