MCPcopy Index your code
hub / github.com/ChrisFeldmeier/OpenCodeRust / add_mcp_server

Function add_mcp_server

crates/opencode-server/src/routes.rs:2569–2589  ·  view source on GitHub ↗
(
    State(_state): State<Arc<ServerState>>,
    Json(req): Json<AddMcpRequest>,
)

Source from the content-addressed store, hash-verified

2567}
2568
2569async fn add_mcp_server(
2570 State(_state): State<Arc<ServerState>>,
2571 Json(req): Json<AddMcpRequest>,
2572) -> Result<Json<HashMap<String, McpStatusInfo>>> {
2573 let manager = get_mcp_oauth_manager();
2574 let (runtime, enabled) = parse_runtime_from_request(req.config)?;
2575 manager.add_server(req.name.clone(), runtime, enabled).await;
2576 if enabled {
2577 manager
2578 .connect(&req.name)
2579 .await
2580 .map_err(mcp_error_to_api_error)?;
2581 }
2582
2583 let servers = manager.list_servers().await;
2584 let mut result = HashMap::new();
2585 for server in servers {
2586 result.insert(server.name.clone(), McpStatusInfo::from(server));
2587 }
2588 Ok(Json(result))
2589}
2590
2591async fn start_mcp_auth(Path(name): Path<String>) -> Result<Json<serde_json::Value>> {
2592 let manager = get_mcp_oauth_manager();

Callers

nothing calls this directly

Calls 7

get_mcp_oauth_managerFunction · 0.85
newFunction · 0.85
add_serverMethod · 0.80
list_serversMethod · 0.80
cloneMethod · 0.45
connectMethod · 0.45

Tested by

no test coverage detected