Claude Code は賢い。けれど、箱から出したままでは「あなたの会社のSlack」も「あなたのNotion」も「あなたの売上データベース」も見えていない。これはClaudeの限界ではなく、単に配管がまだ通っていないだけだ。
その配管にあたるのが MCP(Model Context Protocol)、Anthropic が提唱するオープンな接続規格である。ひとことで言えば、『AIと外部データソースをつなぐ、標準化された差し込み口』。USB-C のコネクタを思い浮かべてほしい。一度形が決まれば、どのメーカーの機器でも同じケーブルで繋がる——あれのAI版だ。
ある個人開発者は、自分のSlackワークスペースを読むMCPサーバー(= 差し込み口の実体となる小さなプログラム)をわずか1日で書き上げた。翌日からは、Claude Code に向かって「先週 #dev チャンネルでリリースについて議論してた内容を要約して」と話しかけるだけで、過去ログを検索・引用してくれる環境が手に入った。ChatGPT の Plugin 時代と違い、MCP は標準化されているので、同じサーバーが Claude Desktop でもそのまま動く。しかも awesome-claude-code リポジトリには、すでに 100以上 の公開MCPサーバーが並んでいる。ゼロから書く必要すらない場面も多い。
この記事では、非エンジニアでも配管を引けるよう、MCPサーバー自作を6つのレイヤーに分解する。
全体像: 6レイヤーで捉える

図: MCPサーバー自作の6レイヤー全体像
- Transport(= 通信経路): stdio か HTTP か
- SDK(= 公式の道具箱): TypeScript or Python
- Tool定義(= Claudeに渡す『できること』リスト)
- データソース接続(= Slack / Notion / DB への実配線)
- Claude Code 側の登録(= 配管を家に繋ぐ工事)
- デバッグと検品(= 水漏れチェック)
順に見ていく。
レイヤー1: Transport を選ぶ
MCPサーバーとClaudeは『何らかの通信路』で会話する。選択肢は2つ。
- stdio transport(= 標準入出力での通信): ローカルで動かす場合の定番。Claudeがサーバーをサブプロセスとして起動し、パイプ越しに話す。設定が一番シンプル。
- HTTP transport(= Webサーバー型): リモートに置いて複数人・複数マシンから共有したい場合。認証やネットワーク設計が要る分、手間は増える。
比喩で言えば、stdio は『自宅のキッチンに直結した蛇口』、HTTP は『ビル全体に配水する給水塔』だ。ひとりで使うなら、まず stdio で十分。
レイヤー2: SDK を選ぶ
Anthropic は TypeScript SDK と Python SDK を公式に提供している。どちらを選んでも機能差はほとんどない。
- 普段 Node.js を触っているなら TypeScript
- データ分析や社内ツールが Python 中心なら Python
迷ったら TypeScript を推す。Claude Code 本体との親和性が高く、型が効くのでLLMに書かせた時のエラーが減る。
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
const server = new Server({ name: "my-slack", version: "0.1.0" });
// ... tool 定義 ...
await server.connect(new StdioServerTransport());
読めなくても大丈夫。要点はこうです: 『my-slack という名前のサーバーを一台立てて、標準入出力で話せる状態にする』——これだけのコードで、もうMCPサーバーの器は完成している。
レイヤー3: Tool 定義 = Claudeに渡す名刺
1つのMCPサーバーは、複数のツールを同時に提供できる。ツールとは、Claudeから呼び出せる関数のことだ。
例えば Slack 用サーバーなら:
search_messages(query)— メッセージ検索get_channel_history(channel)— チャンネル履歴取得post_message(channel, text)— 投稿
それぞれに『名前・説明文・入力スキーマ(= 引数の型)』を書いて登録する。この説明文がとても大事で、Claudeはここを読んで『いつ・どう呼ぶか』を判断する。新入社員に渡す名刺と業務マニュアルだと思えばいい。曖昧に書けば曖昧に呼ばれる。
レイヤー4: データソース接続
ここが一番『あなた固有』の部分だ。
- Slack なら Bot Token を発行して Web API を叩く
- Notion なら Integration を作って Notion API を叩く
- 社内DB なら読み取り専用ユーザーを作って SQL を投げる
ポイントは読み取り専用から始めること。最初から書き込み権限を渡すと、Claudeの提案が即座に本番データに反映されてしまう。新入社員に初日から決裁権を渡さないのと同じ発想だ。

図: 検品なし運用 vs 検品あり運用の事故率比較
レイヤー5: Claude Code に登録する
サーバー本体ができたら、Claude Code の設定ファイル(~/.claude/settings.json 等)に差し込み口として登録する。stdio なら『このコマンドで起動して』と書くだけ。
{
"mcpServers": {
"my-slack": {
"command": "node",
"args": ["/path/to/my-slack/dist/index.js"],
"env": { "SLACK_BOT_TOKEN": "xoxb-..." }
}
}
}
読めなくても大丈夫。要点はこうです: 『my-slack というあだ名のサーバーを、このコマンドで起動して、トークンはこの環境変数で渡してね』と Claude Code に教えているだけ。登録が終わると、Claude Code を再起動した瞬間から、チャット欄で自然言語で呼び出せるようになる。

図: 自然言語→Tool選択→データソース→回答生成までの時系列
レイヤー6: デバッグと検品
MCPサーバー開発でハマりがちな3点:
- 起動時のエラーが見えない — stdio は標準出力をプロトコルに使うので、
console.logを書くと通信が壊れる。ログは必ずstderrか別ファイルへ。 - Tool の説明文が弱い — Claudeがツールを呼ばない/間違えて呼ぶ時は、たいてい description 不足。
- トークンの権限過多 — 最初は read scope のみで発行する。
この検品ゲート(= 本番に流す前の最終チェック)を通してから、はじめて日常のワークフローに組み込む。
awesome-claude-code という近道
自作の前に、まず awesome-claude-code リポジトリを覗いてほしい。Slack / Notion / GitHub / Linear / Postgres / Figma など、100以上のMCPサーバーがすでに公開されている。多くは npx や uvx 一発で試せる。『自作する前に、動くものをそのまま借りてくる』というのは、個人運営者にとって最速の選択肢だ。
公開サーバーを起点に、足りない機能だけ追加でフォークして書く。これが現実的なルートになる。
エンジニアじゃない方へのメッセージ
ここまで読んで『やっぱり自分には無理そう』と感じたかもしれない。けれど、実際に必要な作業量は驚くほど少ない。
- レイヤー1〜3 はテンプレートをコピーするだけで済む
- レイヤー4 は『Slackのトークンを取る』『Notionの連携を作る』というクリック作業が主
- レイヤー5 は設定ファイルを1箇所書き換えるだけ
- レイヤー6 はClaude Code 自身にデバッグさせられる
つまり、あなたの仕事は『どのデータを Claude に見せたいか』を決めることだけだ。配管を曲げる技術そのものは、テンプレートとClaude Code が肩代わりしてくれる。『個人事業の立ち上げで技術的ハードルに怯んでいる』人ほど、MCP は味方になる。自分の業務データを Claude に預けられた瞬間から、ひとり会社の生産性は階段を一段上がる。
🎁 特典: 設定ファイル一式ダウンロード
本記事の内容をそのまま試せるスターターキットを配布する。解凍して、あなたのメディアテーマ・業務データに合わせて書き換えるだけで、今日からMCPサーバーを動かせる。
zipの中身:
mcp-server-template-ts/— TypeScript版 最小MCPサーバーテンプレート(stdio対応・Tool2つサンプル入り)mcp-server-template-py/— Python版 最小MCPサーバーテンプレートclaude-code-settings.sample.json— Claude Code 登録用サンプル設定debug-tips.md— stderr ログ設定・権限スコープ・よくあるハマり所チェックリストslack-integration-walkthrough.md— Slack Bot Token 取得から read-only 接続まで
『解凍して、あなたのメディアテーマに合わせて書き換えるだけ』で動くように組んである。
👉 ダウンロードする
📚 参考リファレンス
- Model Context Protocol 公式ドキュメント
- Anthropic MCP TypeScript SDK
- Anthropic MCP Python SDK
- awesome-claude-code(公開MCPサーバー100+)
- Claude Code 公式ベストプラクティス




