17#include <nlohmann/json_fwd.hpp>
35 std::vector<std::string>
args;
36 std::map<std::string, std::string>
env;
71 std::vector<ExternalServerConfig>
discover(
75 std::filesystem::path project_dir_;
88 const std::filesystem::path& path,
91 std::set<std::string>&
seen,
92 std::vector<ExternalServerConfig>& out)
const;
105 void parse_server_entry(
106 const std::string& name,
107 const nlohmann::json&
cfg,
110 std::set<std::string>&
seen,
111 std::vector<ExternalServerConfig>& out)
const;
122 bool infer_transport(
123 const nlohmann::json&
cfg,
124 const std::string& type,
135 bool parse_sse_entry(
136 const nlohmann::json&
cfg,
147 bool parse_stdio_entry(
148 const nlohmann::json&
cfg,
159 const std::filesystem::path& project_dir);
Discovers external MCP servers from .mcp.json files.
std::vector< ExternalServerConfig > discover(const std::set< std::string > &existing_names) const
Discover servers from .mcp.json files.
Configuration structs with defaults.
Activate model on GPU (WARM → ACTIVE).
std::filesystem::path compute_socket_path(const std::filesystem::path &project_dir)
Compute project-unique Unix socket path for self-detection.
@ optional
optional: every escape asks the host's path approver
bool is_blocked_env_var(const std::string &key)
Environment variable blocklist for .mcp.json env field.
Parsed server entry from .mcp.json.
std::string name
Server name.
std::map< std::string, std::string > env
Stdio env vars.
std::string command
Stdio command (empty for SSE)
std::string working_dir
gh#166 (v2.13.0): cwd for the spawned child ("" = inherit).
std::string transport
"stdio" | "sse"
std::vector< std::string > args
Stdio command args.
std::string url
SSE URL (empty for stdio)