---
title: "Discover MCP tools"
method: POST
path: "/workspaces/{workspace_id}/mcp-tools/discover"
tags: ["mcp"]
---

# Discover MCP tools

`POST /workspaces/{workspace_id}/mcp-tools/discover`

Discovers available MCP tools across all servers configured for the workspace.

## Path parameters

- `workspace_id` string, required

## Query parameters

- `config_id` string

## Headers

- `Authorization` string, required

## Response `200`

Discovery results (may include per-server errors)

- DiscoverToolsResponse
  - `servers` ServerDiscoveryResult[], required
    - `config_id` string — Stable ID of the MCP server config entry in Vault
    - `server_name` string, required — Raw serverInfo.name from MCP initialize
    - `server_title` string — serverInfo.title with noise words stripped
    - `server_version` string
    - `namespace` string, required — Derived namespace used as tool name prefix
    - `tools` MCPToolDefinition[], required
      - `namespaced_tool` string, required — Fully qualified tool name: {namespace}__{tool_name}
      - `original_tool_name` string, required — Tool name as returned by the MCP server
      - `tool_description` string, nullable — Description returned by MCP server
      - `input_schema` object, nullable — JSON Schema for the tool's input parameters
    - `error` string — Non-empty if this server failed discovery

## Other responses

- `400` — Invalid request
- `404` — No MCP servers configured for this workspace
- `500` — Internal error

---

[API](https://skmtc.dev/synthflow/apis/platform-api.md) · [All operations](https://skmtc.dev/synthflow/apis/platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/synthflow/platform-api/revisions/6976456ad422/schema)
