From b3448031088447d76d80ac6b2bfa08320973a2d9 Mon Sep 17 00:00:00 2001 From: Igor Soarez Date: Thu, 29 Oct 2026 21:40:43 +0000 Subject: pi: generate mcp.json from ~/.config/pi/mcp.d fragments pi reads user-level MCP servers from one file, and a private layer linked that file to the same copy on every host -- so every host got a server only one machine could run. Build it the way models.json is built, from fragments another layer or one machine drops in mcp.d; this repo ships none, and with none the file is left absent. pi-models.py becomes pi-merge.py, which takes the key to merge and an optional base file, and serves both. --- AGENTS.md | 2 ++ 1 file changed, 2 insertions(+) (limited to 'AGENTS.md') diff --git a/AGENTS.md b/AGENTS.md index 2658b34..fd81c8c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -67,6 +67,7 @@ what it needs through these, each of them optional and absent by default: | `~/.claude/rules/*.md` | extra Claude Code user memory, loaded next to `config/claude/CLAUDE.md` | | `~/.config/pi/settings.d/*.json` | pi settings merged into the generated `~/.pi/agent/settings.json` by `link/pi.sh` | | `~/.config/pi/models.d/*.json` | pi providers merged into the generated `~/.pi/agent/models.json` by `link/pi.sh` | +| `~/.config/pi/mcp.d/*.json` | pi MCP servers, merged into the generated `~/.pi/agent/mcp.json` by `link/pi.sh`; this repo ships none | | `~/.pi/agent/extensions/*`, real files | pi extensions only this machine has -- herdr's pi integration installs `herdr-agent-state.ts` here | pi itself, beside the repo's extensions, which `link/pi.sh` links in one by one | A credential in a pi provider -- `apiKey`, or anything under `headers` -- is a @@ -189,6 +190,7 @@ tracked config says so, and in no repo: | `~/.config/dot/skip` | which `link/` parts this machine does not want, one name per line | `link/lib.sh`, as each part starts | | `~/.config/dot/inbox-key` | the key this machine signs change requests with | `bin/dot-request` | | `~/.config/pi/models.d/*.json` | pi providers only this machine has -- a model served somewhere other than a vendor's own API | `link/pi.sh`, merged over `config/pi/models.json` | +| `~/.config/pi/mcp.d/*.json` | pi MCP servers only this machine has | `link/pi.sh`, merged into `~/.pi/agent/mcp.json` | Not covered today: bat, lsd, and `~/.claude/settings.json` -- which a machine can only leave alone entirely, by naming `claude` in the skip file. -- cgit v1.2.3