docs: Added workspace-local skills and MCP server configuration documentation
+52
@@ -40,6 +40,58 @@ Every server entry **must** include a `"type"` field set to one of: `"stdio"`, `
|
|||||||
> kit provides. See [Sandbox Compatibility](#sandbox-compatibility) at the bottom of this page for details and
|
> kit provides. See [Sandbox Compatibility](#sandbox-compatibility) at the bottom of this page for details and
|
||||||
> common gotchas.
|
> common gotchas.
|
||||||
|
|
||||||
|
## Workspace-Local MCP Servers
|
||||||
|
|
||||||
|
In addition to the global `functions/mcp.json`, Coyote automatically loads a workspace-local MCP config from `.coyote/mcp.json`
|
||||||
|
in the current directory at startup. This lets you ship project-specific MCP servers alongside your code without
|
||||||
|
touching your global configuration.
|
||||||
|
|
||||||
|
```
|
||||||
|
<project-root>/
|
||||||
|
└── .coyote/
|
||||||
|
└── mcp.json # same format as functions/mcp.json
|
||||||
|
```
|
||||||
|
|
||||||
|
The workspace file uses the exact same format as the global `functions/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.
|
||||||
|
|
||||||
|
When workspace MCP servers are loaded, Coyote prints a startup notice listing them:
|
||||||
|
|
||||||
|
```
|
||||||
|
Loading workspace MCP servers: my-db, project-search
|
||||||
|
```
|
||||||
|
|
||||||
|
**Error handling:** missing vault secrets and invalid server specs in the workspace file produce a warning and are
|
||||||
|
skipped. They do not prevent Coyote from starting (unlike the global file, where missing secrets are a hard error).
|
||||||
|
|
||||||
|
### Opting out
|
||||||
|
|
||||||
|
To disable workspace MCP loading for a session, pass `--no-workspace-mcp`:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
coyote --no-workspace-mcp
|
||||||
|
```
|
||||||
|
|
||||||
|
To disable it permanently in your config:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
no_workspace_mcp: true
|
||||||
|
```
|
||||||
|
|
||||||
|
### Pairing workspace MCPs with workspace skills
|
||||||
|
|
||||||
|
Workspace MCP servers can be referenced in `.coyote/skills/` skill frontmatter just like global servers:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
---
|
||||||
|
description: Run project-specific database queries.
|
||||||
|
enabled_mcp_servers: my-db
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
|
See [Workspace-Local Skills](Skills#workspace-local-skills) for details.
|
||||||
|
|
||||||
## Transport Types
|
## Transport Types
|
||||||
|
|
||||||
Coyote supports three MCP transport types:
|
Coyote supports three MCP transport types:
|
||||||
|
|||||||
+27
@@ -66,6 +66,33 @@ it.
|
|||||||
|
|
||||||
To see complete examples, look at the [bundled built-in skills](https://github.com/Dark-Alex-17/coyote/tree/main/assets/skills).
|
To see complete examples, look at the [bundled built-in skills](https://github.com/Dark-Alex-17/coyote/tree/main/assets/skills).
|
||||||
|
|
||||||
|
## Workspace-Local Skills
|
||||||
|
|
||||||
|
In addition to global skills, Coyote discovers skills local to the current working directory. Place a skill under `.coyote/skills/`
|
||||||
|
in your project root and it becomes available whenever you run Coyote from that directory (or any subdirectory):
|
||||||
|
|
||||||
|
```
|
||||||
|
<project-root>/
|
||||||
|
└── .coyote/
|
||||||
|
└── skills/
|
||||||
|
└── <skill-name>/
|
||||||
|
└── SKILL.md
|
||||||
|
```
|
||||||
|
|
||||||
|
Workspace skills work identically to global skills; same `SKILL.md` format, same frontmatter fields, same composition rules.
|
||||||
|
The only differences are:
|
||||||
|
|
||||||
|
- **Discovery:** Coyote scans `.coyote/skills/` in addition to the global skills directory.
|
||||||
|
- **Precedence:** If a workspace skill and a global skill share the same name, the workspace version wins.
|
||||||
|
- **Scope:** Workspace skills are only visible when running from that directory tree; they do not appear in other projects.
|
||||||
|
|
||||||
|
This is useful for project-specific workflows: a `db-migration` skill with your team's migration conventions, a `deploy`
|
||||||
|
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`
|
||||||
|
(see [Workspace-Local MCP Servers](MCP-Servers#workspace-local-mcp-servers)).
|
||||||
|
|
||||||
## Frontmatter
|
## Frontmatter
|
||||||
|
|
||||||
The YAML frontmatter at the top of `SKILL.md` is where you declare the skill's metadata and what extra capabilities it
|
The YAML frontmatter at the top of `SKILL.md` is where you declare the skill's metadata and what extra capabilities it
|
||||||
|
|||||||
Reference in New Issue
Block a user