まえおき
下記の記事でMCPサーバーの概要、仕組みについてまとめました。今回は実際にMCPサーバーを構築します。
https://qiita.com/tactac1238/items/93d76cd3b98c2552bcbc
前提
- uvのインストールが完了している。
uvインストールがまだの方は (https://zenn.dev/tabayashi/articles/52389e0d6c353a) などを参考にインストールしてください。 - VSCodeおよびLLMエージェント導入(本記事ではGitHub Copilotを利用)が完了している。
まだの方は (https://code.visualstudio.com) からインストールを進めてください。
またGitHub Copilotの拡張機能をインストールしてください。(GitHubアカウントも必要)
エンドポイント作成(サーバー機能構築)
①プロジェクト作成
uv init mcp-sample-server
②プロジェクトディレクトへ移動
cd mcp-sample-server
③FastMCP導入
uv venv
uv add fastmcp
fastmcpはMCPサーバーを簡単に構築できるPythonライブラリ
https://gofastmcp.com/getting-started/welcome
④MCPサーバー機能構築(main.pyを編集)
今回は構築トライが目的なので上記fastmcpにあるコードを丸パクリ。ローカルでサーバーを立ててその場で呼び出す場合はmcp.run()の引数をtransport="stdio"と指定する。今回はこれで実装する。stdioは標準入出力のこと。
from fastmcp import FastMCP
mcp = FastMCP("MCP Greeting Server")
@mcp.tool
def greeting(name: str) -> str:
return f"Hello, {name}!";
if __name__ == "__main__":
mcp.run(transport="stdio")
MCPサーバー設定
機能が完成したので次はLLMエージェントが呼び出せるようにMCPサーバーの設定をします。
①mcp.jsonの作成
下記のような構成でプロジェクトディレクトリへ.vscode\mcp.jsonを作成。
mcp-sample-server\
│
├─ main.py
├─ .vscode\
│ └─ mcp.json ← ここに作成
└─ (その他のファイル)
②mcp.jsonの記述
実際のmcp.jsonを記載する前に、json構造についてみていきます。
mcp.jsonは基本的に下記のような構成で記載します。
{
"servers": {
"server-name": {
"type": "接続タイプ",
"command": "実行コマンド",
"cwd": "カレントディレクトリ",
"args": ["引数","引数"]
}
},
"inputs": []
}
各フィールドの意味は下記の通り。
| フィールド | 内容 |
|---|---|
| servers | MCPサーバー一覧 |
| server-name | サーバーの名前 |
| type | VSCodeとMCPサーバーの通信方式 今回はstdioを指定する |
| command | サーバー実行コマンド(今回はuvのこと) Windowsの場合は必ずコマンドのフルパスを指定すること |
| cwd | mcpサーバーを起動する実行ディレクトリ Pythonプロジェクト(main.py)のルートを指定 |
| args | mcpサーバー起動に必要な実行引数 |
| inputs | MCP入力チャネルの拡張フィールド。今回は空。 |
いよいよ実際に設定していきます。
mcp.jsonへ下記のように記載。
※path\to\は自身の環境に合わせて変更してください。
{
"servers": {
"mcp-sample-server": {
"type": "stdio",
"command": "path\\to\\.local\\bin\\uv.exe",
"cwd": "path\\to\\mcp-greeting-server",
"args": [
"run",
"main.py"
]
}
},
"inputs": []
}
これでMCPサーバーの設定が完了しました。
MCPサーバー起動
VSCodeからmcp.jsonを開きます。うまく設定できていると"servers"の下に
[起動]ボタンが表示されるのこでこれをクリックします。

これで、MCPサーバーが起動しました。
MCPサーバー利用
次にVSCodeの画面右にあるチャットからMCPサーバーを呼び出していきます。
今回は適当に「名前をJonと指定して挨拶してください。」とチャットで投げてみます。

許可ボタンを押してみると・・・

Hello, Jon!が返ってきました!
なんとも使いどころのないMCPサーバーですが取り合えず成功!