CC逆引きリファレンス

MCP サーバーを自作したい(基本)

4. 権限・セキュリティ

コマンド / 機能

TypeScript/Python SDK を使用

カスタム MCP サーバーの作成

設定例

// TypeScript での基本的な MCP サーバー
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

const server = new McpServer({
  name: "my-custom-server",
  version: "1.0.0"
});

// ツールを定義
server.tool(
  "hello",
  "挨拶を返すツール",
  { name: { type: "string", description: "名前" } },
  async ({ name }) => {
    return {
      content: [{ type: "text", text: `Hello, ${name}!` }]
    };
  }
);

// サーバー起動
const transport = new StdioServerTransport();
await server.connect(transport);

こんな時に使う

  • 独自のツールを Claude に追加したい時
  • 社内システムと連携したい時
  • 特殊な処理を自動化したい時

使い方

  1. 1npm install @modelcontextprotocol/sdk
  2. 2McpServer インスタンスを作成
  3. 3server.tool() でツールを定義
  4. 4StdioServerTransport で標準入出力を使用

Tips

  • ツール名は Claude が呼び出す際の識別子
  • 説明文は Claude がツールを選択する際の判断材料
  • 引数のスキーマは JSON Schema 形式で定義