docs: updated the docs to reflect the new and preferred mcp.json file location
+1
-1
@@ -67,7 +67,7 @@ description: <description> # Description of the agent, used in the UI
|
||||
version: 1 # Version of the agent
|
||||
# Function Calling Configuration
|
||||
mcp_servers: # Optional list of MCP servers that the agent utilizes
|
||||
- github # Corresponds to the name of an MCP server in the `<coyote-config-dir>/functions/mcp.json` file
|
||||
- github # Corresponds to the name of an MCP server in the `<coyote-config-dir>/mcp.json` file
|
||||
global_tools: # Optional list of additional global tools to enable for the agent; i.e. not tools specific to the agent
|
||||
- web_search
|
||||
- fs
|
||||
|
||||
+19
-12
@@ -17,18 +17,25 @@ number of configured MCP servers, enabling too many MCP servers may overwhelm th
|
||||
and quickly exceed token limits.
|
||||
|
||||
# MCP Server Configuration
|
||||
Coyote stores the MCP server configuration file, `functions/mcp.json`, in the `functions` directory. You can find
|
||||
this directory using the following command:
|
||||
Coyote stores the user-scope MCP server configuration file, `mcp.json`, directly in the Coyote configuration
|
||||
directory (e.g. `~/.config/coyote/mcp.json` on Linux). You can find the resolved location of the file Coyote is
|
||||
actually using with the following command:
|
||||
|
||||
```shell
|
||||
coyote --info | grep functions_dir | awk '{print $2}'
|
||||
coyote --info | grep mcp_config_file | awk '{print $2}'
|
||||
```
|
||||
|
||||
The syntax for the `functions/mcp.json` file matches [Claude Code's `.mcp.json` configuration format](https://docs.claude.com/en/docs/claude-code/mcp),
|
||||
> [!NOTE]
|
||||
> **Historical location:** older Coyote versions stored this file at `functions/mcp.json` inside the `functions`
|
||||
> directory. That location is still fully supported: if `<config-dir>/mcp.json` does not exist but
|
||||
> `<config-dir>/functions/mcp.json` does, Coyote keeps using the historical file. Existing installs continue to
|
||||
> work unchanged, and there is no need to move the file. If both files exist, `<config-dir>/mcp.json` wins.
|
||||
|
||||
The syntax for the `mcp.json` file matches [Claude Code's `.mcp.json` configuration format](https://docs.claude.com/en/docs/claude-code/mcp),
|
||||
with one small difference: the `type` field is **always required** in Coyote, even for stdio servers (Claude Code
|
||||
allows it to be omitted and infers `stdio` from the presence of a `command`). So any time you're looking to add
|
||||
a new server, look at its docs and find the Claude Code configuration example. You should be able to use the
|
||||
exact same configuration in your `functions/mcp.json` file. Just make sure every entry has an explicit `type`.
|
||||
exact same configuration in your `mcp.json` file. Just make sure every entry has an explicit `type`.
|
||||
|
||||
**Note:** Coyote does not support Claude Code's `"streamable-http"` alias (use `"http"` instead) or `envFile`.
|
||||
For secrets, use [Coyote Vault](Vault) interpolation rather than Claude Code's `${VAR}` shell-style expansion.
|
||||
@@ -45,7 +52,7 @@ Every server entry **must** include a `"type"` field set to one of: `"stdio"`, `
|
||||
|
||||
## Workspace-Local MCP Servers
|
||||
|
||||
In addition to the global `functions/mcp.json`, Coyote automatically loads a workspace-local MCP config at startup.
|
||||
In addition to the global `mcp.json`, Coyote automatically loads a workspace-local MCP config at startup.
|
||||
This lets you ship project-specific MCP servers alongside your code without touching your global configuration.
|
||||
|
||||
Coyote checks the following locations in order and loads the **first** file it finds:
|
||||
@@ -57,7 +64,7 @@ Coyote checks the following locations in order and loads the **first** file it f
|
||||
```
|
||||
<project-root>/
|
||||
├── .coyote/
|
||||
│ └── mcp.json # same format as functions/mcp.json (preferred)
|
||||
│ └── mcp.json # same format as the global mcp.json (preferred)
|
||||
└── .mcp.json # Claude Code-compatible fallback
|
||||
```
|
||||
|
||||
@@ -66,7 +73,7 @@ directory name is also customizable via the `COYOTE_WORKSPACE_CONFIG_DIR`
|
||||
[environment variable](Environment-Variables), so you can point Coyote at another tool's config directory
|
||||
(e.g. `.cursor/`, which holds an `mcp.json`) entirely.
|
||||
|
||||
The workspace file uses the exact same format as the global `functions/mcp.json`, including [Vault](Vault) secret
|
||||
The workspace file uses the exact same format as the global `mcp.json`, including [Vault](Vault) secret
|
||||
interpolation via `{{SECRET_NAME}}` syntax. Workspace server names shadow global ones on collision. This means that
|
||||
if both files define a server named `my-db`, the workspace version takes precedence.
|
||||
|
||||
@@ -473,7 +480,7 @@ to:
|
||||
|
||||
| Value | File |
|
||||
|-------------|-----------------------------------------------------------------------------------------------|
|
||||
| `user` | `~/.config/coyote/functions/mcp.json` (global; the default) |
|
||||
| `user` | `~/.config/coyote/mcp.json` (global; the default) |
|
||||
| `workspace` | `.coyote/mcp.json` (project-local; created if missing) |
|
||||
|
||||
For workspace scope, Coyote reads from the first existing file in the precedence order documented in
|
||||
@@ -529,7 +536,7 @@ If you decline a prompt, the add is aborted and no config changes are written.
|
||||
time.
|
||||
|
||||
# Default MCP Servers
|
||||
Coyote ships with a `functions/mcp.json` file that includes some useful MCP servers:
|
||||
Coyote ships with an `mcp.json` file that includes some useful MCP servers:
|
||||
|
||||
* [atlassian](https://github.com/atlassian/atlassian-mcp-server) - Interact with and manage Atlassian tools like Confluence and Jira.
|
||||
* [github](https://github.com/github/github-mcp-server) - Interact with GitHub repositories, issues, pull requests, and more.
|
||||
@@ -695,7 +702,7 @@ Enabling a server in any of these contexts exposes its capability-gated meta-fun
|
||||
[Interacting with MCP Servers](#interacting-with-mcp-servers) above.
|
||||
|
||||
***Note:** The names of each MCP server referenced in the below configuration properties directly corresponds
|
||||
to the names given in the `functions/mcp.json` configuration file. So if you change the name of an MCP server
|
||||
to the names given in the `mcp.json` configuration file. So if you change the name of an MCP server
|
||||
from `slack` to `lucem-slack`, then you need to also update your Coyote configuration accordingly.
|
||||
|
||||
## Global Configuration
|
||||
@@ -717,7 +724,7 @@ enabled_mcp_servers: null # Which MCP servers to enable by default.
|
||||
```
|
||||
|
||||
A special note about `enabled_mcp_servers`: a user can set this to `all` (or include `all` in the list) to enable all
|
||||
configured MCP servers in the `functions/mcp.json` configuration.
|
||||
configured MCP servers in the `mcp.json` configuration.
|
||||
|
||||
(See the [Configuration Example](https://github.com/Dark-Alex-17/coyote/blob/main/config.example.yaml) file for an example global configuration with all options.)
|
||||
|
||||
|
||||
+1
-1
@@ -92,7 +92,7 @@ This is useful for project-specific workflows: a `db-migration` skill with your
|
||||
skill that loads the project's deployment MCP server, or any other task-specific overlay that doesn't belong in your
|
||||
global configuration.
|
||||
|
||||
Workspace skills can reference MCP servers from both the global `functions/mcp.json` and the workspace `.coyote/mcp.json`
|
||||
Workspace skills can reference MCP servers from both the global `mcp.json` and the workspace `.coyote/mcp.json`
|
||||
(see [Workspace-Local MCP Servers](MCP-Servers#workspace-local-mcp-servers)).
|
||||
|
||||
## Frontmatter
|
||||
|
||||
+1
-1
@@ -211,7 +211,7 @@ At the time of writing, the following files support Coyote secret injection:
|
||||
| File Type | Description | Limitations |
|
||||
|-------------------------|------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `config.yaml` | The main Coyote configuration file | Cannot use secret injection on the `vault_password_file` field or anywhere inside the `secrets_provider` block |
|
||||
| `functions/mcp.json` | The MCP server configuration file | |
|
||||
| `mcp.json` | The MCP server configuration file | |
|
||||
| `<agent>/tools.<py/sh>` | Tool files for agents | Specific configuration and only supported for Agents, not all global tools ([see below](#environment-variable-secret-injection-in-agents)) |
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user