MCP OAuth connector tool names exceed 64-character API limit

Resolved 💬 3 comments Opened Feb 2, 2026 by dallas-bit Closed Mar 11, 2026

Bug Description

When using OAuth-connected MCP servers (added through Claude's official settings/connectors), the generated tool names exceed the 64-character API limit, causing API errors.

Error Message

API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"messages.73.content.0.tool_result.content.0.tool_reference.tool_name: String should have at most 64 characters"},"request_id":"req_011CXjo1BLybcPtZA1yrBvta"}

Root Cause

OAuth-connected MCP servers use UUID-based naming like:

mcp__61ece6f1-335c-482a-a682-26fc461b9382__generate-design-structured

The prefix mcp__61ece6f1-335c-482a-a682-26fc461b9382__ is already 43 characters, leaving only 21 characters for the actual tool name before hitting the 64-character limit.

Affected Connectors

All OAuth connectors with longer tool names are affected, including:

  • Canva - e.g., generate-design-structured (total: 68 chars)
  • Figma - e.g., get_code_connect_suggestions (total: 71 chars)
  • Asana - e.g., search_tasks_preview (total: 63 chars - borderline)
  • Supabase - e.g., generate_typescript_types (total: 68 chars)
  • Vercel - e.g., get_deployment_build_logs (total: 68 chars)

Steps to Reproduce

  1. Connect an OAuth MCP server (Canva, Figma, etc.) through Claude settings
  2. Attempt to use a tool with a longer name
  3. Observe the 400 API error

Expected Behavior

Tool names should stay under 64 characters. Possible fixes:

  • Use shorter hash identifiers instead of full UUIDs (e.g., 8-char hash)
  • Use a different naming scheme (e.g., mcp_canva__tool_name)
  • Truncate or abbreviate tool names if needed

Environment

  • Claude Code CLI
  • macOS Darwin 25.1.0
  • Multiple OAuth connectors enabled

Workaround

Currently the only workaround is to disconnect the affected OAuth connectors, which defeats the purpose of having them available.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗