[bot] MCP (Model Context Protocol) Python SDK: no instrumentation for ClientSession tool-calling execution
Les mainteneurs répondent en général sous 1 jour
@raoashish10 y travaille déjà.
Depuis le 2/8/2026.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 48/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Calme
- Stack technique
- python
- Domaine
- observability-sre
Piste de recherche
Commencez par py/src/braintrust/integrations/adk/test_adk_mcp_tool.py et la structure environnante de py/src/braintrust/integrations/, puisque le dépôt ne contient pas d’intégration mcp autonome. Examinez les surfaces stables de mcp.ClientSession listées dans l’issue ainsi que les conventions de tracing existantes ; le travail est considéré comme terminé lorsque les appels directs aux outils, les lectures de ressources et les opérations sur les prompts sont instrumentés avec les entrées, sorties et métadonnées indiquées, et que le tableau des intégrations du README a été mis à jour.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
The official Model Context Protocol Python SDK (PyPI package mcp, https://github.com/modelcontextprotocol/python-sdk) is not instrumented anywhere in this repo. mcp.ClientSession exposes an execution surface for agent tool-calling — call_tool(), list_tools(), read_resource(), list_resources(), list_prompts(), get_prompt() — that a developer's own agent code can call directly, independent of any of the agent frameworks this repo already instruments (claude_agent_sdk, openai_agents, google-adk, etc., which each embed their own MCP client internally).
Braintrust already instruments several agent-run frameworks that use MCP under the hood (e.g. Google ADK — see py/src/braintrust/integrations/adk/test_adk_mcp_tool.py — plus Claude Agent SDK and OpenAI Agents SDK), but a developer who talks to an MCP server directly via the standalone mcp SDK (not through one of those frameworks) gets zero tracing for their tool calls, resource reads, or prompt fetches.
Braintrust docs status: not_found. https://www.braintrust.dev/docs/guides/tracing lists supported providers ("OpenAI, Anthropic, Gemini, AWS Bedrock, Azure, Mistral, Together, Groq, and many more") and frameworks ("LangChain, LangGraph, CrewAI, Vercel AI SDK, Pydantic AI, DSPy, and many more") but does not mention the standalone MCP Python SDK or ClientSession instrumentation.
What needs to be instrumented
| SDK surface | Already traced? |
|---|---|
ClientSession.call_tool(name, arguments) |
No |
ClientSession.list_tools() |
No |
ClientSession.read_resource(uri) |
No |
ClientSession.list_resources() |
No |
ClientSession.get_prompt(name, arguments) |
No |
A useful span for call_tool should record input (tool name + arguments), output (CallToolResult.content / structuredContent), and metadata (provider: "mcp", server name/transport).
Upstream sources
- Repo: https://github.com/modelcontextprotocol/python-sdk
- PyPI:
mcp— latest stable release1.28.1(2026-06-26): https://pypi.org/project/mcp/ - Client quickstart showing
ClientSession.list_tools()/call_tool()usage: https://modelcontextprotocol.io/quickstart/client
Local repo files inspected
- Repo-wide grep for
import mcp,from mcp,ClientSessionunderpy/src/braintrust/— zero matches py/src/braintrust/integrations/adk/test_adk_mcp_tool.py— MCP only exercised as a sub-feature of the Google ADK integration; no standalonemcppatcherpy/src/braintrust/integrations/— nomcp/directoryREADME.mdintegrations table — no MCP entry
Note: as of this writing the mcp package's v2 line (2.0.0b1) is an explicit pre-release not intended for production per its own README, so instrumentation should target the stable v1.x ClientSession API.
- Langage dominant
- Python
- Étoiles
- 21
- Forks
- 23
- Merge moyen
- 19 h 55 min
- PR mergées (30 j)
- 95
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de braintrustdata/braintrust-sdk-python
-
feature python
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
braintrustdata/braintrust-sdk-python#868 ·
Les mainteneurs répondent en général sous 1 jour
-
feature integration: mistral python
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
braintrustdata/braintrust-sdk-python#867 ·
Les mainteneurs répondent en général sous 1 jour
-
[bot] Google GenAI: streaming responses drop `url_context_metadata` that non-streaming responses preservePeut-être pris @Kayvan-Zahiri l’a pris il y a 6 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
braintrustdata/braintrust-sdk-python#774 ·
Les mainteneurs répondent en général sous 1 jour
-
OpenAI: trace computer-use Agents session items and capture Responses `access_programs`Peut-être pris @AbhiPrasad l’a pris il y a 2 jours. Ouvertefeature integration: openai python
braintrustdata/braintrust-sdk-python#869 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
feature python
Difficulté 3/5 1-2 jours Accessibilité débutants 72/100
braintrustdata/braintrust-sdk-python#866 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de braintrustdata/braintrust-sdk-python
Issues similaires
-
changelog investigate
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
ramnes/notion-sdk-py#409 ·
-
good first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
lindicaphxag-tech/kaggle#28 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
BSData/horus-heresy-3rd-edition#3211 ·
Les mainteneurs répondent en général sous 1 jour
-
bug needs-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Les mainteneurs répondent en général sous 1 jour
-
bug tests
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour