Skip to content

[bot] Instrument MCP Go SDK (87,149,707 weekly downloads) #190

Description

@braintrust-bot

<!-- library-gap-audit: mcp-go-sdk-instrumentation -->

Summary

The official Model Context Protocol (MCP) Go SDK (github.com/modelcontextprotocol/go-sdk, package github.com/modelcontextprotocol/go-sdk/mcp) is not instrumented anywhere in this repo. MCP is the standard protocol for connecting LLM applications/agents to external tools and context; the Go SDK is maintained by the modelcontextprotocol org in collaboration with Google (the same governance model backing MCP's TypeScript/Python reference SDKs), and it defines the client/server execution surface agents use to discover and call tools during a run — squarely in scope as an agent-run/tool-calling execution surface, not a CRUD/admin API.

This repo already instruments other agent-execution frameworks separately from base model SDKs (e.g. Google ADK alongside google.golang.org/genai, LangChainGo alongside base providers), so a dedicated trace/contrib package for MCP client/server calls fits the existing pattern.

Weekly downloads

The Go SDK itself has no published download-count registry (it's a Go module without npm/PyPI distribution). As an adoption proxy, the official reference Python SDK for the same protocol:

Weekly downloads: 87,149,707 (as of 2026-08-03; https://pypistats.org/packages/mcp — package mcp, the official Python MCP SDK)

What is missing

A trace/contrib/mcp/ (or similarly named) integration module wrapping the execution-relevant calls on mcp.Client / mcp.Server:

  • Client.CallTool — the core tool-execution call agents make during a run (request/response, potential streaming progress notifications)
  • Server tool-handler invocation — the server-side execution of a registered tool handler, relevant when this repo's users build MCP servers that Braintrust should trace
  • Client.Session request/response lifecycle for tool listing and invocation (ListTools, CallTool) which represent the meaningful action surface (not resource/prompt CRUD)

Braintrust docs status

not_found. Braintrust's own MCP server (documented at https://www.braintrust.dev/docs/reference/mcp) is a product that exposes Braintrust's own data to coding assistants — it is not tracing/instrumentation of MCP client or server execution. The tracing integrations page (https://www.braintrust.dev/docs/guides/tracing/integrations) lists tracing integrations (OpenTelemetry, Vercel AI SDK, LangChain, LlamaIndex, DSPy, Instructor, LiteLLM, etc.) and agent frameworks (OpenAI Agents SDK, Claude Agent SDK, LangGraph, CrewAI, AutoGen, Google ADK, Strands, etc.) — MCP does not appear in either list, in this repo or in any other Braintrust SDK's documented integrations.

Upstream sources

Braintrust docs sources checked

Local repo files inspected

  • go.mod — no modelcontextprotocol/go-sdk dependency
  • trace/contrib/ — no mcp/ directory exists
  • trace/contrib/all/all.go — no MCP import
  • examples/internal/ — no MCP example subdirectory
  • Repo-wide search for modelcontextprotocol, mcp-go, "mcp" — no matches anywhere in the codebase

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions