OTel client span stays Unset when the tool result has isError: true
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 79/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- python
- Domaine
- backend-api-design, observability
Piste de recherche
Commencez dans shared/jsonrpc_dispatcher.py et lisez le traitement existant des réponses d’erreur JSON-RPC, puis comparez-le au traitement des erreurs d’outil dans server/_otel.py et aux consignes de docs/gen-ai/mcp.md. Testez une réponse réussie contenant un CallToolResult avec isError défini. Le travail est terminé lorsque le span client indique error.type=tool_error et le statut ERROR, avec un test couvrant ce comportement.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
With mcp==2.3.0, the client span created in shared/jsonrpc_dispatcher.py sets ERROR status and error.type for a JSON-RPC error response (the #3174 fix), but not for a successful response whose CallToolResult.isError is true. The server span for the same call does set error.type=tool_error (server/_otel.py), so the two ends of one call disagree.
The OTel GenAI semantic conventions for MCP (docs/gen-ai/mcp.md, note on error.type) say instrumentation SHOULD set error.type to tool_error when the tool result reports an error.
Reproduction (Python client and server, Streamable HTTP, default OTel setup):
git clone https://github.com/mkwitko/mcp-reliability && cd mcp-reliability
examples/python-sdk-streamable-http/run.sh # needs docker, uv, go
go run ./cmd/mcp-reliability doctor testdata/python-sdk-default.jsonl
Output includes:
[WARN] MCP-ERR-003: client and server spans for "tools/call fail" disagree on failure: the client span lacks error.type
Captured trace and write-up: https://github.com/mkwitko/mcp-reliability/blob/v0.1.0/docs/research/python-sdk-v2-validation.md
Suggested change: after the response is parsed in the dispatcher, if the result is a CallToolResult with isError, set error.type="tool_error" and status ERROR on the client span, matching server/_otel.py. Happy to send a PR if you agree with the direction.
- Langage dominant
- Python
- Étoiles
- 24.7k
- Forks
- 4.1k
- Merge moyen
- 18 h 27 min
- PR mergées (30 j)
- 15
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un 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 modelcontextprotocol/python-sdk
-
bug v2
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
modelcontextprotocol/python-sdk#3811 ·
Les mainteneurs répondent en général sous 1 jour
-
bug v1 v2
Difficulté 2/5 1-3 heures Accessibilité débutants 79/100
modelcontextprotocol/python-sdk#3781 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: Inconsistent structured output wrapping and opt-out for typing.Dict and typing sequence generics in func_metadataPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouvertebug v1 v2
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
modelcontextprotocol/python-sdk#3771 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
bug v2
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
modelcontextprotocol/python-sdk#3769 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
2026 Streamable HTTP rejects whitespace-padded Mcp-Name valuesPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouvertebug spec-2026-07-28 v2
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
modelcontextprotocol/python-sdk#3763 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de modelcontextprotocol/python-sdk
Issues similaires
-
Backend issue lists report in-patch warnings and out-of-patch errors as not publishablePeut-être pris @RaphaelFakhri l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
mozilla/code-review#3794 ·
Les mainteneurs répondent en général sous 1 jour
-
[oblt-aw][autodoc] Update docs that still describe the security registry as emptyPeut-être pris @github-actions l’a pris aujourd’hui. Ouverte
Difficulté 1/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
[Bug] adb backup script reports "Done" & exits 0 when the backup failsPeut-être pris @bhattmanthan l’a pris aujourd’hui. Ouverterequest-issue-assignment
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
OWASP/mastg#4034 · 5 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
agent-ui bug p2
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
amd/gaia#6580 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
correction metadata
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
acl-org/acl-anthology#10768 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour