go/docs/plans/completed/mcp-integration.md
Snider 12ff432d6b docs: archive completed plans with summaries
Move completed plan documents to docs/plans/completed/ with
concise completion summaries alongside the originals.

Archived: MCP integration, Go API design/plan, CLI meta-package design.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 23:46:13 +00:00

37 lines
1.9 KiB
Markdown

# MCP Integration — Completion Summary
**Completed:** 2026-02-05
**Plan:** `docs/plans/2026-02-05-mcp-integration.md`
## What Was Built
### RAG Tools (`pkg/mcp/tools_rag.go`)
Three MCP tools added to the existing `pkg/mcp` server:
- `rag_query` — semantic search against Qdrant vector DB
- `rag_ingest` — ingest a file or directory into a named collection
- `rag_collections` — list available Qdrant collections (with optional stats)
### Metrics Tools (`pkg/mcp/tools_metrics.go`)
Two MCP tools for agent activity tracking:
- `metrics_record` — write a typed event (agent_id, repo, arbitrary data) to JSONL storage
- `metrics_query` — query events with aggregation by type, repo, and agent; supports human-friendly duration strings (7d, 24h)
Also added `parseDuration()` helper for "Nd"/"Nh"/"Nm" duration strings.
### `core mcp serve` Command (`internal/cmd/mcpcmd/cmd_mcp.go`)
New CLI sub-command registered via `cli.WithCommands()` (not `init()`).
- Runs `pkg/mcp` server over stdio by default
- TCP mode via `MCP_ADDR=:9000` environment variable
- `--workspace` flag to restrict file operations to a directory
Registered in the full CLI variant. i18n strings added for all user-facing text.
### Plugin Configuration
`.mcp.json` created for the `agentic-flows` Claude Code plugin, pointing to `core mcp serve`. Exposes all 15 tools to Claude Code agents via the `core-cli` MCP server name.
## Key Outcomes
- `core mcp serve` is the single entry point for all MCP tooling (file ops, RAG, metrics, language detection, process management, WebSocket, webview/CDP)
- MCP command moved to `go-ai/cmd/mcpcmd/` in final form; the plan's `internal/cmd/mcpcmd/` path reflects the pre-extraction location
- Registration pattern updated from `init()` + `RegisterCommands()` to `cli.WithCommands()` lifecycle hooks
- Services required at runtime: Qdrant (localhost:6333), Ollama with nomic-embed-text (localhost:11434)