MCPサーバーとは(1分でわかる基礎)
MCP(Model Context Protocol)は、Anthropic が策定した AIツールとの標準通信規格です。MCPサーバーを使うと、Claude・Cursor・Windsurf などの AI IDE が外部ツール・データベース・APIと安全に連携できるようになります。
たとえば「GitHubのIssueを読んでコードを修正する」「Notionのドキュメントを参照しながら文章を書く」「社内DBに問い合わせて回答を生成する」といった操作が、MCPサーバーを経由することで実現します。2024年後半から多くの企業がMCPサーバーを公開・整備し始め、2026年現在では業務自動化の基盤技術として広く認知されています。
MCPサーバーはオープンソースで公開されているものも多く、個人開発者が作ったツールが企業に採用・買収される事例も増えています。つまり、MCPサーバーは「売買できる資産」になり得るのです。
MCPサーバーの作り方(TypeScript編)
MCPサーバーの開発に最も広く使われているのは TypeScript(Node.js)です。Anthropic が公式SDK @modelcontextprotocol/sdk を提供しているため、セットアップが容易です。
環境セットアップ
まず Node.js(v18以上)と npm が必要です。プロジェクトを初期化し、必要なパッケージをインストールします。
npm init -y
npm install @modelcontextprotocol/sdk
npm install -D typescript @types/node tsx
tsconfig.json を作成し、target を ES2022、module を Node16 に設定してください。
基本的な実装パターン
MCPサーバーの中核は「ツール(Tool)」の定義です。ツール名・説明・入力スキーマ(JSONSchema)を定義し、ハンドラー関数を実装するだけで Claude などの AI から呼び出せるようになります。
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
const server = new Server(
{ name: "my-mcp-server", version: "1.0.0" },
{ capabilities: { tools: {} } }
);
server.setRequestHandler("tools/list", async () => ({
tools: [{
name: "get_weather",
description: "指定した都市の現在の天気を取得します",
inputSchema: {
type: "object",
properties: { city: { type: "string", description: "都市名" } },
required: ["city"]
}
}]
}));
server.setRequestHandler("tools/call", async (req) => {
const { name, arguments: args } = req.params;
if (name === "get_weather") {
// 実際のAPI呼び出し処理
return { content: [{ type: "text", text: `${args.city}の天気: 晴れ` }] };
}
});
const transport = new StdioServerTransport();
await server.connect(transport);
このコードを src/index.ts に保存し、npx tsx src/index.ts で起動できます。Claude Desktop の claude_desktop_config.json にサーバーパスを登録すれば、すぐに使えます。
npmへの公開
完成したMCPサーバーは npm に公開することで広く使ってもらえます。package.json の bin フィールドにエントリーポイントを指定し、npm publish を実行するだけです。パッケージ名は @yourname/mcp-server-xxx の形式が慣例です。
npm 公開後は週間ダウンロード数が自動的に計測されます。このダウンロード数は売却査定時の重要な指標になるため、公開直後からトラッキングしておくことをおすすめします。
MCPサーバーの作り方(Python編)
Python でも公式SDK mcp を使って MCPサーバーを開発できます。データサイエンス系・機械学習系のツールを作る場合は Python が適しています。
環境セットアップ(uv推奨)
Python のパッケージ管理には uv の使用が推奨されます。依存関係の解決が高速で、MCPサーバーの配布・インストールが容易になります。
# uvのインストール
curl -LsSf https://astral.sh/uv/install.sh | sh
# プロジェクト初期化
uv init my-mcp-server
cd my-mcp-server
uv add mcp 基本的な実装パターン
Python SDK では @mcp.tool() デコレーターを使うシンプルな記法が利用できます。関数の型ヒントと docstring から入力スキーマが自動生成されるため、JSONSchema を手書きする必要がありません。
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("my-mcp-server")
@mcp.tool()
def search_documents(query: str, limit: int = 10) -> str:
"""社内ドキュメントを全文検索します。
Args:
query: 検索クエリ
limit: 返す件数の上限
"""
# 実際の検索処理
results = [f"ドキュメント{i}: {query}に関連" for i in range(limit)]
return "\n".join(results)
if __name__ == "__main__":
mcp.run()
uv run python main.py で起動し、Claude Desktop の設定ファイルに登録すれば使用できます。PyPI への公開も uv build && uv publish で完結します。
作ったMCPサーバーを公開・販売する方法
開発したMCPサーバーを収益化・売却するルートは大きく3つあります。
- OSS公開 + スポンサーシップ:GitHub Sponsors や Open Collective でサポーターを募る。小さな収益だが長期的なコミュニティ形成に有効
- 有料プラン・API課金:ホスト型MCPサーバーとして提供し、月額課金や API コール課金を設定する。SaaS 型の収益モデル
- M&A・売却:ツール自体を企業や個人に売却する。一括で大きな対価を得られる
売却を検討する場合、AgentExit の売却登録が最も手軽な出発点です。MCPサーバー・AIエージェント・AI SaaS に特化したプラットフォームとして、適切な買い手とのマッチングを無料でサポートします。売り手手数料は無料で、エスクロー決済により安全な取引が保証されます。
売却前の準備として最低限やっておくべきことは、①README の充実、②テストの整備、③利用統計データの収集の3点です。これだけで査定額が大きく変わります。詳細は案件一覧ページで公開中の類似案件を参考にしてください。
まとめ
MCPサーバーの開発は TypeScript または Python の公式 SDK を使えば数時間で始められます。重要なのは作るだけでなく、ユーザーに使ってもらい・データを蓄積し・収益化への道筋をつけることです。
作ったツールに価値があると確信したら、売却という選択肢も検討してください。AgentExit では AI IDE・MCPサーバー・AI SaaS に特化した M&A マーケットプレイスを運営しており、あなたのツールに適した買い手を探すお手伝いをします。売却登録はこちらから無料でできます。