---
title: "Start MCP tool discovery"
method: POST
path: "/api/v1/mcp/discover"
tags: ["mcp"]
---

# Start MCP tool discovery

`POST /api/v1/mcp/discover`

Initiates an asynchronous discovery workflow for an MCP server. Returns 202 ACCEPTED with a workflow ID for tracking progress.

## Request body

- DiscoveryInputDto
  - `transport` 'http' | 'stdio', required — Transport type for MCP server
  - `name` string, required — Human-readable name for the MCP server
  - `endpoint` string, uri — HTTP endpoint for HTTP transport
  - `headers` object — HTTP headers for authentication
  - `command` string — Command to run for stdio transport
  - `args` string[] — Arguments for stdio command
  - `image` string — Docker image for stdio transport
  - `cacheToken` string, uuid — Cache token for storing/retrieving discovery results

## Response `202`

Discovery workflow started successfully

- DiscoveryStartResponseDto
  - `workflowId` string, uuid, required — Unique ID for tracking the discovery workflow
  - `cacheToken` string, uuid — Cache token for retrieving cached discovery results
  - `status` 'started', required — Status indicating workflow has started

## Other responses

- `400` — Invalid input parameters

---

[API](https://skmtc.net/shipsecai/apis/shipsec-studio-api.md) · [All operations](https://skmtc.net/shipsecai/apis/shipsec-studio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/shipsecai/shipsec-studio-api/revisions/cc60562ad9f3/schema)
