tinyhumansai/openhuman · error · anyhow::Error

unknown MCP server `{server}`

Error message

unknown MCP server `{server}`

What it means

McpServerRegistry::list_tools could not resolve the requested server name against its by_name map of configured stdio servers. The name given does not match any [[mcp_client.servers]] entry loaded from TOML config — a stale or misspelled server reference, not a connection failure.

Source

Thrown at src/openhuman/mcp/config_servers/registry.rs:205

        );
        filtered
    }

    pub fn list(&self) -> Vec<&McpServerDefinition> {
        self.order
            .iter()
            .filter_map(|name| self.by_name.get(name))
            .collect()
    }

    pub fn get(&self, name: &str) -> Option<&McpServerDefinition> {
        self.by_name.get(name)
    }

    pub async fn list_tools(&self, server: &str) -> anyhow::Result<Vec<McpRemoteTool>> {
        let server = self
            .get(server)
            .ok_or_else(|| anyhow::anyhow!("unknown MCP server `{server}`"))?;
        let tools = server.client.list_tools().await?;
        let safe = apply_safety_filter(&server.name, tools);
        Ok(server.filter_allowed_tools(safe))
    }

    pub async fn call_tool(
        &self,
        server: &str,
        tool: &str,
        arguments: Value,
    ) -> anyhow::Result<McpServerToolResult> {
        let server = self
            .get(server)
            .ok_or_else(|| anyhow::anyhow!("unknown MCP server `{server}`"))?;
        let tool = tool.trim();
        if !server.is_tool_allowed(tool) {
            anyhow::bail!(
                "MCP tool `{tool}` is not allowed for server `{}`",

View on GitHub (pinned to 7491200858)

Solutions

  1. Check the server name against the entries in the [mcp_client] config section (names are case-sensitive)
  2. List configured servers first (mcp_list_servers) and use an exact name from the result
  3. Fix typos or re-add the removed server definition to config
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/openhuman/mcp/config_servers/registry.rs:205 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17). Data as JSON: /api/errors/7ec28ba89a87ee8e. Report an issue: GitHub.