|
Entropic 2.14.3
Local-first agentic inference engine
|
MCP server configuration. More...
#include <entropic/types/config.h>

Public Attributes | |
| bool | enable_entropic = true |
| Enable entropic internal server (handoff, delegate, pipeline) | |
| bool | enable_filesystem = true |
| Enable filesystem server. | |
| bool | enable_bash = true |
| Enable bash server. | |
| bool | enable_git = true |
| Enable git server. | |
| bool | enable_diagnostics = false |
| Diagnostics server — placeholder, off by default (v2.14.0, gh#174) | |
| bool | enable_web = false |
| Web server — placeholder, off by default (v2.14.0, gh#174) | |
| FilesystemConfig | filesystem |
| Filesystem server config. | |
| BashConfig | bash |
| Bash server config (v2.13.0) | |
| ExternalMCPConfig | external |
| External MCP server config (Entropic-as-server) | |
| int | server_timeout_seconds = 10 |
| Seconds an external MCP server gets to come up: the initialize handshake and its tools/list, on first connect and on every reconnect (gh#175, v2.14.0). | |
| std::string | working_dir |
| Server working directory (empty = CWD) (v2.0.4) | |
| std::vector< std::filesystem::path > | plugins |
In-process MCP server plugin .so paths (gh#133, v2.10.1). | |
| std::unordered_map< std::string, ExternalServerEntry > | external_servers |
| Named external servers the operator declared (v1.8.7). | |
| std::vector< std::string > | enabled_mcpjson_servers |
.mcp.json servers pre-approved by name (gh#199). | |
| std::vector< std::string > | disabled_mcpjson_servers |
.mcp.json servers always refused, even under enable-all. | |
| bool | enable_all_project_mcp_servers = false |
| Pre-approve every discovered server not explicitly disabled. | |
| ReconnectConfig | reconnect |
| Reconnection backoff policy. | |
| uint32_t | health_check_interval_ms = 0 |
| Ping interval (0 = disabled) | |
| uint32_t | tool_call_timeout_ms = 30000 |
| Per-call timeout for external tools. | |
| BashConfig entropic::MCPConfig::bash |
| std::vector<std::string> entropic::MCPConfig::disabled_mcpjson_servers |
| std::vector<std::string> entropic::MCPConfig::enabled_mcpjson_servers |
.mcp.json servers pre-approved by name (gh#199).
Discovery reads <root>/.mcp.json and ~/.entropic/.mcp.json, then connects ONLY enabled entries: refused if named in disabled_mcpjson_servers; connected if named here or enable_all_project_mcp_servers is true; otherwise the ENTROPIC_HOOK_PRE_MCP_SERVER_CONNECT pre-hook decides; with no hook registered, NOT connected. Inherited by every workspace.
| ExternalMCPConfig entropic::MCPConfig::external |
| std::unordered_map<std::string, ExternalServerEntry> entropic::MCPConfig::external_servers |
Named external servers the operator declared (v1.8.7).
Declared here = enabled: an operator who writes an entry asked for it. Before v2.14.0 this key was in the struct and the schema but parsed from no config file and connected by nothing.
v2.14.1: launched by EVERY server set — the handle's and each workspace's — started in that set's root. ${ENTROPIC_WORKSPACE_ROOT} in an entry's args or env values expands to that root, e.g. env: {CLAUDE_PROJECT_DIR: "${ENTROPIC_WORKSPACE_ROOT}"}.
| FilesystemConfig entropic::MCPConfig::filesystem |
| uint32_t entropic::MCPConfig::health_check_interval_ms = 0 |
| std::vector<std::filesystem::path> entropic::MCPConfig::plugins |
In-process MCP server plugin .so paths (gh#133, v2.10.1).
Each entry is dlopened at startup and must implement the contract in entropic/interfaces/i_mcp_server.h. Distinct from external_servers, which spawn a separate process and speak MCP over stdio/SSE — these load into the engine's address space and are called directly through the C ABI. A path that fails to load is a loud error, not a skip.
| ReconnectConfig entropic::MCPConfig::reconnect |
| int entropic::MCPConfig::server_timeout_seconds = 10 |
Seconds an external MCP server gets to come up: the initialize handshake and its tools/list, on first connect and on every reconnect (gh#175, v2.14.0).
Must be >= 1.
Parsed since v1.8.1 and read by nothing until v2.14.0, while a hardcoded 10 s bounded bring-up instead. The default is 10 so that wiring the key changes no deployment's behaviour — the old default of 30 never did anything. It matters more from v2.14.0: configure now connects external servers synchronously (gh#199), so this is how long a hung server can hold configure. Unrelated to bash.timeout_seconds (the bash tool's own limit).
| uint32_t entropic::MCPConfig::tool_call_timeout_ms = 30000 |
| std::string entropic::MCPConfig::working_dir |