目次
MCPを自分で作る方法:Poachang Lab MCPの例
🚀 はじめに
みなさん、今日は「MCPを自分で作る」というテーマで学んでいきましょう。
「MCPってなに?」というところから始めて、実際にCursor上でファイルを準備して、AI Agent(Claude Sonnet 4 や Codex on Cursor など)と連携させる流れを具体的にイメージできるように解説いたします。
動画や記事としても使えるように、3000〜5000文字程度で体系的にまとめましたので、このままNotebookLMに読み込んで動画化しても理解しやすい構成になっております。
💡 この記事で学べること
- MCPの基本概念と仕組み
- 自作MCPの作成手順
- CursorとAIエージェントとの連携方法
- 実践的なコード例とテスト方法
🔍 1. MCPとは何か?
📚 1-1. MCPの基本概念
MCPとは Model Context Protocol の略で、AIエージェントやツールがやり取りするための標準的なプロトコルです。
- GitHub MCP - リポジトリの操作やIssue管理
- AWS MCP - クラウドリソースの操作
- Playwright MCP - ブラウザの自動操作
既存の代表的なMCP:
これらは「AIエージェントがGitHubにアクセスする」「AWSリソースを操作する」「ブラウザを自動操作する」といった機能を提供してくれます。
🎯 つまり、MCPは「AIに外部世界とつながる道具を与える仕組み」 といえるのです。
⚡ 1-2. MCPと普通のプログラムの違い
初心者の方がよく混乱されるのは「Node.jsで普通にプログラムを書くのと何が違うの?」という点です。
| 項目 | 普通のNode.jsアプリ | MCP |
|---|---|---|
| 実行方法 | `node index.js`で直接実行 | AIエージェントが呼び出し |
| 対象ユーザー | 人間が直接使用 | AI専用の外部ツール |
| 設計思想 | 人間の操作を前提 | AIのためのドライバ |
🛠️ 1-3. 既存MCPと自作MCPの違い
- GitHubのリポジトリを見に行ったり、AWSのS3にアクセスできたりする便利なもの
- 自分専用の「かゆいところに手が届く」機能を作成可能
- 例:「マッシュルームの説明を生成して、X(旧Twitter)に自動投稿する」みたいな特化機能
- 自分の趣味、研究、ビジネスに特化したオリジナルの道具になります
既存MCP:
自作MCP:
🌟 2. なぜMCPを自分で作るのか?
みなさんが「ただ使う側」から「作る側」に回ると、一気に世界が広がります。
🎮 自作MCPのメリット
- エージェントを呼び出すだけで自動処理が実行される
- 複雑な作業を一瞬で完了させることが可能
- 例:「AWSのログ監視」と「Slack通知」をつなげる自作MCP
- 複数のサービスを連携させた独自ワークフローの構築
- AIを使うだけでなく、内部構造の理解も深まる
- 応用範囲が格段に広がる
1. AIを自分の手足にできる
2. 既存サービスを自分好みに組み替える
3. 学びとしてのメリット
📚 豆知識
昔のコンピュータ黎明期には「デバイスドライバ」を自作する文化がありました。MCPはそれに近く、現代の「AI用ドライバ」とも言えるのです。
📁 3. MCPを作るための基本ファイル
まず、MCPには3つの基本ファイルが必要です。
🗂️ 必要なファイル一覧
- Node.jsプロジェクトとしてMCPを管理する定義ファイル
- 依存パッケージやエントリーポイントを記載
- MCPのメタ情報(名前、バージョン、エンドポイントなど)を定義するファイル
- 実際の処理を書くコード
- 「入力を受け取ってどう変換するか」「どこに出力するか」を記述
1. package.json
2. mcp.json
3. エントリーファイル(例: index.js)
🏗️ ディレクトリ構成の例
以下のようなディレクトリ構成にすると分かりやすいです。
pochanglab-mcp/ ├── package.json # Node.jsの定義ファイル ├── mcp.json # MCPの定義ファイル └── index.js # 処理を書くファイル
✅ ポイント: シンプルな構成から始めて、必要に応じて機能を拡張していくのがおすすめです。
🍄 4. Poachang Lab MCPの例:マッシュルーム変換
ここでは「マッシュルーム変換MCP」を例に、実際のコード構成を見ていきましょう。
📦 package.json の例
{
"name": "pochanglab-mcp",
"version": "1.0.0",
"main": "index.js",
"dependencies": {
"axios": "^1.6.0"
}
}⚙️ mcp.json の例
{
"name": "pochanglab-mushroom-mcp",
"version": "1.0.0",
"description": "マッシュルームの意味を解釈してXに投稿するMCP",
"entry": "index.js",
"capabilities": ["transform", "post"]
}💻 index.js の例
import axios from "axios";
export async function handleRequest(input) {
if (input.includes("マッシュルーム")) {
const explanation = "マッシュルームはシチューに入れると旨味が出ますが、丸焼きは香りが強く苦手な人もいます。しいたけと同じくキノコ類の一種です。";
// X (Twitter) に投稿する(仮想例)
await axios.post("https://api.x.com/post", {
text: explanation
});
return { result: "投稿しました: " + explanation };
} else {
return { result: "特に変換はありません。" };
}
}🔧 解説: この例では、入力に「マッシュルーム」が含まれていると、説明文を生成してX(旧Twitter)に投稿する機能を実装しています。
🧪 5. ローカルでのテスト方法
いきなりAIエージェントと接続する前に、まずはローカルで動作確認を行いましょう。
🔍 基本テストコード
export async function handleRequest(input) {
return { result: "あなたが入力したのは: " + input };
}
// テスト用
if (require.main === module) {
const input = "マッシュルーム";
handleRequest(input).then(res => console.log(res));
}🚀 実行とテスト
これを保存して実行:
node index.js
出力例:
{ result: 'あなたが入力したのは: マッシュルーム' }✅ 重要: こうして基本的な動きを確認してから、MCPとして登録すると安心です。デバッグが容易になり、問題の早期発見につながります。
⚙️ 6. Cursorでのセットアップ
📂 1. プロジェクト用ディレクトリの作成
mkdir pochanglab-mcp cd pochanglab-mcp npm init -y
📄 2. ファイルの配置
package.jsonmcp.jsonindex.js
上記で説明した以下のファイルを配置します:
🔧 3. Cursorでの設定
Cursorで mcp.json を読み込ませる設定を行います。
settings.json のMCP設定に以下を追加:
{
"mcpServers": {
"pochanglab-mushroom": {
"command": "node",
"args": ["index.js"],
"env": {}
}
}
}🤖 4. AIエージェントからの呼び出し
AI Agent(Claude Sonnet 4やCodex on Cursor)から呼び出します。
使用例:
MCP: pochanglab-mushroom 入力: マッシュルームとは?
🎯 結果: 先ほどの処理が実行され、Xに自動投稿まで行われます。
🚀 7. 応用の広がり
自作MCPの可能性は無限大です。以下のような応用例が考えられます。
💼 業務効率化
- 社内Wiki自動参照MCP: 質問に対して社内Wikiから適切な回答を自動検索
- レポート生成MCP: データを自動収集してレポートを作成
🎨 創作活動
- ギターコード自動当てはめMCP: 歌詞に合うギターコードを自動提案
- イラスト生成MCP: テーマに応じたイラストを自動生成
🔬 研究・分析用
- 天気API連携MCP: 天気データを取得して分析に活用
- 株価監視MCP: 株価の変動を監視してアラートを送信
🎯 まさに「AIエージェントをカスタマイズできる自由度」が、MCP自作の醍醐味です。
🎉 8. まとめ
みなさん、ここまででMCPのイメージが掴めたでしょうか。
🔑 重要なポイント
- MCPはAIと外部世界をつなぐプロトコル
- 普通のプログラムと違い「AIが使うことを前提」に作成
- 必要なファイルは
package.json、mcp.json、index.jsの3つ - まずローカルでテスト、その後Cursorに登録してAIエージェントと連携
- Poachang Lab MCPのように、ちょっとユーモラスな機能から始めるのも良い
🌈 最後に
自作MCPは、学びとしても実用としても大きな力になります。
みなさんもぜひ、自分だけのMCP作りに挑戦してみてください。きっと新しい発見と可能性が待っているはずです。
💪 今日から始められる第一歩: まずは簡単な「Hello World」MCPから作ってみましょう!
関連記事
新たなコーディングフロンティア:CursorのComposerとエージェント速度の時代
2025年10月に発表されたCursor Composer 1とCursor 2.0は、AIコーディング支援の新時代を切り開きます。開発者の「フロー状態」を守る高速モデルと、マルチエージェントワークフローの徹底解説。
【2025年最新】PR自動生成はもう古い。AIが開発を「完了」させる時代へ
2025年5月にGitHubが発表した「Copilot Coding Agent」について解説。AIがPRを作るだけでなく、Issueを理解して完了まで進める新しい開発支援AIの全貌を紹介します。
Cursor最新プランと"本当にお得"な選び方(2025年版)
Cursorの最新料金プラン(Pro、Pro+、Ultra)を数式で徹底比較。月間使用量に応じた最適なプランの選び方と、どこからUltra一択になるかをわかりやすく解説します。
RAG(検索拡張生成)とは?生成AI・AIエージェント・MCPとの違いを完全解説
注目のAI技術「RAG(検索拡張生成)」を初心者向けに徹底解説。生成AI、AIエージェント、MCPとの違いや関連性、ChatGPTのウェブ検索との関係まで分かりやすく紹介します。
Devin(AI開発エージェント)完全解説 – 機能・料金・使い方の全て
AI開発エージェント「Devin」の2025年最新情報を完全解説。機能、料金体系(ACU課金)、使い方のコツ、向き不向きまで初心者にも分かりやすく紹介します。