Certopolis

Claude Certified Architect – Foundations

MCP connector: mcp_servers and mcp_toolset

The MCP connector lets the Messages API call tools on a remote MCP server without you running an MCP client. Send the mcp-client-2025-11-20 beta header, describe the server in mcp_servers, and add a matching {"type": "mcp_toolset", "mcp_server_name": ...} entry in tools.

How it works

Each mcp_servers entry has type: "url", a url starting with https://, a unique name and, if needed, an authorization_token. Every server must be referenced by exactly one mcp_toolset in tools, and every toolset must name a server that exists. Declaring the server without the toolset is a validation error.

The API calls the server during the turn. The response holds an mcp_tool_use block and an mcp_tool_result block, not a tool_use block, so your code has nothing to execute or return. Each call names its server_name.

Choosing which tools Claude sees

Tool settings live on the toolset. default_config applies to every tool on the server, and configs overrides it per tool name. To allow only search_events and list_events, set default_config: {"enabled": false} and enable those two in configs. For a denylist, leave the default and set enabled: false on the tools you want hidden. You can also set defer_loading: true here to use tool search across large servers.

The deprecated mcp-client-2025-04-04 version put tool_configuration and allowed_tools on the server entry. Under the current header that configuration moves to the mcp_toolset.

Limits

Only MCP tool calls are supported, not prompts or resources. The server must be reachable over HTTP, using Streamable HTTP or SSE; a local STDIO server cannot be connected directly. You obtain and refresh OAuth tokens yourself. The connector is in beta on the Claude API, Claude Platform on AWS and Microsoft Foundry, and it is not covered by zero data retention. For local servers, prompts or resources, run your own MCP client and use the SDK's MCP helpers.

Where the exam catches people

  • Believing mcp_servers alone is enough: each server also needs a matching mcp_toolset entry in tools.
  • Believing a local STDIO server can be reached: the connector needs a public HTTP server.
  • Believing your loop must answer MCP calls: they arrive as mcp_tool_use with the mcp_tool_result already present.
  • Believing the allowlist goes on the server entry: under mcp-client-2025-11-20 it is default_config and configs on the toolset.

Written from Anthropic's documentation

Try 3 questions on this

Pick an answer to see why each option is right or wrong.

  1. Your team connects a calendar MCP server to Claude Opus 5 (claude-opus-5) through the MCP connector. The server exposes eleven tools, and only search_events and list_events may be reachable from the assistant. Which approach should you take?

    Right. In the game that’s Renown for your Tool Design, MCP and Server Tools building.

    Not that one: A is right. In the game your Tool Design, MCP and Server Tools building would lose a little Renown, and this question would come back later.

  2. You connect a remote Jira MCP server through the Messages API MCP connector (anthropic-beta: mcp-client-2025-11-20), declaring the server in mcp_servers and a matching mcp_toolset entry in tools. You write a dispatcher that scans each response for tool_use blocks and sends back tool_result blocks for the Jira calls. In testing, responses clearly show Jira tools being invoked and answered, yet your dispatcher never fires. What is the most likely cause?

    Right. In the game that’s Renown for your Tool Design, MCP and Server Tools building.

    Not that one: C is right. In the game your Tool Design, MCP and Server Tools building would lose a little Renown, and this question would come back later.

    Show the full explanation and doc quotes

    The API executed the call against the remote server during the turn, so there is no tool_use block and nothing for the client to execute or return.

    Written from platform.claude.com/docs/en/agents-and-tools/mcp-connector

  3. You integrate a partner's remote MCP server into a Claude Opus 5 (claude-opus-5) application. Your first attempt sends mcp_servers=[{"type": "url", "url": "https://partner.example/mcp", "name": "partner"}] with beta mcp-client-2025-11-20 and is rejected as a validation error. Your organization is also configured for zero data retention and mirrors the workload onto Amazon Bedrock. How should you evaluate this proposal?

    Right. In the game that’s Renown for your Tool Design, MCP and Server Tools building.

    Not that one: C is right. In the game your Tool Design, MCP and Server Tools building would lose a little Renown, and this question would come back later.