あなたは「MCPサーバー」という言葉を耳にしたことはありますか?Cursor(AI開発エディタ)でつい最近追加された機能の1つでAIサービスのClaudeでも提供されている機能です。
MCPサーバーとは、ユーザーが使いたい外部の機能(ツール)をまとめて提供する“窓口”のような存在です。たとえば、ローカルファイルの検索やYouTubeの情報取得、天気APIの問い合わせなど、複数のツールをひとつの仕組みで扱えるメリットがあります。
Cursorなどのチャットツールと連携して柔軟に活用できるため、開発者やクリエイターにとって欠かせない機能になりつつあるのです。本記事では、MCPサーバーの基本的な仕組みから具体的な活用方法までをわかりやすく解説します。
動画で見たい方はYoutubeでも解説しているのでよかったらどうぞ
https://youtu.be/7PA0jKorrjo
MCPは、大きく以下の3つの要素から成り立ちます。以下の画像をみていただくのが早いです。

例:Claude Desktop、Cursor、独自のチャットインターフェイスなど
ユーザーとのやり取りを行う“窓口”です。ここにユーザーが指示を入力すると、ホストはその指示を解析し、必要に応じて外部ツールの呼び出しを行います。
軽量なプログラムの形で、必要な「ツール」を提供します。たとえば「SQLiteにアクセスする」「YouTubeを検索する」「天気APIを叩く」など、複数のツールを集約して提供することができます。
「ツールの一覧」や「具体的なツールの呼び出し方」「ツール実行結果」などを、MCPの定める形式でやりとりします。
やりたいタスクのまとまりのWebサーバーみたいなもんです。
MCPサーバーが保持している個々の機能のこと。例えば“SQLite検索ツール”や“YouTube検索ツール”、“画像生成ツール”など。MCPサーバーに “ツール名 + 必要なパラメータ” を送ると、対応する処理を実行して結果を返す仕組みです。
一言でいうと、クライアント=ホスト(LLMが動いているアプリ)からの要求を受け取って処理を行う“提供者”だから です。通常のWebサーバーと同じように、
「(例) tools/call エンドポイントにツール名「youtube-search」とクエリパラメータを送ると、サーバーはYouTube検索を実行し、結果を返す。」というやりとりが行われます。
LLMが外部ツールを使おうとするとき、
といった情報を事前に把握しておく必要があります。MCPでは「tools/list というエンドポイントを用意し、利用可能なツールをリストアップする」仕組みを標準化しています。LLMは「あるMCPサーバーに繋いだら、まず tools/list を見にいけばOK」というルールを使い回せるわけです。
MCPはオープンプロトコルなので、Claude専用、ChatGPT専用といった縛りがありません。
「今はClaude向けにMCPサーバーを作ったけど、後からCursorでも使いたい」
「Cursorで同じツールを呼び出したい」
といった場合でも、サーバー側に共通のMCPプロトコルがあるため、実装を流用できます。
外部ツールを呼び出すときに「このツール、本当に安全?」といった疑念がつきまといます。MCPホストでは、ユーザーへ「このツールの呼び出しを許可しますか?」といった実行許可を取る仕組みを備えることができます。
また、LLMとサーバーの間で通信できる範囲をあらかじめ絞ることで、不要な危険操作を防ぎやすくなります。
実際にMCPサーバーの活用例として、一番よく挙げられるのが「ローカルのSQLiteデータベースとの連携」です。
例えば下記の手順で流れをイメージできます:
MCPホスト(Claude Desktopなど)
ユーザーが「この商品の価格を教えて」「今日最も売れた商品は何?」といった質問をする。
ホストは自然言語を解析し、適切な“ツール”を見つける。SQLiteに関するツールが必要そうだ、と判断して「tools/call」エンドポイントでツール呼び出しを行う。
MCPサーバー
受け取ったツール呼び出しリクエスト(例:名前:top-selling, 引数:日付や数など)をもとに実際のSQLiteデータベースを操作し、結果を返す。
ホストが結果を整形してユーザーに返す
「本日の売上トップ商品は〇〇です!」と会話形式で表示。
このように、MCPサーバーは「SQLiteツール」を提供する“窓口” になり、ホストは自然言語→データベース操作への変換を安全かつ標準的に行えるようになります。
https://github.com/modelcontextprotocol/servers/tree/main/src/slack
上記URLはSlackのMCPサーバーのサンプルですが、大体
Usage with Claude DesktopAdd the following to your claude_desktop_config.json:npx{ "mcpServers": { "slack": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-slack" ], "env": { "SLACK_BOT_TOKEN": "xoxb-your-bot-token", "SLACK_TEAM_ID": "T01234567" } } }}docker{ "mcpServers": { "slack": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "SLACK_BOT_TOKEN", "-e", "SLACK_TEAM_ID", "mcp/slack" ], "env": { "SLACK_BOT_TOKEN": "xoxb-your-bot-token", "SLACK_TEAM_ID": "T01234567" } } }}とかいてあります。上記であればdockerで立ち上げるかnpxでサーバーを立ち上げることになるでしょう。
今回私は、npxで立ち上げます
npx -y @modelcontextprotocol/server-slack今回はcursorの例を出します。
詳しい設定は以下の通り。私の場合は

うまく連携できるとグリーンランプがつく
どうやら現在はCursorのComposer/agentモードのみで対応してそうだった。

具体的には「SQLite」「YouTube検索」「天気情報取得」など、あらゆるAPIやローカルリソースがMCPサーバーとして実装可能です。
ClaudeやChatGPT、CursorなどのLLMアプリ(MCPホスト)からは、会話の文脈に応じて自動的に適切なツールを呼び出し、結果をまた自然言語に整形してユーザーへ返すことが可能になります。
エンジニア・非エンジニア問わず、LLMを拡張したアプリを作りたい場合に、MCPサーバーを導入することで応用の幅がぐんと広がる はずです。ぜひMCPを活用し、AIエージェントの開発を楽しんでみてください
[筆者の感想]パーソナルAIエージェントを作る時代が来れば、MCPをゴリゴリ作りこんだりするのでしょうか(笑) SlackやGmailなどのMCPサーバーのサンプルもありましたし、色々なコードを参考にして、MCPサーバーを作ると便利かもしれませんね。このMCPサーバーの考え方はAIエージェントの概念を理解するにはとても良い教材だと思いますのでぜひやってみることをおすすめします。
ここまでお付き合いいただき、ありがとうございます。今後もAI分野の新しい活用方法や開発テクニックを、X(旧Twitter)やYoutubeでいち早く紹介していきます。少しでも興味があれば、ぜひフォローして最新情報をチェックしてくださいね!👇

AI駆動開発の鬼👹/ フルスタック開発者&グロースハッカー💻 / 個人開発でも3000万人以上が使ったサービス&400万DL超アプリ📱 「あなたも鬼にならないか?」とAI開発布教中/レペゼン画像処理系研究室/ 元廃ゲーマーのアラサー🎮