---
title: "Probe an MCP server for available tools"
method: POST
path: "/v2/teams/{teamId}/connections/mcp/probe"
tags: ["Connections"]
---

# Probe an MCP server for available tools

`POST /v2/teams/{teamId}/connections/mcp/probe`

Probe an MCP server URL and list the tools it exposes. Useful as a dry-run before creating a connection — verifies the URL is reachable, that authentication headers (if any) are correct, and surfaces the tool catalog. Performs no writes; sits alongside `/v2/teams/:team_id/connections/oauth/mcp/check` (which probes the same URL for OAuth support).

## Path parameters

- `teamId` string, required

## Request body

- object
  - `server_url` string, uri — Raw MCP server URL to probe (for custom MCP servers)
  - `integration_slug` 'googlecalendar' | 'google-calendar' | 'gmail' | 'slack' | 'googledocs' | 'googlesheets' | 'googledrive' | 'firecrawl' | 'exa' | 'exa-search' | 'exa-company-search' | 'exa-people-search' | 'deep-research' | 'system' | 'browser-agent' | 'browser-agent-devtools' | 'notion' | 'linear' | 'confluence' | 'custom_mcp' | 'user_mcp' | 'snowflake' | 'sharepoint' | 'teams' | 'onedrive' | 'bigquery' | 'databricks' | 'netsuite' | 'outlook' | 'microsoft-calendar' | 'excel' | 'word' | 'saps4hana' | 'md365' | 'businesscentral' | 'oraclefusion' | 'workday' | 'coupa' | 'signavio' | 'sap-ecc' | 'msteams' | 'human-in-the-loop' | 'email-attachments-reader' | 'document-processor' | 'google-docs' | 'google-sheets' | 'google-drive' | 'outbound-call' | 'case-queue-producer' | 'case-queue-consumer' | 'handover' | 'shopify' | 'hubspot' | 'zendesk' | 'intercom' | 'powerbi' | 'salesforce' | 'pipedrive' | 'tableau' | 'image-generation' | 'forecasting' | 'supabase' | 'attio' | 'amplitude' | 'websets' | 'firecrawl-platform' | 'duvo-computer-use' | 'duvo-computer-use-rdp' | 'eu-commodity-prices' | 'asana' | 'ssh' | 'scheduling' | 'github' | 'linear-native' | 'notion-native' | 'granola' | 'apify' | 'bamboohr' — Catalog integration slug. The backend resolves the MCP server URL and dummy auth headers server-side — no server_url or headers needed.
  - `headers` object — Optional HTTP headers for authentication (raw server_url mode only)

## Response `200`

Default Response

- object
  - `success` boolean, required
  - `tools` object[]
    - `name` string, required
    - `description` string
    - `input_schema` object
  - `error` string

## Other responses

- `400` — Default Response
- `401` — Default Response
- `403` — Default Response
- `500` — Default Response

---

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