開発者に最も役立つTop MCPサーバー:まとめとインストールガイド

Artificial Intelligence tutorial - IT technology blog
Artificial Intelligence tutorial - IT technology blog

プロジェクト作業中にClaudeへ「今のdatabase schemaはどうなってる?」と聞いたら、「あなたのデータベースにはアクセスできません。」という返答が来た。心当たりがあるんじゃないだろうか。

これはAIアシスタントが抱える根本的な弱点だ。モデルは優秀なのに、実際の作業環境から完全に切り離されている。MCP(Model Context Protocol)はまさにこの痛点を解決するために生まれた——AIがファイルシステム、データベース、GitHub、あるいはあなたが使っているどんなツールにも直接接続できるようにする。

この記事では人気の高いMCPサーバー7つをまとめ、すぐに使える具体的なインストール手順を解説する。MCPサーバーをゼロから自作したい場合は別記事があるので、ここでは既存サーバーの活用に絞って説明する。

MCPの仕組み——2分でわかる

MCPはAnthropicが開発したオープンプロトコルだ。AIにとってのUSB-Cをイメージしてほしい——ツールごとに独自の接続方式を持つ代わりに、MCPがAIクライアント(Claude Desktop、Cursor、VS Codeなど)とデータやアクションを提供する「サーバー」との通信を標準化する。

各MCPサーバーは独立したプロセスで、AIが呼び出せる「ツール」を公開する。filesystemサーバーはread_filewrite_filelist_directoryというツールを公開している。「config.yamlに何が書いてある?」とClaudeに聞くと、Claudeが自動でそのツールを呼び出す——内容をチャットにペーストするよう求めることなく。

はじめる前の環境セットアップ

ほとんどのMCPサーバーはNode.js(npx)またはPython(uvx)で動作する。この2つを先にインストールしておこう:

# Node.js 18+ — バージョン管理にはnvmが便利
nvm install 20
nvm use 20

# uv — pipより高速なPythonパッケージマネージャー
pip install uv

Claude DesktopのMCP設定はJSONファイルに記述する:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

基本構造:

{
  "mcpServers": {
    "ten-server": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-ten-server"],
      "env": {
        "API_KEY": "your-key-here"
      }
    }
  }
}

設定ファイルを変更するたびに、Claude Desktopを再起動して変更を反映させること。

開発者向け実践的Top MCPサーバー

1. Filesystem — コピー&ペースト不要でローカルファイルを読み書き

最もシンプルなサーバーだが、個人的に最もよく使う。Claudeがマシン上のファイルを直接読み書き・検索できる——コードレビュー、リファクタリング、ログ確認をチャットに貼り付けなくても実行できる。

"filesystem": {
  "command": "npx",
  "args": [
    "-y",
    "@modelcontextprotocol/server-filesystem",
    "/Users/yourname/projects",
    "/Users/yourname/documents"
  ]
}

アクセスを許可したいディレクトリのパスを渡す。Claudeはそれらのディレクトリ内のみ操作できる——リストに含まれないパスはClaudeから見えない。

2. GitHub — チャット経由でリポジトリを操作

自分のワークフローで最も時間を節約できるサーバー。リポジトリのクローン、ファイル読み取り、issue作成、PRの一覧確認——すべてチャットから、タブを切り替える必要なし。

"github": {
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-github"],
  "env": {
    "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx"
  }
}

Personal Access TokenはGitHub Settings → Developer settings → Personal access tokensで作成する。repo権限を付与すれば十分だ。「リポジトリXの直近10コミットを要約して」「リポジトリZにissue Yを作成して」といった質問がそのまま使えるようになる。

3. PostgreSQL — 自然言語でデータベースをクエリ

本番データベースで実際に試してみたが、想定以上に安定していた——Claudeが自動でスキーマを確認し、毎回テーブル構造を説明しなくても正確なクエリを書いてくれる。

"postgres": {
  "command": "npx",
  "args": [
    "-y",
    "@modelcontextprotocol/server-postgres",
    "postgresql://localhost/mydb"
  ]
}

mydbを実際のデータベース名に変える。このサーバーはデフォルトで読み取り専用——本番環境に接続しても安全だ。

PostgreSQLの代わりにSQLiteを使う場合は、設定を以下に変更:

"sqlite": {
  "command": "uvx",
  "args": ["mcp-server-sqlite", "--db-path", "/path/to/database.db"]
}

4. Brave Search — リアルタイムWeb検索

ClaudeのKnowledge cutoffは特定の時点で止まっており、それ以降の情報はモデルには届かない。このサーバーを使うと、最新情報が必要なときにClaudeがWebを検索できる——新バージョンのドキュメント、最近発生したエラー、先週のリリースノートなど。

"brave-search": {
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-brave-search"],
  "env": {
    "BRAVE_API_KEY": "BSA_xxxxxxxxxx"
  }
}

APIキーはapi.search.brave.comで無料登録できる。無料プランで月2,000クエリ——個人利用には十分すぎる。

5. Puppeteer — ブラウザの自動操作

PuppeteerはChromiumをバックグラウンドで起動し、ClaudeがURLを開く、クリックする、フォームを入力する、スクリーンショットを撮るといった操作ができるようになる。UIテストやAPIを持たないページのスクレイピングに最も役立つ。

"puppeteer": {
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-puppeteer"]
}

追加設定は不要。初回起動時にChromiumが自動ダウンロードされる(約200MB)。準備できたら「ページXを開いてヒーローセクションのスクリーンショットを撮って」「ログインフォームにエラーメッセージが正しく表示されているか確認して」などと指示できる。

6. Fetch — 任意のHTTPリクエストを実行

Puppeteerよりはるかに軽量:HTTPエンドポイントを呼び出してレスポンスを読むだけで、ブラウザ不要。REST APIのテスト、オンラインドキュメントの読み取り、パブリックAPIからのデータ取得に適している。

"fetch": {
  "command": "uvx",
  "args": ["mcp-server-fetch"]
}

7. Memory — セッションをまたいで情報を記憶

Claudeは会話が終わるたびにすべて忘れる——さっき説明したことさえも。Memoryサーバーはマシン上に永続的なナレッジグラフを作成する。「Project Alpha:PostgreSQL 15、AWS ECSにデプロイ、CI/CDはGitHub Actions、チームは3人」といった情報を保存しておけば、新しいチャットを開いてもClaudeはすでにコンテキストを持っており、最初から説明し直す必要がない。

"memory": {
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-memory"]
}

完全な設定:複数サーバーの組み合わせ

全部入りの設定ファイル——コピーして必要に応じて調整しよう:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/yourname/projects"
      ]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx"
      }
    },
    "brave-search": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-brave-search"],
      "env": {
        "BRAVE_API_KEY": "BSA_xxxxxxxxxx"
      }
    },
    "fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    },
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
    }
  }
}

実践的なメモ: 複数のサーバーを同時に起動するとRAMを消費し、ClaudeのツールリストNも長くなる——どちらも応答速度に影響する。実際に試して3〜4サーバーがちょうどいいバランスだと感じた。

MCPサーバーが動作しないときのトラブルシューティング

よくある3つのエラー:

  • サーバーがClaudeに表示されない: JSON設定のフォーマットが間違っている。jsonlint.comに貼り付けて素早く検証しよう——余分なカンマ一つでファイル全体が失敗する。
  • npxで「command not found」エラー: Node.jsがインストールされていないか、PATHに含まれていない。Node.jsをインストールした後、ターミナルを再起動してから再試行しよう。
  • filesystemでパーミッションエラー: 絶対パスを使う必要がある。argsに~や環境変数は使えない。

Claude Desktopのログは~/Library/Logs/Claude/mcp*.log(macOS)に記録される——Googleで調べる前にまずここを確認しよう。

まとめ

これらのサーバーを揃えて使い始めてから、Claudeとのやり取り方が大きく変わった。コードを一つひとつ貼り付けたり、スキーマをゼロから説明したり、ドキュメント確認のために新しいタブを開く必要がなくなった——Claudeはすでに十分なコンテキストを持って本当の作業ができるようになった。

始めたばかりなら:まずfilesystemgithubをインストールしよう。この2つで日常的なニーズの大半をカバーできる。足りないものが出てきたら少しずつ追加していけばいい。コミュニティは毎週新しいサーバーをリリースしている——GitHubのmodelcontextprotocol/serversリポジトリが最新情報を得るのに最適な場所だ。

Share: