2025 年 9 月時点 tsx でより手軽に TypeScript な MCP サーバーを動かすメモ
2025 年 9 月時点 tsx でより手軽に TypeScript な MCP サーバーを動かすメモです。
背景
あくまで 2025 年 9 月時点の仕様で試してみたお話です。ここから仕様が変わったり、より良いアプローチが見つかるかもしれません。
- 2025 年 5 月時点 ツール一覧から選んでツールを使うだけのシンプルな MCP クライアントを作り標準入出力 MCP サーバーとつないでみるメモ - 1ft-seabass.jp.MEMO
- 2025 年 5 月時点 stdio 標準入出力 MCP サーバーをブリッジにして Node-RED が MCP クライアントと連携するメモ - 1ft-seabass.jp.MEMO
- 2025 年 4 月時点 Node-RED からローカルのステートフル MCP サーバーと連携するメモ - 1ft-seabass.jp.MEMO
こういった記事で ts-node/esm を使って TypeScript を実行しているのですが、これはこれで手堅いものの、tsconfig.json をする必要があったり環境設定に手間があるので、より手軽に TypeScript が動かせる tsx も試してみます。
準備
プロジェクトフォルダで準備をして Visual Studio Code で開きます。
npm init -y
で npm の準備をして、
npm install @modelcontextprotocol/sdk zod
と
npm install -D tsx
をインストールして基礎の設定をします。
package.json の編集
code package.json
package.json を開いて、
"type": "module",
を加えて module 対応にします。
"sample-add-server": "tsx --no-warnings sample-add-server.ts"
scripts に MCP サーバー実行用の設定を加えます。これで npm run sample-add-server で起動できます。
sample-add-server.ts
シンプルな足し算をするコードです。
code sample-add-server.ts
で sample-add-server.ts を作ります。
modelcontextprotocol/typescript-sdk: The official TypeScript SDK for Model Context Protocol servers and clients にある QuickStart の 2025 年 9 月時点のコードを参考にします。
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
// Create an MCP server
const server = new McpServer({
name: "addition-server",
version: "1.0.0"
});
// Add an addition tool
server.registerTool("add",
{
title: "Addition Tool",
description: "Add two numbers",
inputSchema: { a: z.number(), b: z.number() }
},
async ({ a, b }) => ({
content: [{ type: "text", text: String(a + b) }]
})
);
// Start receiving messages on stdin and sending messages on stdout
const transport = new StdioServerTransport();
await server.connect(transport);
これを sample-add-server.ts で保存します。
動かしてみる
たとえば Claude Desktop で動かしてみます。
"mcpServers":{
"addition-server": {
"command": "npm",
"args": [
"--prefix",
"C:\\workspace\\tsx-mcp-server",
"run",
"sample-add-server",
"--silent"
]
}
}
設定ファイルにこのように加えてツールを加えます。

このように追加されました。

足し算して 4 + 12 というと、実際にこのツールがうまく動きました!
tsx だと tsconfig なしで動くので、環境設定ですべきことが減ってやりやすくなりますね!