docs: Added example MCP server allowlisting to the example configuration files
This commit is contained in:
@@ -14,7 +14,8 @@
|
|||||||
model: openai:gpt-4o # Specify the LLM to use
|
model: openai:gpt-4o # Specify the LLM to use
|
||||||
temperature: null # Set default temperature parameter, range (0, 1)
|
temperature: null # Set default temperature parameter, range (0, 1)
|
||||||
top_p: null # Set default top-p parameter, with a range of (0, 1) or (0, 2) depending on the model
|
top_p: null # Set default top-p parameter, with a range of (0, 1) or (0, 2) depending on the model
|
||||||
reasoning_effort: null # Reasoning effort level for models that support it (e.g. low, medium, high).
|
reasoning_effort:
|
||||||
|
null # Reasoning effort level for models that support it (e.g. low, medium, high).
|
||||||
# Only valid when the agent's model declares reasoning_levels.
|
# Only valid when the agent's model declares reasoning_levels.
|
||||||
agent_session: null # Set a session to use when starting the agent. (e.g. temp, default); defaults to globally set agent_session
|
agent_session: null # Set a session to use when starting the agent. (e.g. temp, default); defaults to globally set agent_session
|
||||||
name: <agent-name> # Name of the agent, used in the UI and logs
|
name: <agent-name> # Name of the agent, used in the UI and logs
|
||||||
@@ -41,7 +42,8 @@ can_spawn_agents: false # Enable the agent to spawn child agents
|
|||||||
# Graph agents (graph.yaml) ignore this; they declare spawn targets in agent nodes.
|
# Graph agents (graph.yaml) ignore this; they declare spawn targets in agent nodes.
|
||||||
max_concurrent_agents: 4 # Maximum number of agents that can run simultaneously
|
max_concurrent_agents: 4 # Maximum number of agents that can run simultaneously
|
||||||
max_agent_depth: 3 # Maximum nesting depth for sub-agents (prevents runaway spawning)
|
max_agent_depth: 3 # Maximum nesting depth for sub-agents (prevents runaway spawning)
|
||||||
max_concurrent_jobs: 5 # Max background jobs (`job__*` tools) running at once for this agent
|
max_concurrent_jobs:
|
||||||
|
5 # Max background jobs (`job__*` tools) running at once for this agent
|
||||||
# (overrides the global setting; 0 disables background jobs for this agent)
|
# (overrides the global setting; 0 disables background jobs for this agent)
|
||||||
inject_spawn_instructions: true # Inject the default agent spawning instructions into the agent's system prompt
|
inject_spawn_instructions: true # Inject the default agent spawning instructions into the agent's system prompt
|
||||||
summarization_model: null # Model to use for summarizing sub-agent output (e.g. 'openai:gpt-4o-mini'); defaults to current model
|
summarization_model: null # Model to use for summarizing sub-agent output (e.g. 'openai:gpt-4o-mini'); defaults to current model
|
||||||
@@ -49,26 +51,34 @@ summarization_threshold: 4000 # Character threshold above which sub-agent out
|
|||||||
escalation_timeout: 300 # Seconds a sub-agent waits for a user interaction response before timing out (default: 5 minutes)
|
escalation_timeout: 300 # Seconds a sub-agent waits for a user interaction response before timing out (default: 5 minutes)
|
||||||
mcp_servers: # Optional list of MCP servers that the agent utilizes
|
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>/mcp.json` file
|
- github # Corresponds to the name of an MCP server in the `<coyote-config-dir>/mcp.json` file
|
||||||
|
mcp_tools: # Optional per-server tool allowlist for the agent's MCP servers
|
||||||
|
github: # (glob patterns: * and ?). Intersects with the global config,
|
||||||
|
- get_* # mcp.json `allowedTools`, and every other configured layer. It
|
||||||
|
- search_* # can only narrow access, never widen it.
|
||||||
global_tools: # Optional list of additional global tools to enable for the agent; i.e. not tools specific to the agent
|
global_tools: # Optional list of additional global tools to enable for the agent; i.e. not tools specific to the agent
|
||||||
- web_search
|
- web_search
|
||||||
- fs
|
- fs
|
||||||
- python
|
- python
|
||||||
skills_enabled: true # Master switch for skills in this agent (default: inherit from global).
|
skills_enabled:
|
||||||
|
true # Master switch for skills in this agent (default: inherit from global).
|
||||||
# Skills also require `function_calling_support: true` in the global config.
|
# Skills also require `function_calling_support: true` in the global config.
|
||||||
enabled_skills: # Optional list of skills available when this agent runs.
|
enabled_skills: # Optional list of skills available when this agent runs.
|
||||||
# Must be a subset of global `visible_skills`. Omit to inherit the global default.
|
# Must be a subset of global `visible_skills`. Omit to inherit the global default.
|
||||||
- git-master
|
- git-master
|
||||||
- ai-slop-remover
|
- ai-slop-remover
|
||||||
inject_skill_instructions: true # Inject a short hint pointing the model at `skill__list` when skills are enabled
|
inject_skill_instructions:
|
||||||
|
true # Inject a short hint pointing the model at `skill__list` when skills are enabled
|
||||||
# (default: true). Suppressed automatically when no skills are available.
|
# (default: true). Suppressed automatically when no skills are available.
|
||||||
skill_instructions: null # Custom text for the skill hint (optional; uses built-in default if null)
|
skill_instructions: null # Custom text for the skill hint (optional; uses built-in default if null)
|
||||||
enabled_macros: # Optional list of macros invocable when this agent is active in the REPL.
|
enabled_macros: # Optional list of macros invocable when this agent is active in the REPL.
|
||||||
- generate-commit-message # An empty list disables all macros. Omit to inherit the role/global default.
|
- generate-commit-message # An empty list disables all macros. Omit to inherit the role/global default.
|
||||||
memory: null # Per-agent memory override (default: inherit). Set to `false` to disable memory
|
memory:
|
||||||
|
null # Per-agent memory override (default: inherit). Set to `false` to disable memory
|
||||||
# for this agent regardless of workspace/global presence. See the Memory wiki page.
|
# for this agent regardless of workspace/global presence. See the Memory wiki page.
|
||||||
|
|
||||||
dynamic_instructions: false # Whether to use dynamic instructions for the agent; if false, static instructions are used
|
dynamic_instructions: false # Whether to use dynamic instructions for the agent; if false, static instructions are used
|
||||||
instructions: | # Static instructions for the agent; ignored if dynamic instructions are used
|
instructions:
|
||||||
|
| # Static instructions for the agent; ignored if dynamic instructions are used
|
||||||
You are a AI agent designed to demonstrate agent capabilities.
|
You are a AI agent designed to demonstrate agent capabilities.
|
||||||
|
|
||||||
<tools>
|
<tools>
|
||||||
|
|||||||
+49
-22
@@ -2,7 +2,8 @@
|
|||||||
model: openai:gpt-4o # Specify the LLM to use
|
model: openai:gpt-4o # Specify the LLM to use
|
||||||
temperature: null # Set default temperature parameter (0, 1)
|
temperature: null # Set default temperature parameter (0, 1)
|
||||||
top_p: null # Set default top-p parameter, with a range of (0, 1) or (0, 2) depending on the model
|
top_p: null # Set default top-p parameter, with a range of (0, 1) or (0, 2) depending on the model
|
||||||
reasoning_effort: null # Reasoning effort level for models that support it (e.g. low, medium, high).
|
reasoning_effort:
|
||||||
|
null # Reasoning effort level for models that support it (e.g. low, medium, high).
|
||||||
# Only valid when the active model declares reasoning_levels. See the Clients docs.
|
# Only valid when the active model declares reasoning_levels. See the Clients docs.
|
||||||
|
|
||||||
# ---- Behavior ----
|
# ---- Behavior ----
|
||||||
@@ -31,10 +32,8 @@ sync_models_url: > # URL to sync model changes from
|
|||||||
|
|
||||||
# ---- REPL Prompt ----
|
# ---- REPL Prompt ----
|
||||||
# Custom REPL left/right prompts; see the [REPL Prompt Documentation](https://github.com/Dark-Alex-17/coyote/wiki/REPL-Prompt) for more information
|
# Custom REPL left/right prompts; see the [REPL Prompt Documentation](https://github.com/Dark-Alex-17/coyote/wiki/REPL-Prompt) for more information
|
||||||
left_prompt:
|
left_prompt: '{color.red}{model}){color.green}{?session {?agent {agent}>}{session}{?role /}}{!session {?agent {agent}>}}{role}{?rag @{rag}}{color.cyan}{?session )}{!session >}{color.reset} '
|
||||||
'{color.red}{model}){color.green}{?session {?agent {agent}>}{session}{?role /}}{!session {?agent {agent}>}}{role}{?rag @{rag}}{color.cyan}{?session )}{!session >}{color.reset} '
|
right_prompt: '{color.cyan}{?reasoning_effort [{reasoning_effort}] }{color.purple}{?session {?consume_tokens {consume_tokens}({consume_percent}%)}{!consume_tokens {consume_tokens}}}{color.reset}'
|
||||||
right_prompt:
|
|
||||||
'{color.cyan}{?reasoning_effort [{reasoning_effort}] }{color.purple}{?session {?consume_tokens {consume_tokens}({consume_percent}%)}{!consume_tokens {consume_tokens}}}{color.reset}'
|
|
||||||
|
|
||||||
# ---- Vault ----
|
# ---- Vault ----
|
||||||
# See the [Vault documentation](https://github.com/Dark-Alex-17/coyote/wiki/Vault) for more information on the Coyote vault.
|
# See the [Vault documentation](https://github.com/Dark-Alex-17/coyote/wiki/Vault) for more information on the Coyote vault.
|
||||||
@@ -85,7 +84,8 @@ vault_password_file: null # Path to a file containing the password for th
|
|||||||
function_calling_support: true # Enables or disables function calling (Globally).
|
function_calling_support: true # Enables or disables function calling (Globally).
|
||||||
mapping_tools: # Alias for a tool or toolset
|
mapping_tools: # Alias for a tool or toolset
|
||||||
fs: 'fs_cat,fs_ls,fs_mkdir,fs_rm,fs_write,fs_read,fs_glob,fs_grep'
|
fs: 'fs_cat,fs_ls,fs_mkdir,fs_rm,fs_write,fs_read,fs_glob,fs_grep'
|
||||||
enabled_tools: null # Which tools to enable by default.
|
enabled_tools:
|
||||||
|
null # Which tools to enable by default.
|
||||||
# Accepts either a YAML list or a comma-separated string. Use 'all' to enable everything.
|
# Accepts either a YAML list or a comma-separated string. Use 'all' to enable everything.
|
||||||
# Example (list form):
|
# Example (list form):
|
||||||
# enabled_tools:
|
# enabled_tools:
|
||||||
@@ -129,7 +129,8 @@ visible_tools: # Which tools are visible to be compiled (and a
|
|||||||
mcp_server_support: true # Enables or disables MCP servers (globally).
|
mcp_server_support: true # Enables or disables MCP servers (globally).
|
||||||
mapping_mcp_servers: # Alias for an MCP server or set of servers
|
mapping_mcp_servers: # Alias for an MCP server or set of servers
|
||||||
git: github,gitmcp
|
git: github,gitmcp
|
||||||
enabled_mcp_servers: null # Which MCP servers to enable by default.
|
enabled_mcp_servers:
|
||||||
|
null # Which MCP servers to enable by default.
|
||||||
# Accepts either a YAML list or a comma-separated string. Use 'all' to enable everything.
|
# Accepts either a YAML list or a comma-separated string. Use 'all' to enable everything.
|
||||||
# Example (list form):
|
# Example (list form):
|
||||||
# enabled_mcp_servers:
|
# enabled_mcp_servers:
|
||||||
@@ -137,7 +138,21 @@ enabled_mcp_servers: null # Which MCP servers to enable by default.
|
|||||||
# - slack
|
# - slack
|
||||||
# Example (comma-separated form):
|
# Example (comma-separated form):
|
||||||
# enabled_mcp_servers: github,slack,ddg-search
|
# enabled_mcp_servers: github,slack,ddg-search
|
||||||
no_workspace_mcp: false # Disable loading workspace-local MCP servers (default: false).
|
mcp_tools:
|
||||||
|
null # Per-server MCP tool allowlists (glob patterns: * and ? supported).
|
||||||
|
# Tools that match no pattern are hidden from the model as if they
|
||||||
|
# don't exist. Stacks with the other allowlist layers (mcp.json
|
||||||
|
# `allowedTools`, role, agent, session, skill, graph node). Every
|
||||||
|
# configured layer must allow a tool, so layers only ever narrow.
|
||||||
|
# An empty list blocks all of a server's tools.
|
||||||
|
# Example:
|
||||||
|
# mcp_tools:
|
||||||
|
# github:
|
||||||
|
# - get_*
|
||||||
|
# - list_*
|
||||||
|
# slack: []
|
||||||
|
no_workspace_mcp:
|
||||||
|
false # Disable loading workspace-local MCP servers (default: false).
|
||||||
# When false (the default), Coyote merges the first workspace MCP config it finds
|
# When false (the default), Coyote merges the first workspace MCP config it finds
|
||||||
# into the global MCP registry at startup, checking in order:
|
# into the global MCP registry at startup, checking in order:
|
||||||
# 1. .coyote/mcp.json
|
# 1. .coyote/mcp.json
|
||||||
@@ -149,14 +164,16 @@ no_workspace_mcp: false # Disable loading workspace-local MCP servers (
|
|||||||
# ---- Skills ----
|
# ---- Skills ----
|
||||||
# Skills are modular knowledge or capability packs the LLM can load and unload mid-conversation.
|
# Skills are modular knowledge or capability packs the LLM can load and unload mid-conversation.
|
||||||
# See the [Skills documentation](https://github.com/Dark-Alex-17/coyote/wiki/Skills) for more details.
|
# See the [Skills documentation](https://github.com/Dark-Alex-17/coyote/wiki/Skills) for more details.
|
||||||
skills_enabled: true # Master switch. Set to false to hide all skill management tools from the model.
|
skills_enabled:
|
||||||
|
true # Master switch. Set to false to hide all skill management tools from the model.
|
||||||
# Skills also require `function_calling_support: true` above to work at all.
|
# Skills also require `function_calling_support: true` above to work at all.
|
||||||
visible_skills: # The universe of skills allowed to be enabled in any context. Omit (null) for "all installed".
|
visible_skills: # The universe of skills allowed to be enabled in any context. Omit (null) for "all installed".
|
||||||
- ai-slop-remover
|
- ai-slop-remover
|
||||||
- code-review
|
- code-review
|
||||||
- frontend-ui-ux
|
- frontend-ui-ux
|
||||||
- git-master
|
- git-master
|
||||||
enabled_skills: null # Which skills are available by default (no role/agent/session active). null = all visible.
|
enabled_skills:
|
||||||
|
null # Which skills are available by default (no role/agent/session active). null = all visible.
|
||||||
# Accepts either a YAML list or a comma-separated string.
|
# Accepts either a YAML list or a comma-separated string.
|
||||||
# Example (list form):
|
# Example (list form):
|
||||||
# enabled_skills:
|
# enabled_skills:
|
||||||
@@ -164,7 +181,8 @@ enabled_skills: null # Which skills are available by default (no ro
|
|||||||
# - ai-slop-remover
|
# - ai-slop-remover
|
||||||
# Example (comma-separated form):
|
# Example (comma-separated form):
|
||||||
# enabled_skills: git-master,ai-slop-remover
|
# enabled_skills: git-master,ai-slop-remover
|
||||||
inject_skill_instructions: true # Inject a short hint pointing the model at `skill__list` when skills are enabled in
|
inject_skill_instructions:
|
||||||
|
true # Inject a short hint pointing the model at `skill__list` when skills are enabled in
|
||||||
# this context. Only injected if `function_calling_support`, `skills_enabled`, and the
|
# this context. Only injected if `function_calling_support`, `skills_enabled`, and the
|
||||||
# effective enabled skill set is non-empty (default: true).
|
# effective enabled skill set is non-empty (default: true).
|
||||||
skill_instructions: null # Custom text used for the skill hint when injected. If null, uses built-in default.
|
skill_instructions: null # Custom text used for the skill hint when injected. If null, uses built-in default.
|
||||||
@@ -174,7 +192,8 @@ skill_instructions: null # Custom text used for the skill hint when inj
|
|||||||
# (a macro file named `review.yaml` runs as `.review [args]`; built-in commands always win a name collision).
|
# (a macro file named `review.yaml` runs as `.review [args]`; built-in commands always win a name collision).
|
||||||
# Workspace-local macros in `.coyote/macros/` shadow same-named global macros (skip them with --no-workspace-macros).
|
# Workspace-local macros in `.coyote/macros/` shadow same-named global macros (skip them with --no-workspace-macros).
|
||||||
# See the [Macros documentation](https://github.com/Dark-Alex-17/coyote/wiki/Macros) for more details.
|
# See the [Macros documentation](https://github.com/Dark-Alex-17/coyote/wiki/Macros) for more details.
|
||||||
enabled_macros: null # Which macros are invocable by default (no role/agent/session active). null = all visible.
|
enabled_macros:
|
||||||
|
null # Which macros are invocable by default (no role/agent/session active). null = all visible.
|
||||||
# An empty list means NO macros are invocable. Accepts either a YAML list or a
|
# An empty list means NO macros are invocable. Accepts either a YAML list or a
|
||||||
# comma-separated string. Roles, agents, and sessions may define their own
|
# comma-separated string. Roles, agents, and sessions may define their own
|
||||||
# `enabled_macros`; the most specific active one wins (session > agent > role > global).
|
# `enabled_macros`; the most specific active one wins (session > agent > role > global).
|
||||||
@@ -198,9 +217,11 @@ continuation_prompt: null # Custom prompt used when auto-continuing. If
|
|||||||
# See the [Session documentation](https://github.com/Dark-Alex-17/coyote/wiki/Sessions) for more information
|
# See the [Session documentation](https://github.com/Dark-Alex-17/coyote/wiki/Sessions) for more information
|
||||||
save_session: null # Controls the persistence of the session. If true, auto save; if false, don't auto-save save; if null, ask the user what to do
|
save_session: null # Controls the persistence of the session. If true, auto save; if false, don't auto-save save; if null, ask the user what to do
|
||||||
compression_threshold: 4000 # Compress the session when the token count reaches or exceeds this threshold
|
compression_threshold: 4000 # Compress the session when the token count reaches or exceeds this threshold
|
||||||
summarization_prompt: > # The text prompt used for creating a concise summary of session message
|
summarization_prompt:
|
||||||
|
> # The text prompt used for creating a concise summary of session message
|
||||||
'Summarize the discussion briefly in 200 words or less to use as a prompt for future context.'
|
'Summarize the discussion briefly in 200 words or less to use as a prompt for future context.'
|
||||||
summary_context_prompt: > # The text prompt used for including the summary of the entire session as context to the model
|
summary_context_prompt:
|
||||||
|
> # The text prompt used for including the summary of the entire session as context to the model
|
||||||
'This is a summary of the chat history as a recap: '
|
'This is a summary of the chat history as a recap: '
|
||||||
compression_keep_last: 0 # Number of most-recent messages to keep visible after compression (0 = compress all messages)
|
compression_keep_last: 0 # Number of most-recent messages to keep visible after compression (0 = compress all messages)
|
||||||
max_tool_result_chars: null # Cap on tool result characters forwarded to the model per call (null = no cap)
|
max_tool_result_chars: null # Cap on tool result characters forwarded to the model per call (null = no cap)
|
||||||
@@ -214,9 +235,11 @@ max_concurrent_jobs: 5 # Max background jobs (`job__*` tools) running
|
|||||||
# Bootstrap with `coyote --init-memory [global|workspace]` to create the marker file
|
# Bootstrap with `coyote --init-memory [global|workspace]` to create the marker file
|
||||||
# the LLM needs before it will write any memory.
|
# the LLM needs before it will write any memory.
|
||||||
memory: null # null = enabled when memory exists on disk; true = force on; false = force off
|
memory: null # null = enabled when memory exists on disk; true = force on; false = force off
|
||||||
memory_cap_with_tools: null # Char cap for injected memory when function calling is available (default: 6000).
|
memory_cap_with_tools:
|
||||||
|
null # Char cap for injected memory when function calling is available (default: 6000).
|
||||||
# Only MEMORY.md indexes are injected; the LLM uses memory__read to fetch drill files.
|
# Only MEMORY.md indexes are injected; the LLM uses memory__read to fetch drill files.
|
||||||
memory_cap_without_tools: null # Char cap when function calling is unavailable (default: 12000).
|
memory_cap_without_tools:
|
||||||
|
null # Char cap when function calling is unavailable (default: 12000).
|
||||||
# Indexes plus drill file bodies are injected up to this cap.
|
# Indexes plus drill file bodies are injected up to this cap.
|
||||||
|
|
||||||
# ---- Workspace Instructions ----
|
# ---- Workspace Instructions ----
|
||||||
@@ -226,7 +249,8 @@ memory_cap_without_tools: null # Char cap when function calling is unavailable
|
|||||||
# Disable per-invocation with --no-workspace-instructions, or override the chain with
|
# Disable per-invocation with --no-workspace-instructions, or override the chain with
|
||||||
# repeatable --workspace-instructions-file flags.
|
# repeatable --workspace-instructions-file flags.
|
||||||
workspace_instructions: null # null/true = inject when an instructions file exists; false = never inject
|
workspace_instructions: null # null/true = inject when an instructions file exists; false = never inject
|
||||||
workspace_instructions_files: null # File name chain to search, in priority order.
|
workspace_instructions_files:
|
||||||
|
null # File name chain to search, in priority order.
|
||||||
# Default: [COYOTE.md, AGENTS.md, CLAUDE.md, GEMINI.md]
|
# Default: [COYOTE.md, AGENTS.md, CLAUDE.md, GEMINI.md]
|
||||||
# Set to a custom list to reorder or drop fallbacks, e.g.:
|
# Set to a custom list to reorder or drop fallbacks, e.g.:
|
||||||
# workspace_instructions_files: [COYOTE.md]
|
# workspace_instructions_files: [COYOTE.md]
|
||||||
@@ -277,7 +301,8 @@ document_loaders:
|
|||||||
# (see https://pandoc.org for details on how to install pandoc)
|
# (see https://pandoc.org for details on how to install pandoc)
|
||||||
jina: 'curl -fsSL https://r.jina.ai/$1 -H "Authorization: Bearer {{JINA_API_KEY}}' # Use Jina to translate a website into text;
|
jina: 'curl -fsSL https://r.jina.ai/$1 -H "Authorization: Bearer {{JINA_API_KEY}}' # Use Jina to translate a website into text;
|
||||||
# Requires a Jina API key to be added to the Coyote vault
|
# Requires a Jina API key to be added to the Coyote vault
|
||||||
git: > # Use yek to load a git repository into the knowledgebase (https://github.com/bodo-run/yek)
|
git:
|
||||||
|
> # Use yek to load a git repository into the knowledgebase (https://github.com/bodo-run/yek)
|
||||||
sh -c "yek $1 --json | jq 'map({ path: .filename, contents: .content })'"
|
sh -c "yek $1 --json | jq 'map({ path: .filename, contents: .content })'"
|
||||||
|
|
||||||
# ---- Clients ----
|
# ---- Clients ----
|
||||||
@@ -339,7 +364,8 @@ clients:
|
|||||||
- type: gemini
|
- type: gemini
|
||||||
api_base: https://generativelanguage.googleapis.com/v1beta
|
api_base: https://generativelanguage.googleapis.com/v1beta
|
||||||
api_key: '{{GEMINI_API_KEY}}' # You can either hard-code or inject secrets from the Coyote vault
|
api_key: '{{GEMINI_API_KEY}}' # You can either hard-code or inject secrets from the Coyote vault
|
||||||
auth: null # When set to 'oauth', Coyote will use OAuth instead of an API key
|
auth:
|
||||||
|
null # When set to 'oauth', Coyote will use OAuth instead of an API key
|
||||||
# Authenticate with `coyote --authenticate` or `.authenticate` in the REPL
|
# Authenticate with `coyote --authenticate` or `.authenticate` in the REPL
|
||||||
patch:
|
patch:
|
||||||
chat_completions:
|
chat_completions:
|
||||||
@@ -359,7 +385,8 @@ clients:
|
|||||||
- type: claude
|
- type: claude
|
||||||
api_base: https://api.anthropic.com/v1 # Optional
|
api_base: https://api.anthropic.com/v1 # Optional
|
||||||
api_key: '{{ANTHROPIC_API_KEY}}' # You can either hard-code or inject secrets from the Coyote vault
|
api_key: '{{ANTHROPIC_API_KEY}}' # You can either hard-code or inject secrets from the Coyote vault
|
||||||
auth: null # When set to 'oauth', Coyote will use OAuth instead of an API key
|
auth:
|
||||||
|
null # When set to 'oauth', Coyote will use OAuth instead of an API key
|
||||||
# Authenticate with `coyote --authenticate` or `.authenticate` in the REPL
|
# Authenticate with `coyote --authenticate` or `.authenticate` in the REPL
|
||||||
|
|
||||||
# See https://docs.mistral.ai/
|
# See https://docs.mistral.ai/
|
||||||
@@ -373,7 +400,8 @@ clients:
|
|||||||
name: xai
|
name: xai
|
||||||
api_base: https://api.x.ai/v1
|
api_base: https://api.x.ai/v1
|
||||||
api_key: '{{XAI_API_KEY}}' # You can either hard-code or inject secrets from the Coyote vault
|
api_key: '{{XAI_API_KEY}}' # You can either hard-code or inject secrets from the Coyote vault
|
||||||
auth: null # When set to 'oauth', Coyote will use OAuth instead of an API key
|
auth:
|
||||||
|
null # When set to 'oauth', Coyote will use OAuth instead of an API key
|
||||||
# Authenticate with `coyote --authenticate` or `.authenticate` in the REPL
|
# Authenticate with `coyote --authenticate` or `.authenticate` in the REPL
|
||||||
# Note: Oauth requires SuperGrok/X Premium+ subscription
|
# Note: Oauth requires SuperGrok/X Premium+ subscription
|
||||||
|
|
||||||
@@ -529,7 +557,6 @@ clients:
|
|||||||
api_base: https://api.deepinfra.com/v1/openai
|
api_base: https://api.deepinfra.com/v1/openai
|
||||||
api_key: '{{DEEPINFRA_API_KEY}}' # You can either hard-code or inject secrets from the Coyote vault
|
api_key: '{{DEEPINFRA_API_KEY}}' # You can either hard-code or inject secrets from the Coyote vault
|
||||||
|
|
||||||
|
|
||||||
# ----- RAG dedicated -----
|
# ----- RAG dedicated -----
|
||||||
|
|
||||||
# See https://jina.ai
|
# See https://jina.ai
|
||||||
|
|||||||
@@ -16,6 +16,10 @@ enabled_tools: # Tools to enable for this role. Accepts a
|
|||||||
enabled_mcp_servers: # MCP servers to enable for this role. Accepts a YAML list (preferred)
|
enabled_mcp_servers: # MCP servers to enable for this role. Accepts a YAML list (preferred)
|
||||||
- github # or a comma-separated string (e.g. `enabled_mcp_servers: github,gitmcp`).
|
- github # or a comma-separated string (e.g. `enabled_mcp_servers: github,gitmcp`).
|
||||||
- gitmcp # Use `all` to enable every configured MCP server.
|
- gitmcp # Use `all` to enable every configured MCP server.
|
||||||
|
mcp_tools: # Per-server MCP tool allowlists for this role (globs: * and ?).
|
||||||
|
github: # Intersects with the global config / mcp.json `allowedTools`.
|
||||||
|
- get_* # Layers only narrow. Tools matching no pattern are hidden from
|
||||||
|
- search_* # the model as if they don't exist.
|
||||||
skills_enabled: true # Master switch for skills in this role (default: inherit from global).
|
skills_enabled: true # Master switch for skills in this role (default: inherit from global).
|
||||||
# Skills also require `function_calling_support: true` in the global config.
|
# Skills also require `function_calling_support: true` in the global config.
|
||||||
enabled_skills: # Skills available when this role is active. Accepts a YAML list (preferred)
|
enabled_skills: # Skills available when this role is active. Accepts a YAML list (preferred)
|
||||||
|
|||||||
@@ -51,6 +51,10 @@ global_tools: # Tool universe an `llm` node's `tools:` whit
|
|||||||
mcp_servers: # MCP servers an `llm` node may reference via `mcp:<server>`
|
mcp_servers: # MCP servers an `llm` node may reference via `mcp:<server>`
|
||||||
- ddg-search
|
- ddg-search
|
||||||
|
|
||||||
|
mcp_tools: # Optional per-server tool allowlists (globs: * and ?) applied to
|
||||||
|
ddg-search: # every node that uses `mcp:<server>`; intersects with the other
|
||||||
|
- search # allowlist layers (global config, agent, mcp.json `allowedTools`).
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
# Skills policy (optional)
|
# Skills policy (optional)
|
||||||
# Skills only attach to `llm` nodes inside a graph. Both fields are optional.
|
# Skills only attach to `llm` nodes inside a graph. Both fields are optional.
|
||||||
@@ -402,6 +406,9 @@ nodes:
|
|||||||
tools: # Narrow whitelist: exactly these entries, nothing else
|
tools: # Narrow whitelist: exactly these entries, nothing else
|
||||||
- web_search_coyote # an exact global-tool / custom-tool name
|
- web_search_coyote # an exact global-tool / custom-tool name
|
||||||
- mcp:ddg-search # `mcp:<server>` includes that server's functions
|
- mcp:ddg-search # `mcp:<server>` includes that server's functions
|
||||||
|
mcp_tools: # Optional per-node narrowing of MCP tools (globs: * and ?)
|
||||||
|
ddg-search: # keys must be servers this graph enables; intersects with
|
||||||
|
- search # the graph-level mcp_tools above and every other layer
|
||||||
model: claude:claude-haiku-4-5 # Optional per-node model override
|
model: claude:claude-haiku-4-5 # Optional per-node model override
|
||||||
temperature: 0.3 # Optional per-node sampling override
|
temperature: 0.3 # Optional per-node sampling override
|
||||||
reasoning_effort: null # Optional per-node reasoning effort override (e.g. low, medium, high)
|
reasoning_effort: null # Optional per-node reasoning effort override (e.g. low, medium, high)
|
||||||
|
|||||||
Reference in New Issue
Block a user