---
title: "Invoke an MCP tool"
method: POST
path: "/workspaces/{workspace_id}/mcp-tools/invoke"
tags: ["mcp"]
---

# Invoke an MCP tool

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

Invokes a namespaced MCP tool on the appropriate server. This is a synchronous call that may take 8–15 seconds.

## Path parameters

- `workspace_id` string, required

## Headers

- `Authorization` string, required

## Request body

- InvokeMCPToolRequest
  - `namespaced_tool` string, required — Fully qualified tool name: {namespace}__{tool_name}
  - `arguments` object — Tool arguments matching the tool's input_schema
  - `timeout_ms` integer — Optional caller-controlled timeout in milliseconds

## Response `200`

Tool invocation result

- InvokeMCPToolResponse
  - `result` string — Tool result text (empty on error)
  - `is_error` boolean — True if the MCP server returned an error for this tool call
  - `error` string — Error message if the invocation failed

## Other responses

- `400` — Invalid request (missing fields, malformed tool name)
- `404` — Workspace not found or tool namespace not found
- `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)
