AIToday
Large Language ModelsAI Coding AssistantsZenn AI/MLPublished: Oct 15, 2026, 22:00 JST

Claude Code MCP servers: just a script, no SDK needed

Claude Code MCP servers: just a script, no SDK needed

3 Key Points

  1. What happened

    The author registered a memo server in Claude Code with "claude mcp add memo -- node /path/to/memo-mcp.mjs", then built the same save_memo and list_memos tools twice — without the SDK (60 lines) and with the official @modelcontextprotocol/sdk (36 lines) — and both worked identically.

  2. Why it matters

    MCP servers are not always something you host and keep running; Claude Code starts the script alongside itself and talks to it over stdio, which lowers the bar for turning ordinary scripts into tools Claude can call.

Not sure about something? Ask the AI

Questions and answers are published on this page.

Summaries like this, in your inbox every morning.

Context & Analysis

The distinction between skills and MCP comes from inspecting actual requests. A skill's Markdown body is not sent up front — only its name and description appear in the first request, and the body enters the conversation when Claude invokes it through the Skill tool. An MCP server instead contributes tool definitions and a server-level instructions block near the start of the conversation, which is where you say when this server's tools should be used.

The difference the author considers decisive is who controls what happens after a tool is chosen. With a skill and a script, Claude assembles the command line and can change options, edit the script, or skip it and call the API with curl. With an MCP tool, Claude decides only whether to use it; the JSON Schema and the code constrain the rest. The checklist feature in the author's macOS app tanacode is the example: decisions can only be added, or revoked with a reason, and an attempt to rewrite a card is refused by the app's code. That places MCP between skills, where Claude decides both when and what, and hooks or workflows, where the code decides both.

The concerns behind MCP's name are answered with a log from the memo server showing startup, initialize, tools/list, two tool calls, and the shutdown signal. The author settles on a rule of thumb: skills for procedures and conventions, MCP for operations whose result must be guaranteed — and notes that the two can be combined, putting capability in MCP and long sequencing instructions in a skill to keep the everyday context small.

FAQ
Do I have to set up and deploy a server to use MCP with Claude Code?
No. A locally used MCP server is a script Claude Code launches as a child process and communicates with over standard input and output. It starts with Claude Code and is stopped with a SIGINT signal when Claude Code exits, so there is nothing to keep running.
What does the server actually have to implement?
For tools only, four methods are enough: initialize, tools/list, tools/call, and ping. Notifications such as notifications/initialized get no reply, and unknown methods return a "Method not found" error.
Is marking a tool read-only enough to skip permission prompts?
No. Even with readOnlyHint set, calling the tool was refused until it was granted. Tools must be allowed explicitly, for example with --allowedTools mcp__memo or mcp__memo__list_memos, or in permissions.allow in settings.json.

AI news that matters for your work, delivered every morning.

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

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.

Questions and answers are published on this page.

Related Articles

Next articlePNAS study: self-organizing networks match backpropagation-trained networks tested