Skip to content

[v0.5.0] benchmark adapters — competitor MCP tool adapters (Context7, GitMCP, DeepWiki, Ref.tools) #87

Description

@ayhammouda

Context

Parent: #63. Methodology: docs/benchmarks/PUBLIC-BENCHMARK-METHODOLOGY.md (work package 4, real-adapter half — #72 delivered the manifest format; #85 delivered LLM-provider adapters, which are a different axis). Eligibility rules and candidate set (Context7, GitMCP, DeepWiki, Ref.tools) live in the methodology's "Systems Under Test" section.

Status: NOT agent-ready. Filed by the orchestrator per PLAN.md T6(b); Vision must review, pin the competitor versions/endpoints, create the .planning/agent-context/ file (decision 5.14, mirrored as an issue comment), and apply agent-ready before any dispatch.

Goal

Add competitor MCP tool adapters — one per eligible docs MCP — with pinned versions, reproducible invocation, and failure capture, so the maintainer-run live phase can execute every eligible tool cell.

Acceptance criteria (draft — Vision edits before agent-ready)

  • One adapter per competitor in benchmarks/adapters/, each recording: pinned version/package/endpoint/commit, invocation transcript, latency, failure category (tool_failure/timeout/mcp_protocol_crash).
  • Eligibility screening is encoded: an adapter whose competitor cannot be pinned or reproducibly invoked reports a structured exclusion (methodology honesty rule: "Do not drop failed systems silently"), never a silent skip.
  • All unit tests are mock-transport only — zero network calls in CI. Live invocation sits behind the same require_live_environment() guard as [v0.5.0] benchmark adapters — define OpenAI/Google model matrix #85's provider adapters (network at benchmark-runtime is maintainer-controlled live-phase only; the server's own offline-first principle 2.2 is untouched).
  • Competitor terms-of-use check is recorded per adapter in the manifest metadata (methodology eligibility rule).
  • No README/benchmark claims; Refs #63, never Closes #63.

Scope boundaries

In scope: adapter code, pinning metadata, mocked tests, exclusion reporting. Out of scope: running the live benchmark, scoring, reporting, corpus, README.

Forbidden-territory reminder

Standard §2 list applies; merged tests additive-only; any new third-party runtime dependency is a supervisor-review trigger (justify vs stdlib/httpx).

Validation commands

uv run ruff check src/ tests/
uv run ruff check benchmarks/
uv run pyright src/
uv run pyright benchmarks/
uv run pytest --tb=short -q
uv run pytest tests/benchmarks -q
uv run python-docs-mcp-server doctor

Recovery

If a competitor cannot be made reproducible (no pinnable version, terms forbid benchmarking), stop and comment here with the evidence — exclusion is a maintainer call.

Effort estimate

6–10 hours (four adapters).

Refs #63.

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent-readyIssue passed AGENT-EXECUTION-PIPELINE.md §10 pre-flight; scoped for an autonomous agentenhancementNew feature or requestpriority:P2Medium priority

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions