
The guide walks through creating a TypeScript MCP server with @modelcontextprotocol/sdk, registering a single "list_todos" tool, testing it with the official MCP Inspector, and adding it to Claude Code with the claude mcp add command. It flags one common trap: a single console.log line on a stdio server gets mixed into the protocol's own messages, so the client hits a parse error and goes silent.
Summaries like this, in your inbox every morning.
The piece is written from firsthand experience: the author had already built an MCP server for internal API integration and connected it to Claude Code, and describes the first thing that tripped them up as not implementation difficulty but the quiet failure caused by writing one console.log line. That failure mode follows from how a stdio server works — the process's stdout is the JSON-RPC channel itself, so anything else written there corrupts the conversation. The recommended logging escape hatch is console.error, which goes to stderr instead.
The recommended first tool is deliberately small: list_todos, which scans a directory for TODO and FIXME comments in .ts, .tsx, .js and .py files and returns them with file paths and line numbers. The author argues this kind of modest tool still matters, because it adds information a team already cares about into what the LLM can reach.
Beyond the stdout trap, the guide lists a few more practical snags. A loose inputSchema (the tool's argument definitions, written with the Zod library) makes the client's argument generation unstable, so the schema should be strict. The entry point passed to claude mcp add is safest as an absolute path, so the server does not depend on the directory Claude Code was launched from. And shutting down Claude Code without stopping the server can leave the child process lingering, which is why the author suggests checking with ps aux | grep tsx during development. The closing advice is to start with a minimal one-tool server and connect it via claude mcp add before expanding.
Pick your industry and the AI tools you use, and get news related to your work every day.
Free · 30 seconds with Google · unsubscribe anytimeWhat is AIToday? →
Ask AI anything about this article. The AI reads this article, earlier AIToday articles, and Wikipedia, and cites its sources. Q&As are published on this page for other readers too.
IBM's Bruno Aziza said the number of AI agents employees build will outpace what companies can manage, so firm…
Nathan Lambert published an essay arguing AI progress will accelerate through engineering and infrastructure g…

Google DeepMind's Pushmeet Kohli said AlphaFold did not solve protein folding, because proteins are disordered…

ALPHA FORGE's new sandbox.py calls the same inference orchestrator as the daily batch but never calls the ledg…

Writing on Zenn, Taichi Endoh — a clinical engineer and AI engineer — says the first step in a leak is to defi…

A Zenn field report on Claude Code 2.1.286〜2.1.288 (October 2026, Windows) lists five failures when a Mod buil…
