Why We Adopted MCP for Agent Tooling — And the Integration Gaps Nobody Mentions

Tool Crucible evaluation of Why We Adopted MCP for Agent Tooling — And the Integration Gaps Nobody Mentions — real-world testing, tradeoffs, and current stack.

Published 2026-06-07

TL;DR: MCP (Model Context Protocol) standardizes tool calling across models, but the spec is still v0.1 — transport fragmentation (stdio vs SSE vs HTTP), no auth standard, and schema drift between clients. We use it for internal agents; won’t ship MCP-dependent features to customers yet — full comparison.

The Context

Building 3 agents that need: file system, GitHub API, Postgres, terminal, browser. Without MCP: 5 custom tool adapters per model (OpenAI, Anthropic, Gemini, local). With MCP: 1 MCP server per capability, any MCP-compatible client works. Theory: write once, run anywhere. Reality: 3 transport layers, 2 auth approaches, schema inconsistencies.

What We Tested

ToolUse CaseVerdictWhy
MCP stdio (local)Dev machine agents, file/git/terminalZero config; spawns subprocess; works with Claude Desktop, Continue.dev, Cursor
MCP SSE (remote)Shared team servers, browser tools⚠️Requires long-lived HTTP; firewall issues; no standard auth (we use bearer tokens)
MCP HTTP (streamable)Serverless, edge deploymentSpec v0.1 doesn’t define streaming HTTP; every impl different
Custom tool calling (OpenAI)Production agents, strict schemasWorks today; typed; but model-locked
Anthropic Tools APIClaude-native agentsBest DX for Claude; but single-model

The Pivot Point

Built a GitHub MCP server (stdio). Worked perfectly in Claude Desktop. Failed in Continue.dev because Continue expects tools/list to return inputSchema as JSON Schema Draft 7 — our server returned Draft 2020-12. Fixed in 2 hours, but revealed: every client validates schemas differently.

What We Use Now

MCP for internal tooling only (stdio transport):

  • mcp-filesystem — repo read/write, grep, glob
  • mcp-github — PRs, issues, reviews, checks
  • mcp-postgres — read-only query, schema introspect
  • mcp-terminal — safe command allowlist (lint, test, build) Clients: Continue.dev (primary), Claude Desktop (debug), custom TypeScript client (eval harness).

Production agents: Direct Anthropic Tools API + custom typed wrappers. MCP migration blocked on: transport standardization, auth spec, schema versioning.

When You’d Choose Differently

  • Shipping to customers: Wait for MCP 1.0 (expected Q3 2026) or ship custom tool calling
  • Single-model shop (Claude-only): Anthropic Tools API is simpler and more stable
  • Serverless/edge: Current MCP transports don’t fit; custom HTTP tool calling works

Tool Crucible Rating

OverallEaseValueSupport
3.2/52.5/54.0/52.0/5

This is part of our AI agent infrastructure series. See full comparison: MCP Protocol 2026

Last reviewed 2026-06-07. See our methodology and affiliate policy.