config.yaml and extensions_config.json.
Configuration Files
config.yaml
Skills Directory: Configure where skills are located and how they’re mounted in sandboxes
extensions_config.json
Enable/Disable State: Control which skills and MCP servers are active
Skills Configuration
Skills are specialized workflows and prompts that enhance agent capabilities for specific tasks.Directory Configuration (config.yaml)
config.yaml
string
Path to the skills directory on the host machine.
- Can be absolute (
/home/user/skills) or relative (../skills) - Relative paths are resolved from the current working directory
- If not specified, defaults to
../skillsrelative to the backend directory
string
default:"/mnt/skills"
Path where skills are mounted inside the sandbox container.The agent uses this path to access skills in both local and Docker sandboxes.
Skills Directory Structure
Enable/Disable Skills (extensions_config.json)
Control which skills are active:extensions_config.json
Default Behavior: If a skill is not listed in
extensions_config.json, it’s enabled by default for public and custom categories.Programmatic Access
Check if a skill is enabled:MCP (Model Context Protocol) Configuration
MCP servers provide external context, tools, and data sources to agents. DeerFlow supports three transport types:stdio
Local process communication via stdin/stdout
HTTP
RESTful HTTP communication
SSE
Server-Sent Events for streaming
Configuration (extensions_config.json)
All MCP servers are configured inextensions_config.json:
extensions_config.json
Common Fields
boolean
default:"true"
required
Whether this MCP server is active. Set to
false to temporarily disable.string
required
Transport protocol:
stdio, http, or ssestring
Human-readable description of what this MCP server provides
stdio Transport
For local processes that communicate via stdin/stdout:string
required
Executable command to start the MCP server (e.g.,
npx, python, /usr/bin/my-server)array
Command-line arguments passed to the command
object
Environment variables for the MCP server process.Values starting with
$ are resolved from the host environment:HTTP Transport
For RESTful HTTP-based MCP servers:string
required
Base URL of the MCP server
object
HTTP headers sent with requests. Supports environment variable resolution with
$VAR_NAME.object
OAuth configuration for automatic token management. See OAuth Configuration below.
SSE (Server-Sent Events) Transport
For streaming MCP servers using Server-Sent Events:OAuth Configuration
For HTTP and SSE transports, DeerFlow can automatically manage OAuth tokens:boolean
default:"true"
Enable OAuth token management
string
required
OAuth token endpoint URL
string
default:"client_credentials"
OAuth grant type:
client_credentials or refresh_tokenstring
OAuth client ID (supports
$VAR_NAME for environment variables)string
OAuth client secret (supports
$VAR_NAME)string
OAuth refresh token (for
refresh_token grant type, supports $VAR_NAME)string
OAuth scope (space-separated list of permissions)
string
OAuth audience (provider-specific, e.g., Auth0)
string
default:"access_token"
Field name containing the access token in the token response
string
default:"token_type"
Field name containing the token type in the token response
string
default:"expires_in"
Field name containing the expiry duration (in seconds) in the token response
string
default:"Bearer"
Default token type when missing in the token response
integer
default:"60"
Refresh the token this many seconds before expiry to avoid race conditions
object
Additional form parameters sent to the token endpoint
OAuth Grant Types
- Client Credentials
- Refresh Token
Most common for server-to-server authentication:
Environment Variable Resolution
Bothenv fields (for stdio) and OAuth configuration support environment variable resolution:
Programmatic Access
Examples
Official MCP Servers
- Filesystem
- GitHub
- PostgreSQL
- Brave Search
Custom Skills Example
Create a custom skill:-
Create skill directory:
-
Create
SKILL.md:skills/custom/my-skill/SKILL.md -
Enable in
extensions_config.json:
Troubleshooting
Environment variable not found
Environment variable not found
Ensure all referenced environment variables are set:
MCP server fails to start (stdio)
MCP server fails to start (stdio)
Verify the command is available:
Skills not found
Skills not found
Check the skills path configuration:
OAuth token refresh fails
OAuth token refresh fails
Check OAuth configuration:
- Verify
token_urlis correct - Ensure
client_idandclient_secretare set - Check
scopematches provider requirements - Review provider’s OAuth documentation
Next Steps
Memory Configuration
Set up the memory system
Creating Skills
Build custom skills