From f52453cd36ad2e832f9152ab5136b460191ea82a Mon Sep 17 00:00:00 2001 From: Alex Clarke Date: Mon, 6 Jul 2026 10:10:00 -0600 Subject: [PATCH] docs: Updated the docs to mention that installing the bundled MCP config merges configs now, not overwrites the old one --- MCP-Servers.md | 9 ++++----- REPL.md | 20 ++++++++++---------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/MCP-Servers.md b/MCP-Servers.md index 125b7f8..24f8519 100644 --- a/MCP-Servers.md +++ b/MCP-Servers.md @@ -252,11 +252,10 @@ Coyote ships with a `functions/mcp.json` file that includes some useful MCP serv graph. The server is rooted at the directory Coyote is launched from (`--project .`), runs fully locally (no network access needed), and requires the `iwec` binary. Pairs with the built-in `iwe-knowledge-base` [skill](Skills), which enables this server on load. -The `mcp.json` file is created from a bundled template on first run and is never overwritten afterward. It is your own -configuration to edit freely. To discard your changes and restore the bundled template (for example, to pick up new -default servers after a Coyote update), run `coyote --install mcp_config` (or `.install mcp_config` in the REPL). **This is -destructive:** it replaces your entire `mcp.json`, including your configured servers and any secret references in them, -with the bundled template. +The `mcp.json` file is created from a bundled template on first run. It is your own configuration to edit freely. +To pick up new default servers added in a Coyote update, run `coyote --install mcp_config` (or `.install mcp_config` +in the REPL). This **merges** the bundled template into your existing configuration: only servers not already present +in your file are added; your existing servers and any custom secret references are left untouched. # Coyote Configuration MCP servers, like tools, can be used in a handful of contexts: diff --git a/REPL.md b/REPL.md index 6d6cda1..74e559c 100644 --- a/REPL.md +++ b/REPL.md @@ -264,22 +264,22 @@ directory on first run and are **not** overwritten afterward, so your local edit command force-overwrites a category of bundled assets with the versions packaged in the current Coyote build. This is useful when an update ships improved built-ins you want to adopt. -| Command | Description | -|-----------------------|----------------------------------------------------------------------| -| `.install agents` | Reinstall the built-in agents | -| `.install macros` | Reinstall the built-in macros | -| `.install skills` | Reinstall the built-in skills | -| `.install functions` | Reinstall the built-in tool functions (leaves your `mcp.json` alone) | -| `.install mcp_config` | Replace `mcp.json` with the bundled template (see warning below) | +| Command | Description | +|-----------------------|--------------------------------------------------------------------------------| +| `.install agents` | Reinstall the built-in agents | +| `.install macros` | Reinstall the built-in macros | +| `.install skills` | Reinstall the built-in skills | +| `.install functions` | Reinstall the built-in tool functions (leaves your `mcp.json` alone) | +| `.install mcp_config` | Merge new bundled MCP servers into `mcp.json` (existing servers are preserved) | The same operation is available from the command line: `coyote --install ` (e.g. `coyote --install agents`). `.install` prompts for confirmation before overwriting anything. Assets you created yourself are never touched. Only Coyote's own bundled assets are replaced. -**Warning:** `.install mcp_config` is destructive in a way the others are not. It replaces your entire `mcp.json` -(your configured MCP servers and any secret references in them) with Coyote's bundled template. The other categories -only overwrite Coyote's built-in assets and leave your custom ones alone. +`.install mcp_config` merges the bundled MCP server list into your existing `mcp.json`. Only servers not already +present in your file are added; your existing servers and any custom secret references are left untouched. This +behaves consistently with the other install categories, which also leave your own customizations alone. ## `.install remote` - Install assets from a git repository