MCP server corrupts stdio stream with console.log output
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 68/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- À l'abandon
- Stack technique
- typescript
Piste de recherche
Commencez par rechercher les occurrences de console.log indiquées dans les quatre fichiers concernés—src/embeddings.ts, src/indexer.ts, src/conversations.ts et src/index.ts. Remplacez la sortie de débogage comme indiqué, puis testez le chemin MCP stdio et vérifiez que stdout ne contient que des messages JSON-RPC, tandis que la sortie de débogage est envoyée vers stderr.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Bug
The MCP server uses console.log() for debug output in several source files. Since MCP servers communicate with the host over stdio JSON-RPC, any non-JSON output on stdout corrupts the protocol stream.
This manifests as a parse error in Claude Code:
Unexpected identifier Indexer
How it happens
Normal MCP stdio traffic looks like this:
Host → Server:
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_memory","arguments":{"query":"console log fix"}}}
Server → Host (expected):
{"jsonrpc":"2.0","id":1,"result":{"content":[{"type":"text","text":"..."}]}}
But with console.log calls in the code, what actually arrives on stdout is:
[Indexer] Starting full index rebuild...
[Indexer] Parsing journal...
[Indexer] Indexing 18 items...
{"jsonrpc":"2.0","id":1,"result":{"content":[{"type":"text","text":"..."}]}}
The host reads line by line and tries to JSON.parse each one. The first line it sees is [Indexer] Starting full index rebuild... — not valid JSON — so the parser throws:
Unexpected identifier 'Indexer'
The actual response that follows never gets processed correctly because the stream is now out of sync.
Affected files
src/embeddings.ts(1 occurrence)src/indexer.ts(9 occurrences)src/conversations.ts(10 occurrences)src/index.ts(2 occurrences)
Fix
Replace all console.log( with console.error( in these files. stderr is not part of the MCP stdio pipe and is safe for debug output.
This issue was identified and filed with the help of Claude Code.
- Langage dominant
- TypeScript
- Étoiles
- 119
- Forks
- 6
- Merge moyen
- 1 h 32 min
- PR mergées (30 j)
- 2
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
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 ascorbic/macrodata
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 70/100
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 74/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
-
Support Cursor Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
Toutes les issues de ascorbic/macrodata
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
copse-dev/agent-pane#2953 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
[Bug]: Matrix progress drafts fail with "Matrix runtime not initialized" during tool activity Ouvertebug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Client support matrix inclusion Ouverteenhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
calcite-components needs triage refactor
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Esri/calcite-design-system#15203 ·