pantheon-opencode 1.0.1 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +61 -109
  2. package/bin/pantheon-init.mjs +57 -136
  3. package/commands/pantheon-audit.md +1 -1
  4. package/commands/pantheon-deepwork.md +32 -81
  5. package/commands/pantheon-reflect.md +16 -0
  6. package/commands/pantheon-status.md +1 -1
  7. package/commands/pantheon-verify.md +17 -0
  8. package/opencode.json +25 -0
  9. package/package.json +20 -9
  10. package/scripts/ci-validate-yaml.py +19 -0
  11. package/scripts/doctor.mjs +10 -65
  12. package/scripts/install/opencode.mjs +69 -6
  13. package/scripts/install/shared.mjs +39 -13
  14. package/scripts/manifest.mjs +5 -30
  15. package/scripts/postinstall.mjs +47 -0
  16. package/scripts/release-bundle.mjs +2 -2
  17. package/scripts/uninstall.mjs +5 -5
  18. package/scripts/validate-routing.mjs +19 -16
  19. package/scripts/versioning.mjs +12 -1
  20. package/skills-lock.json +9 -2
  21. package/src/agents/aphrodite.md +15 -57
  22. package/src/agents/apollo.md +9 -48
  23. package/src/agents/athena.md +17 -54
  24. package/src/agents/demeter.md +10 -47
  25. package/src/agents/gaia.md +7 -40
  26. package/src/agents/hephaestus.md +9 -52
  27. package/src/agents/hermes.md +17 -52
  28. package/src/agents/iris.md +8 -45
  29. package/src/agents/mnemosyne.md +12 -47
  30. package/src/agents/nyx.md +8 -45
  31. package/src/agents/prometheus.md +11 -49
  32. package/src/agents/talos.md +6 -45
  33. package/src/agents/themis.md +10 -35
  34. package/src/agents/zeus.md +5 -7
  35. package/src/mcp/mcp_resources_server.py +2 -0
  36. package/src/plugins/tui/dist/tui.tsx +203 -93
  37. package/src/plugins/tui/src/index.tsx +203 -93
  38. package/src/routing.yml +33 -93
  39. package/src/skills/clonedeps/SKILL.md +45 -0
  40. package/src/skills/codemap/SKILL.md +47 -0
  41. package/src/skills/loop-engineering/SKILL.md +51 -0
  42. package/src/skills/reflect/SKILL.md +49 -0
  43. package/src/skills/simplify/SKILL.md +39 -0
  44. package/src/skills/verification-planning/SKILL.md +52 -0
  45. package/src/skills/worktrees/SKILL.md +43 -0
  46. package/commands/pantheon-bg.md +0 -10
  47. package/commands/pantheon-consolidate.md +0 -11
  48. package/commands/pantheon-doc.md +0 -10
  49. package/commands/pantheon-hash.md +0 -11
  50. package/commands/pantheon-todo.md +0 -11
  51. package/docs/AGENT-MCP.md +0 -194
  52. package/docs/ARCHITECTURE.md +0 -384
  53. package/docs/BRANCH-PROTECTION.md +0 -142
  54. package/docs/INDEX.md +0 -81
  55. package/docs/INSTALLATION.md +0 -217
  56. package/docs/MCP.md +0 -238
  57. package/docs/MEMORY.md +0 -471
  58. package/docs/MIGRATION-MEMORY-BANK.md +0 -139
  59. package/docs/PLATFORMS.md +0 -5
  60. package/docs/QUICKSTART.md +0 -49
  61. package/docs/README.md +0 -18
  62. package/docs/RELEASING.md +0 -256
  63. package/docs/SETUP.md +0 -5
  64. package/docs/UPGRADING.md +0 -41
  65. package/docs/mcp-recommendations.md +0 -439
  66. package/docs/mcp-tools.md +0 -156
  67. package/docs/mcp-user-guide.md +0 -204
  68. package/docs/persistence-mcp.md +0 -111
  69. package/scripts/init-pantheon-mcp.sh +0 -118
  70. package/scripts/install.mjs +0 -26
  71. package/src/instructions/documentation-standards.instructions.md +0 -53
  72. package/src/mcp/init-pantheon-mcp.sh +0 -118
@@ -1,439 +0,0 @@
1
- # MCP Server Recommendations for Pantheon
2
-
3
- MCP (Model Context Protocol) servers extend Pantheon agents with external capabilities — library documentation lookup, web search, content fetching, browser automation, and **persistent memory**.
4
-
5
- This document covers the **6 built-in + external MCPs** available to Pantheon agents.
6
-
7
- ---
8
-
9
- ## Our MCPs at a Glance
10
-
11
- | MCP | What it does | Who uses it | Setup |
12
- |-----|-------------|-------------|-------|
13
- | **context7** | Fetches up-to-date, version-specific library documentation | 11 agents (zeus, athena, apollo, hermes, aphrodite, demeter, themis, hephaestus, nyx, talos, gaia) | `npx -y @upstash/context7-mcp` — free, no API key needed |
14
- | ~~exa~~ | *Removed in v3.15.0* | — | Use `websearch` tool instead |
15
- | **playwright** | Browser automation — screenshots, accessibility snapshots | aphrodite, themis, hermes | `npx -y @playwright/mcp@latest` — free, requires Playwright browsers installed |
16
- | **pantheon-resources** | Pantheon framework resources — agents, skills, routing, deepwork, memory bank | all agents | `python scripts/mcp_resources_server.py` — built-in, no setup needed |
17
- | **pantheon-code-mode** | Confined orchestration script execution via MCP | zeus, prometheus, hermes, talos | `python scripts/code_mode_server.py` — built-in, scripts in `.pantheon/code-mode/` |
18
- | **pantheon-memory** | Persistent memory with semantic search, recall, knowledge graph, compression, export | all agents | `python scripts/memory_mcp_server.py` — built-in, requires `chromadb` + `sentence-transformers` |
19
- | **pantheon-persistence** | KV store with FTS5 search, TTL, namespace isolation | all agents | `python scripts/mcp_persistence_server.py` — built-in, zero deps |
20
-
21
- ---
22
-
23
- ## Quick Setup
24
-
25
- ### context7 (Library Documentation)
26
-
27
- **No API key required.** Zero-config after install.
28
-
29
- ```bash
30
- npx -y @upstash/context7-mcp
31
- ```
32
-
33
- **What it provides:**
34
- - `context7_resolve-library-id` — Resolves a package name to a Context7 library ID
35
- - `context7_query-docs` — Queries library documentation with a specific question
36
-
37
- **Used by:** Agents needing current API docs — Hermes (FastAPI), Aphrodite (React), Demeter (SQLAlchemy), Hephaestus (LangChain), etc.
38
-
39
- ---
40
-
41
- > **Note:** Exa MCP was removed in v3.15.0. Use the `websearch` tool instead.
42
-
43
- ---
44
-
45
- ### playwright (Browser Automation)
46
-
47
- Enables browser-level interaction: navigation, screenshot capture, accessibility tree snapshots.
48
-
49
- ```bash
50
- npx -y @playwright/mcp@latest
51
- # Then install browsers:
52
- npx playwright install chromium
53
- ```
54
-
55
- **What it provides:**
56
- - `browser/screenshotPage` — Full-page screenshot capture
57
- - `browser/snapshot` — Accessibility/structured content tree
58
- - Navigation, click, type, and other browser interaction tools
59
-
60
- **Used by:** Aphrodite (visual review pipeline), Themis (visual regression checking).
61
-
62
- ---
63
-
64
- ### pantheon-memory (Persistent Memory)
65
-
66
- Built-in Python MCP server providing multi-strategy memory using ChromaDB + sentence-transformers.
67
-
68
- ```bash
69
- # In the Pantheon project directory
70
- python scripts/memory_mcp_server.py
71
- ```
72
-
73
- Requires Python packages:
74
- ```bash
75
- pip install chromadb sentence-transformers fastmcp
76
- ```
77
-
78
- **What it provides (14 tools + 2 resources):**
79
-
80
- | Category | Tools |
81
- |----------|-------|
82
- | **Store & Recall** | `memory_store`, `memory_recall`, `memory_search` |
83
- | **Knowledge Graph** | `memory_link`, `memory_traverse` |
84
- | **Compression** | `memory_compress`, `memory_expand`, `memory_consolidate` |
85
- | **Management** | `memory_delete`, `memory_update`, `memory_verify`, `memory_cleanup`, `memory_sessions`, `memory_export` |
86
- | **Resources** | `pantheon://memory/sessions`, `pantheon://memory/status` |
87
-
88
- **Key features:**
89
- - **Fusion scoring**: dense vector similarity + 30-day freshness decay + importance boost
90
- - **Knowledge graph**: bidirectional links with relation labels (references, causes, supersedes)
91
- - **Deterministic compression**: DCP-style range compression (not LLM-based)
92
- - **Claim verification**: Shokunin-style freshness validation
93
- - **Markdown export**: formatted output for memory-bank archival
94
-
95
- **Storage:** `~/.pantheon/memory/chroma.sqlite3` (SQLite-backed ChromaDB)
96
-
97
- **Used by:** All 14 agents for persistent memory across sessions. Mnemosyne has the deepest integration (export, consolidate, compress).
98
-
99
- ---
100
-
101
- ### pantheon-persistence (Key-Value Store)
102
-
103
- Built-in Python MCP server providing a lightweight KV store with SQLite + FTS5, TTL, and namespace isolation. Zero external dependencies.
104
-
105
- ```bash
106
- python scripts/mcp_persistence_server.py
107
- ```
108
-
109
- **No external dependencies required.** Uses stdlib only (sqlite3).
110
-
111
- **What it provides (6 tools):**
112
-
113
- | Tool | Signature | Description |
114
- |------|-----------|-------------|
115
- | `kv_store` | `(namespace, key, value, ttl?, scope?)` | Store a key-value pair with optional TTL |
116
- | `kv_get` | `(namespace, key, scope?)` | Retrieve value by namespace+key |
117
- | `kv_delete` | `(namespace, key, scope?)` | Remove an entry |
118
- | `kv_list` | `(namespace, prefix?, scope?, limit?)` | List keys with prefix filter |
119
- | `kv_search` | `(query, namespace?, scope?, limit?)` | FTS5 full-text search with BM25 ranking |
120
- | `purge_expired` | `(scope?, dry_run?)` | Remove expired TTL entries with deletelog |
121
-
122
- **Key features:**
123
- - **FTS5 full-text search**: BM25-ranked searches across keys and values
124
- - **TTL per entry**: automatic expiration filtering at read time
125
- - **Namespace isolation**: logical grouping with prefix listing
126
- - **Dual scope**: project-scoped (`.pantheon/persistence/project.db`) + global (`~/.config/opencode/persistence/global.db`)
127
- - **Deletelog**: audit trail for expired entry purges, rotates at 1MB (keeps last 3)
128
- - **Soft delete**: TTL purge marks entries as deleted instead of immediate removal
129
-
130
- **Comparison with pantheon-memory:**
131
-
132
- | Aspect | persistence | memory |
133
- |--------|-------------|--------|
134
- | Engine | SQLite KV | ChromaDB vector |
135
- | Search | FTS5 (keyword) | cosine similarity (semantic) |
136
- | TTL | ✅ per entry | ❌ |
137
- | Dependencies | zero (stdlib) | chromadb + sentence-transformers |
138
- | Startup | <0.5s | 3-8s |
139
- | Best for | Cache, session state, ephemeral data | Long-term semantic memory |
140
-
141
- **Used by:** All agents for cross-agent caching, session state, and ephemeral data.
142
-
143
- ---
144
-
145
- ## Browser MCPs
146
-
147
- For browser automation, Pantheon supports a range of MCPs from full Chrome (Playwright) to ultra-lightweight engines (Lightpanda). Pick based on your use case.
148
-
149
- | MCP | Engine | Tools | RAM | Speed vs Playwright | Best For |
150
- |-----|--------|-------|-----|---------------------|----------|
151
- | **Playwright MCP** (Microsoft) | Full Chrome | 25+ | ~400MB | 1x (baseline) | SPAs, debugging, screenshot visual review |
152
- | **Lightpanda** (native MCP) | Zig (zero fork) | 11 | ~50MB | **11x faster** | Scraping, docs, simple navigation |
153
- | **Pandabridge** (community) | Lightpanda + CDP | 23 | ~60MB | **9x faster** | Scraping + compact agent interaction |
154
- | **Agent-Browser** (community) | Lightpanda + Chromium fallback | 55 | 50-300MB | Auto-fallback | Production: combines speed + reliability |
155
-
156
- ### Decision Guide
157
-
158
- | If you need... | Pick |
159
- |----------------|------|
160
- | Screenshots, visual review, SPA interaction | **Playwright** (~400MB, 25+ tools) |
161
- | Fast scraping, docs, simple nav (lightweight) | **Lightpanda** (~50MB, 11 tools) |
162
- | Scraping with richer interaction tools | **Pandabridge** (~60MB, 23 tools) |
163
- | Production dual-engine (speed + fallback) | **Agent-Browser** (50-300MB, 55 tools) |
164
-
165
- **Pantheon default:** Playwright MCP — required by Aphrodite's visual review pipeline and Themis for visual regression checking.
166
-
167
- ---
168
-
169
- ## Documentation & Knowledge MCPs
170
-
171
- For library docs, web search, and content extraction — these MCPs overlap in capability but differ in focus:
172
-
173
- | MCP | Benchmark Score | Setup | Best For |
174
- |-----|----------------|-------|----------|
175
- | **context7** | **🥇 89** | `npx -y @upstash/context7-mcp` — free, no API key | Library docs, version-pinned APIs |
176
- | **mcp-fetch** (official) | **🥈 86** | Zero config (built-in to Claude) | Simple webpage fetching |
177
- | ~~Exa Search~~ | *Removed in v3.15.0* | — | Use `websearch` tool instead |
178
- | **Firecrawl** | — | API key required | Web-to-markdown, clean content extraction |
179
-
180
- ### Which One to Use
181
-
182
- | Task | Use |
183
- |------|-----|
184
- | "How do I use FastAPI's `Annotated` dependency injection?" | **context7** — version-pinned library docs |
185
- | "Find recent blog posts about RAG evaluation techniques" | **websearch** — semantic web search |
186
- | "Read this specific article and summarize it" | **mcp-fetch** — zero config, just works |
187
- | "Extract clean markdown from this messy product page" | **Firecrawl** — intelligent content cleaning |
188
-
189
- **Pantheon default:** context7 for library documentation (11 agents, no API key). Exa was removed in v3.15.0 — use the built-in `websearch` tool instead.
190
-
191
- ---
192
-
193
- ## Infrastructure & DevOps MCPs
194
-
195
- Connect Pantheon agents directly to your infrastructure — databases, CI/CD, cloud services, and monitoring.
196
-
197
- | MCP | Official? | Setup | Best For |
198
- |-----|-----------|-------|----------|
199
- | **GitHub MCP** | ✅ Anthropic (official) | GitHub token | PRs, issues, code search, Actions management |
200
- | **Postgres MCP** | ✅ Anthropic (official) | DB credentials | Direct database queries (read-only mode) |
201
- | **Supabase MCP** | ✅ Supabase | API key | Full Supabase stack: DB, auth, storage |
202
- | **Cloudflare MCP** | ✅ Cloudflare | API token | Workers, KV, D1, R2, DNS |
203
- | **Sentry MCP** | ✅ Sentry | DSN | Error tracking, traces, performance in-prompt |
204
- | **Kubernetes MCP** | ❌ Community | kubeconfig | kubectl operations through MCP |
205
- | **AWS MCP** | ❌ Community | AWS credentials | EC2, S3, Lambda, CloudWatch |
206
-
207
- ### Reliability Note (Galaxy/Telemetry — May 2026)
208
-
209
- A production benchmark across **140 tasks over 14 agents** (May 2026) found:
210
-
211
- - **Official Anthropic MCPs** (Filesystem, GitHub, Postgres) — **>85% reliability**
212
- - **Community MCPs** — **34-68% reliability**
213
-
214
- Prefer official servers when available. Community MCPs are useful but budget extra review time.
215
-
216
- ---
217
-
218
- ## Which MCPs Should You Install?
219
-
220
- For most Pantheon setups, start with these **3 core MCPs**:
221
-
222
- | Priority | MCP | Why |
223
- |----------|-----|-----|
224
- | **1 (required)** | **pantheon-memory** | All agents need persistent memory. Zero external dependencies. |
225
- | **2 (required)** | **pantheon-resources** | Framework agents, skills, routing — core Pantheon infra. |
226
- | **3 (recommended)** | **pantheon-persistence** | Lightweight KV for cache, session state, TTL — zero deps, <0.5s startup. |
227
- | **4 (recommended)** | **context7** | 11 agents benefit from library docs. Free, no API key. **Highest benchmark score (89).** |
228
-
229
- Then add based on your workflow:
230
-
231
- | If you... | Add |
232
- |-----------|-----|
233
- | Do frontend visual review | **Playwright MCP** (required by Aphrodite review pipeline) |
234
- | Need web research (Apollo) | **websearch** tool (built-in) |
235
- | Run infrastructure tasks | **GitHub MCP** + **Cloudflare MCP** |
236
- | Hit databases directly | **Postgres MCP** (read-only) or **Supabase MCP** |
237
- | Need fast browser scraping | **Lightpanda** or **Pandabridge** (11-23x RAM savings) |
238
-
239
- ---
240
-
241
- ## Per-Agent Internet Access
242
-
243
- Not all agents need continuous internet. Here's the breakdown:
244
-
245
- | Agent | Internet Needed? | Why |
246
- |-------|----------------|------|
247
- | **gaia** | ✅ **Yes** | Satellite imagery (Copernicus, USGS), remote sensing data APIs |
248
- | **apollo** | ✅ **Yes** | Web search, external research, codebase discovery |
249
- | **hermes** | ⚠️ Optional | Library docs via context7 (cached), not continuous |
250
- | **aphrodite** | ⚠️ Optional | Library docs via context7, CDN resource fetching |
251
- | **demeter** | ⚠️ Optional | Library docs via context7, migration references |
252
- | **zeus** | ⚠️ Optional | Orchestration patterns, reference lookups |
253
- | **athena** | ⚠️ Optional | Planning references, architecture patterns |
254
- | **themis** | ⚠️ Optional | Code review references, security pattern lookups |
255
- | **prometheus** | ⚠️ Optional | Docker registries, package repositories |
256
- | **hephaestus** | ⚠️ Optional | AI model docs, research papers |
257
- | **nyx** | ❌ **Not needed** | All local operations (logs, traces, metrics) |
258
- | **iris** | ❌ **Not needed** | GitHub operations via GitHub MCP (token-based, not web) |
259
- | **mnemosyne** | ❌ **Not needed** | Memory bank operations — all local |
260
- | **talos** | ❌ **Not needed** | Hotfix patches — all local code changes |
261
-
262
- **Key insight:** Only **gaia** and **apollo** require continuous internet. The rest work offline with context7 for cached docs.
263
-
264
- ---
265
-
266
- ## The 3-7 Rule
267
-
268
- Every MCP server adds tools to the agent's context window. Beyond 7 servers, tool selection accuracy degrades significantly.
269
-
270
- | MCP Count | Tool Selection Accuracy | Notes |
271
- |-----------|------------------------|-------|
272
- | 1-3 | Excellent | Zero overhead, fast tool discovery |
273
- | 4-5 | Good | Manageable, small prompt overhead |
274
- | 6-7 | Acceptable | Push the limit — works with disciplined scoping |
275
- | 8+ | **Degraded** | Tool call failures, wrong tool selection, context waste |
276
-
277
- ### Guidelines
278
-
279
- 1. **Start with 2-3** — memory + resources + one domain MCP (e.g., context7)
280
- 2. **Never exceed 7** — beyond this, agents start picking the wrong tool
281
- 3. **Scoped per-agent** — not every agent needs every MCP. Use frontmatter binding (see below)
282
- 4. **Review quarterly** — remove unused MCPs, add ones you actually use
283
-
284
- Pantheon enforces **max 5 MCPs per agent** via frontmatter constraints (see below).
285
-
286
- ---
287
-
288
- ## MCP Configuration via Frontmatter
289
-
290
- Each agent template includes an `mcpServers` field in its frontmatter that declares which MCP servers the agent can use. This enables per-agent MCP binding with tool scoping.
291
-
292
- ### Schema
293
-
294
- ```yaml
295
- mcpServers:
296
- - name: string (required)
297
- tools: [string] (required)
298
- when: string (required)
299
- constraints: object (optional)
300
- queryMode: string ("parameterized-only" | "free")
301
- readOnly: boolean
302
- forbiddenPatterns: [string]
303
- forbiddenFlags: [string]
304
- requiredFlags: [string]
305
- imagePolicy: string ("verified-only" | "any")
306
- auditLog: boolean
307
- ```
308
-
309
- ### Constraints
310
- - Maximum 5 MCPs per agent
311
- - `tools` lists the MCP tools the agent can access
312
- - `when` describes the activation condition
313
-
314
- ### Example
315
-
316
- ```yaml
317
- mcpServers:
318
- - name: context7
319
- tools:
320
- - context7_resolve-library-id
321
- - context7_query-docs
322
- when: "resolving library documentation"
323
- - name: playwright
324
- tools:
325
- - browser_screenshotPage
326
- - browser_snapshot
327
- when: "visual verification needed"
328
- ```
329
-
330
- ### Agent-MCP Mapping
331
-
332
- | Agent | MCPs |
333
- |-------|------|
334
- | @zeus | context7, pantheon-resources, pantheon-code-mode, pantheon-memory, pantheon-persistence |
335
- | @athena | context7, pantheon-resources, pantheon-code-mode, pantheon-memory, pantheon-persistence |
336
- | @apollo | context7, pantheon-resources, pantheon-code-mode, pantheon-memory, pantheon-persistence |
337
- | @hermes | context7, playwright, pantheon-resources, pantheon-code-mode, pantheon-memory, pantheon-persistence |
338
- | @aphrodite | context7, playwright, pantheon-resources, pantheon-code-mode, pantheon-memory, pantheon-persistence |
339
- | @demeter | context7, pantheon-resources, pantheon-code-mode, pantheon-memory, pantheon-persistence |
340
- | @themis | context7, playwright, pantheon-resources, pantheon-code-mode, pantheon-memory, pantheon-persistence |
341
- | @prometheus | context7, pantheon-resources, pantheon-code-mode, pantheon-memory, pantheon-persistence |
342
- | @hephaestus | context7, pantheon-resources, pantheon-code-mode, pantheon-memory, pantheon-persistence |
343
- | @nyx | context7, pantheon-resources, pantheon-code-mode, pantheon-memory, pantheon-persistence |
344
- | @iris | pantheon-resources, pantheon-memory, pantheon-persistence |
345
- | @talos | context7, pantheon-resources, pantheon-code-mode, pantheon-memory, pantheon-persistence |
346
- | @gaia | context7, pantheon-resources, pantheon-memory, pantheon-persistence |
347
- | @mnemosyne | pantheon-resources, pantheon-code-mode, pantheon-memory, pantheon-persistence |
348
-
349
- ---
350
-
351
- ## MCP Tool Discovery Pattern
352
-
353
- When an agent needs external capabilities beyond the codebase:
354
-
355
- 1. **Check if MCP is available** — ask the user or check config
356
- 2. **Use progressive discovery** — don't load all tool definitions; search for the right tool
357
- 3. **Prefer MCP over webfetch** — MCP tools have typed schemas and structured outputs
358
- 4. **Fall back to webfetch** — if no MCP server is configured for the needed capability
359
-
360
- Example (Athena researching a library):
361
- ```
362
- Need: Current FastAPI documentation
363
- MCP: context7/get-library-docs → structured, version-specific
364
- Fallback: web/fetch → unstructured, may be stale
365
- ```
366
-
367
- ---
368
-
369
- ## Security Notes
370
-
371
- - **Never commit secrets** in MCP config files. Use `${VAR}` interpolation for env variables.
372
- - **Sandbox local MCP servers** when possible ( supports `sandboxEnabled: true`).
373
- - **Review MCP tool permissions** before enabling. Some servers expose destructive tools.
374
- - **Playwright** runs headless Chromium locally — ensure it's used in a controlled environment.
375
-
376
- ---
377
-
378
- ## Security Hardening
379
-
380
- See `skill: mcp-security` for complete MCP security rules.
381
-
382
- ### Constraint Types
383
-
384
- | Constraint | Purpose | Example |
385
- |-----------|---------|----------|
386
- | `readOnly` | Prevent write operations | `true` for read-only agents |
387
- | `auditLog` | Require audit comments | `true` for certain operations |
388
-
389
- ### Enforcement
390
-
391
- These constraints are enforced by @themis during code review.
392
-
393
- ---
394
-
395
- ## 🔧 Troubleshooting
396
-
397
- ### MCP Not Connecting
398
-
399
- | Symptom | Likely Cause | Fix |
400
- |---------|-------------|-----|
401
- | "MCP server not found" | Server not installed | Run `npx -y @upstash/context7-mcp` or install via your platform's MCP config |
402
- | "Tool not available" | Agent template missing mcpServers entry | Verify `agents/*.agent.md` has the MCP in frontmatter |
403
- | "Authentication failed" | Missing env var | Check provider credentials |
404
- | "Command not found: npx" | Node.js not installed | Install Node.js 18+ from nodejs.org |
405
- | "Browser not found" | Playwright browsers not installed | Run `npx playwright install chromium` |
406
- | "pantheon-memory not connecting" | Missing Python deps | Run `pip install chromadb sentence-transformers fastmcp` |
407
- | "memory_recall returns empty" | No entries stored | First call `memory_store` to seed the database |
408
- | "Code-mode script not found" | Wrong directory | Scripts must live in `.pantheon/code-mode/` |
409
- | "ChromaDB import error" | out-of-date package | Run `pip install --upgrade chromadb` |
410
-
411
- ### Platform-Specific Issues
412
-
413
- **OpenCode:**
414
- - Config is in `opencode.json` under `mcpServers`
415
- - Run `opencode mcp list` to see configured servers
416
- - Run `opencode mcp debug <name>` to test connectivity
417
-
418
- ** / :**
419
- - Restart after modifying `opencode.json` or `./mcp.json`
420
- - Open Command Palette → `MCP: List Servers` to verify connection
421
-
422
- **:**
423
- - Config is in `.mcp.json` (project) or `~/.claude/settings.json` (global)
424
- - Run `claude mcp list` to verify
425
- - Project config takes precedence over global
426
-
427
- ### Verify MCP is Working
428
-
429
- ```bash
430
- # OpenCode
431
- opencode mcp list
432
- opencode mcp debug context7
433
-
434
- #
435
- claude mcp list
436
-
437
- #
438
- # Command Palette → MCP: List Servers
439
- ```
package/docs/mcp-tools.md DELETED
@@ -1,156 +0,0 @@
1
- # MCP Tool Registry
2
-
3
- Canonical reference for Pantheon agents. Lists every tool across the 3 native MCP servers, with signatures, descriptions, and which agents use them.
4
-
5
- > **Agent tip:** Tool names are platform-dependent. See [Platform Naming Conventions](#platform-naming-conventions) below to map these names to your runtime.
6
-
7
- ---
8
-
9
- ## Servers
10
-
11
- Pantheon provides 4 native MCP servers. See below for full tool registries.
12
-
13
- ### pantheon-resources (read-only)
14
-
15
- Read-only resource server. No tools — read resources directly via `pantheon://` URIs using `read_mcp_resource`.
16
-
17
- | Resource URI | Description |
18
- |---|---|
19
- | `pantheon://agents` | List all 14 agent definitions (YAML frontmatter) |
20
- | `pantheon://agents/{name}` | Single agent config by name (case-insensitive) |
21
- | `pantheon://routing` | Full `routing.yml` — delegation rules, handoff contracts |
22
- | `pantheon://skills` | List all skills with descriptions |
23
- | `pantheon://skills/{name}` | Specific skill `SKILL.md` content |
24
- | `pantheon://deepwork/{slug}` | Deepwork `PLAN.md` |
25
- | `pantheon://deepwork/{slug}/status` | Deepwork `STATUS.md` (defaults to IN_PROGRESS) |
26
- | `pantheon://memory-bank/{path}` | Any file under `.pantheon/memory-bank/` (path traversal blocked) |
27
- | `pantheon://code-mode/scripts` | List all available code-mode scripts |
28
- | `pantheon://code-mode/scripts/{name}` | View script content by name |
29
- | `pantheon://memory/sessions` | List all memory sessions with counts and timestamps |
30
- | `pantheon://memory/status` | Memory server stats: entries, sessions, disk usage |
31
-
32
- **Used by:** ALL agents. Common reads: `routing` (zeus, athena), `agents/{name}` (any), `skills/{name}` (implementers), `memory-bank/{path}` (aphrodite, mnemosyne).
33
-
34
- **Call pattern:**
35
- ```
36
- read_mcp_resource(server="pantheon-resources", uri="pantheon://routing")
37
- ```
38
-
39
- ---
40
-
41
- ### pantheon-memory (persistent storage)
42
-
43
- Vector memory with ChromaDB + sentence-transformers. 14 tools for storing, searching, linking, compressing, and managing memories across sessions.
44
-
45
- | Tool | Signature | Description | Who uses it |
46
- |------|-----------|-------------|-------------|
47
- | `memory_recall` | `(context: str, n_results?: 3)` | Auto-retrieve relevant memories for prompt injection | ALL agents — called at session start |
48
- | `memory_store` | `(content, category?, agent?, session_id?, importance?: 0.5, links?)` | Persist a fact, decision, or pattern | Implementers: hermes, aphrodite, demeter, prometheus, hephaestus, nyx, mnemosyne, zeus |
49
- | `memory_search` | `(query: str, n_results?: 5, category_filter?)` | Vector similarity search with freshness decay + importance boost | apollo, themis, mnemosyne |
50
- | `memory_delete` | `(entry_id: str)` | Permanently delete an entry | mnemosyne only |
51
- | `memory_update` | `(entry_id, content?, category?, importance?)` | Update an existing entry's content/metadata | mnemosyne only |
52
- | `memory_export` | `(session_id?, filename?)` | Export memories as formatted markdown | mnemosyne only |
53
- | `memory_link` | `(from_id, to_id, relation?: "references")` | Create bidirectional relationship between entries | mnemosyne, hephaestus |
54
- | `memory_traverse` | `(entry_id, max_depth?: 1)` | Walk knowledge graph from entry following links | mnemosyne only |
55
- | `memory_compress` | `(session_id, max_entries?: 50, compression_ratio?: 0.5)` | Compress oldest entries into summaries (DCP-style) | mnemosyne only |
56
- | `memory_consolidate` | `(session_id?)` | Merge duplicate/similar entries via cosine similarity | mnemosyne only |
57
- | `memory_verify` | `(entry_id)` | Validate entry exists and check freshness | mnemosyne only |
58
- | `memory_sessions` | `(format?: "json")` | List all unique session IDs with counts and timestamps | mnemosyne, nyx |
59
- | `memory_expand` | `(entry_id)` | Restore a compressed entry back to detailed form | mnemosyne only |
60
- | `memory_cleanup` | `(session_prefix?: "test-")` | Delete test/old sessions (prefix min 3 chars) | mnemosyne only |
61
-
62
- **Call pattern:**
63
- ```
64
- memory_recall(context="implementing JWT auth in FastAPI")
65
- memory_store(content="Decided to use refresh token rotation", category="decision", importance=0.9)
66
- memory_search(query="existing auth patterns", n_results=5)
67
- ```
68
-
69
- ---
70
-
71
- ### pantheon-persistence (KV store + FTS5 search)
72
-
73
- Lightweight key-value store with SQLite FTS5, TTL-based expiration, and namespace isolation. Zero external dependencies (stdlib only).
74
-
75
- | Tool | Signature | Description | Who uses it |
76
- |------|-----------|-------------|-------------|
77
- | `kv_store` | `(namespace, key, value, ttl?, scope?)` | Store a key-value pair with optional TTL (seconds) | ALL agents — cache, session state |
78
- | `kv_get` | `(namespace, key, scope?)` | Retrieve a value by namespace + key (auto-filters expired) | ALL agents — read cached data |
79
- | `kv_delete` | `(namespace, key, scope?)` | Remove a key-value pair | zeus, talos — cleanup tasks |
80
- | `kv_list` | `(namespace, prefix?, scope?, limit?)` | List keys in a namespace with optional prefix filter | apollo, zeus — discovery |
81
- | `kv_search` | `(query, namespace?, scope?, limit?)` | FTS5 full-text search with BM25 ranking | mnemosyne, zeus — find across namespaces |
82
- | `purge_expired` | `(scope?, dry_run?)` | Purge expired TTL entries with deletelog audit trail | mnemosyne, zeus — maintenance |
83
-
84
- **Call pattern:**
85
- ```
86
- kv_store(namespace="cache-apollo", key="api-response", value="...", ttl=3600)
87
- kv_get(namespace="cache-apollo", key="api-response")
88
- kv_search(query="auth token refresh")
89
- purge_expired(scope="project", dry_run=True)
90
- ```
91
-
92
- ---
93
-
94
- ### pantheon-code-mode (script execution)
95
-
96
- Confined automation scripts from `.pantheon/code-mode/`. One tool, 30s timeout, `.sh` and `.py` only.
97
-
98
- | Tool | Signature | Description | Who uses it |
99
- |------|-----------|-------------|-------------|
100
- | `execute_code_script` | `(script_name: str, args?: list[str])` | Run a script from `.pantheon/code-mode/` and return output | Agents with `bash: allow` (zeus, hermes, aphrodite, demeter, themis, prometheus, hephaestus, talos) |
101
-
102
- **NOT available to:** athena, apollo, gaia, iris, nyx, mnemosyne (no bash access).
103
-
104
- **Use cases by agent:**
105
- | Agent | Typical scripts |
106
- |-------|----------------|
107
- | zeus | Orchestration sequences |
108
- | hermes | `pytest`, `ruff check`, `ruff format` |
109
- | aphrodite | `npm test`, `biome check` |
110
- | demeter | `alembic upgrade head && pytest` |
111
- | themis | Lint/quality check scripts during review |
112
- | prometheus | Docker builds, CI/CD pipeline scripts |
113
- | talos | Automated hotfix sequences, batch fixes |
114
-
115
- **Call pattern:**
116
- ```
117
- execute_code_script("lint-and-test.sh", args=["backend/"])
118
- ```
119
-
120
- ---
121
-
122
- ## Platform Naming Conventions
123
-
124
- Each platform exposes MCP tools with different naming. The same tool `memory_recall` from server `pantheon-memory` gets different names:
125
-
126
- | Platform | Naming Pattern | Example for `memory_recall` |
127
- |----------|---------------|-----------------------------|
128
- | **OpenCode** | `{server}_{tool}` | `pantheon-memory_memory_recall` |
129
- | **** | `mcp__{server}__{tool}` | `mcp__pantheon-memory__memory_recall` |
130
- | **** | `<use_mcp_tool>` XML | `<use_mcp_tool><server_name>pantheon-memory</server_name><tool_name>memory_recall</tool_name></use_mcp_tool>` |
131
- | **** | Original name | `memory_recall` (injected via schema) |
132
- | **** | Original name | `memory_recall` (injected via schema) |
133
- | **Continue** | Original name | `memory_recall` (injected via schema) |
134
- | ** ** | Original name | `memory_recall` (injected via schema) |
135
-
136
- ---
137
-
138
- ## Permission Tiers
139
-
140
- | Server | Recommended Tier | Rationale |
141
- |--------|-----------------|-----------|
142
- | pantheon-resources | `allow` | Read-only, same trust boundary as repo |
143
- | pantheon-code-mode | `ask` | Executes scripts — needs user confirmation |
144
- | pantheon-memory | `allow` | Read/write within agent sandbox, no system access |
145
- | pantheon-persistence | `allow` | SQLite KV, same trust boundary as repo |
146
-
147
- ---
148
-
149
- ## Security Notes
150
-
151
- - **pantheon-resources** — path traversal protection on `memory-bank/{path}`
152
- - **pantheon-code-mode** — only `.sh`/`.py` in `.pantheon/code-mode/`, 30s timeout, no `../` escape
153
- - **pantheon-memory** — all data in `~/.pantheon/memory/chroma.sqlite3`, no system-level access
154
- - **pantheon-persistence** — SQLite KV in `~/.pantheon/persistence/`, TTL auto-purge, namespace isolation
155
-
156
- See `skill: mcp-security` for complete rules.