pantheon-opencode 1.0.0 → 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.
- package/README.md +61 -109
- package/bin/pantheon-init.mjs +57 -136
- package/commands/pantheon-audit.md +1 -1
- package/commands/pantheon-deepwork.md +32 -81
- package/commands/pantheon-reflect.md +16 -0
- package/commands/pantheon-status.md +1 -1
- package/commands/pantheon-verify.md +17 -0
- package/opencode.json +25 -0
- package/package.json +24 -13
- package/scripts/ci-validate-yaml.py +19 -0
- package/scripts/doctor.mjs +10 -65
- package/scripts/install/opencode.mjs +69 -6
- package/scripts/install/shared.mjs +39 -13
- package/scripts/manifest.mjs +5 -30
- package/scripts/postinstall.mjs +47 -0
- package/scripts/release-bundle.mjs +2 -2
- package/scripts/uninstall.mjs +5 -5
- package/scripts/validate-routing.mjs +19 -16
- package/scripts/versioning.mjs +12 -1
- package/skills-lock.json +9 -2
- package/src/agents/aphrodite.md +15 -57
- package/src/agents/apollo.md +9 -48
- package/src/agents/athena.md +17 -54
- package/src/agents/demeter.md +10 -47
- package/src/agents/gaia.md +7 -40
- package/src/agents/hephaestus.md +9 -52
- package/src/agents/hermes.md +17 -52
- package/src/agents/iris.md +8 -45
- package/src/agents/mnemosyne.md +12 -47
- package/src/agents/nyx.md +8 -45
- package/src/agents/prometheus.md +11 -49
- package/src/agents/talos.md +6 -45
- package/src/agents/themis.md +10 -35
- package/src/agents/zeus.md +5 -7
- package/src/mcp/mcp_resources_server.py +2 -0
- package/src/plugins/tui/dist/tui.tsx +203 -93
- package/src/plugins/tui/src/index.tsx +203 -93
- package/src/routing.yml +33 -93
- package/src/skills/clonedeps/SKILL.md +45 -0
- package/src/skills/codemap/SKILL.md +47 -0
- package/src/skills/loop-engineering/SKILL.md +51 -0
- package/src/skills/reflect/SKILL.md +49 -0
- package/src/skills/simplify/SKILL.md +39 -0
- package/src/skills/verification-planning/SKILL.md +52 -0
- package/src/skills/worktrees/SKILL.md +43 -0
- package/commands/pantheon-bg.md +0 -10
- package/commands/pantheon-consolidate.md +0 -11
- package/commands/pantheon-doc.md +0 -10
- package/commands/pantheon-hash.md +0 -11
- package/commands/pantheon-todo.md +0 -11
- package/docs/AGENT-MCP.md +0 -194
- package/docs/ARCHITECTURE.md +0 -384
- package/docs/BRANCH-PROTECTION.md +0 -142
- package/docs/INDEX.md +0 -81
- package/docs/INSTALLATION.md +0 -217
- package/docs/MCP.md +0 -238
- package/docs/MEMORY.md +0 -471
- package/docs/MIGRATION-MEMORY-BANK.md +0 -139
- package/docs/PLATFORMS.md +0 -5
- package/docs/QUICKSTART.md +0 -49
- package/docs/README.md +0 -18
- package/docs/RELEASING.md +0 -256
- package/docs/SETUP.md +0 -5
- package/docs/UPGRADING.md +0 -41
- package/docs/mcp-recommendations.md +0 -439
- package/docs/mcp-tools.md +0 -156
- package/docs/mcp-user-guide.md +0 -204
- package/docs/persistence-mcp.md +0 -111
- package/scripts/init-pantheon-mcp.sh +0 -118
- package/scripts/install.mjs +0 -26
- package/src/instructions/documentation-standards.instructions.md +0 -53
- 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.
|