MCP Server Map
Every MCP (Model Context Protocol) server that an agent in this stack can reach, plus which agents have it wired in, auth method, and what tools it exposes.
Why this map exists. Before this file, "which agent can call which MCP tool?" required reading five config files on three machines. That friction slowed every cross-agent handoff. Read this map before writing an inter-agent brief — if the target agent doesn't have the MCP you expect, the brief will silently fail.
Refresh. Hand-curated. Update whenever an MCP server is added, removed, or its auth rotates. No generator (yet — auto-discovery would need to query each agent's config file, possible future work).
1. TP3-owned MCP servers (Apex-hosted)
These are the ones we run. Everything else in this map is a third-party MCP we *consume*.
| Server | Transport | Endpoint | Auth | Primary tools | Source file |
|---|---|---|---|---|---|
| tp3-omi (memory — canonical) | SSE over HTTPS | https://omi-mcp.thebarnetts.info/rpc | X-TP3-MCP-TOKEN header | twin_memory_write · twin_memory_read · twin_memory_search · twin_memory_list · twin_memory_broadcast · omi_ingest_transcript · omi_get_status · omi_search_memories · omi_search_memories_unified · slack_post_message | tp3_scripts/tp3_mcp_omi_sse_server.py on port 8933 |
| tp3-omi (stdio) | stdio | local process | env TP3_OMI_API_KEY | same as above | tp3_scripts/tp3_mcp_omi_stdio_server.py |
| tp3-omi-public (OAuth gateway) | SSE over HTTPS | https://omi-mcp-public.thebarnetts.info | OAuth 2.1 (for claude.ai web/mobile) | same as tp3-omi | cloudflare/tp3-omi-mcp-gateway/ Worker |
| tp3-biometric | SSE over HTTPS | port 8934 (behind Cloudflare Tunnel if wired) | token header | biometric-specific search/ingest | tp3_scripts/tp3_mcp_biometric_sse_server.py |
| tp3-biometric (stdio) | stdio | local process | env token | same | tp3_scripts/tp3_mcp_biometric_stdio_server.py |
Backing store: Postgres (tp3_memories 3072-d Gemini · tp3_memories_local 768-d Ollama) + MinIO (tp3-omi-raw-events). See data_flow_map.md for upstream/downstream edges.
2. Third-party MCP servers consumed by our agents
| Server | Transport | What it does | Auth | Notes |
|---|---|---|---|---|
| tp3-zapier | Zapier-hosted MCP | Google Docs append + create document | Zapier OAuth | Free tier, 100 tasks/mo, 1 call = 2 tasks. Supersedes the gcloud service-account approach. See reference_zapier_mcp.md. |
| Gmail | hosted | draft · list drafts · search threads · read thread · label ops | OAuth | Used by G16 Claude for email drafting. |
| Google Calendar | hosted | list/create/update/delete events · suggest time · list calendars | OAuth | G16 Claude. |
| Google Docs (direct) | hosted | append text · create from text | OAuth | Redundant with tp3-zapier but direct. |
| HuggingFace | hosted | paper search · hub search · space search · doc fetch · dynamic space | HF token | For research / model discovery. |
| Cloudflare | hosted | R2 · KV · D1 · Hyperdrive · Workers · docs search · account mgmt | CF API token | Matches CLOUDFLARE_API_TOKEN in Apex .env. |
| Slack | hosted | send message · read channel/thread · search · create canvas | Slack token | Use for DMs to Mark (user U0AK03UP9SQ). Keep messages bullet-point, max 10 bullets. |
| Make.com | hosted | scenarios · data stores · hooks · executions · blueprint validation | Make API key | Present; not currently in active use. |
| MCP Registry | hosted | search/suggest connectors | — | Discovery layer — use to find new MCP servers. |
| scheduled-tasks (internal) | hosted | create · list · update scheduled tasks | — | For scheduling remote agent triggers. |
| Chrome DevTools MCP | stdio via WSL | browser automation, DOM inspect, network monitor, console, screenshots | none | Wired via Windows headless Chrome on port 9333. Autostart VBS installed. Restart Claude Code after config change. See reference_chrome_devtools_mcp.md. |
| Claude Preview | stdio | preview start/stop · click · eval · fill · screenshot · snapshot | none | Dev preview automation. |
| Claude in Chrome | stdio | full browser control · tabs · forms · uploads · shortcuts | none | Richer than Chrome DevTools MCP — can drive actual sessions. |
| ccd_directory | stdio | request directory | — | Session-scoped file access grants. |
3. Which agent has which MCP wired in
Blank cells = not yet wired or not confirmed. Fill in as you verify.
| Agent | tp3-omi | tp3-biometric | tp3-zapier | Gmail | Calendar | Slack | Chrome DevTools | Cloudflare |
|---|---|---|---|---|---|---|---|---|
| G16 Claude Code (this session) | ✅ (HTTPS) | — | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Apex Claude Code | ✅ (HTTPS or stdio) | ? | ? | ? | ? | ✅ (via script) | — (no Chrome on Apex headless) | ? |
| claude.ai (web / mobile) | ✅ via omi-mcp-public.thebarnetts.info (OAuth) | — | ✅ | — | — | — | — | — |
| Cursor | ? | ? | — | — | — | — | — | — |
| Antigravity | ✅ registered at C:\Users\Breez\.gemini\antigravity\mcp_config.json (HTTP enable UI broken — stdio proxy workaround pending) | — | — | — | — | — | — | — |
| Gemini CLI (Apex) | ✅ in ~/.gemini/settings.json (--approval-mode yolo for scripts) | — | — | — | — | — | — | — |
| Jules (GitHub) | N/A — Jules only sees GitHub PRs/issues | — | — | — | — | — | — | — |
4. Known gaps / TODOs
- Apex Claude's MCP inventory not fully audited. Needs a one-line
claude mcp listdump committed into this file. - Cursor MCP config unknown. Cursor's MCP support is newer; confirm what's wired and whether it points at public or private omi-mcp endpoint.
- Antigravity tool-enable UI broken for remote HTTP MCP servers. Stdio proxy workaround pending. Track:
project_antigravity.md. - Auth rotation not tracked here — see
credential_map.mdfor rotation state ofTP3_OMI_API_KEY,X-TP3-MCP-TOKEN, etc. - No hot-path latency numbers. Would be useful to know: p50/p95 per MCP tool, updated nightly. Candidate for the
hot-query cachework landing alongside this map.
5. Fast onboarding checklist for a new agent
When a new agent (new Cursor install, new machine, new headless session) needs TP3 memory:
1. Write access → tp3-omi HTTPS (section 1 row 1). Header X-TP3-MCP-TOKEN: <token> from .env.
2. Read-only / OAuth flow (claude.ai web/mobile) → omi-mcp-public.thebarnetts.info.
3. Local stdio fallback (if HTTPS flaps) → point at tp3_mcp_omi_stdio_server.py directly, env TP3_OMI_API_KEY.
4. Verify by calling twin_memory_list with limit: 3. If it returns rows, you're wired.
5. Announce yourself by writing a one-line memory: twin_memory_write with a session_start tag so the next agent sees you joined.
Source of truth
- Our servers:
tp3_scripts/tp3_mcp_*_server.py - Credentials:
.env(gitignored) +credential_map.md - Public gateway:
cloudflare/tp3-omi-mcp-gateway/Worker - Agent configs:
~/.claude/settings.json(G16 + Apex) ·~/.gemini/settings.json(Gemini CLI) ·C:\Users\Breez\.gemini\antigravity\mcp_config.json(Antigravity) · Cursor MCP config (path TBD, fill in when audited)