今回は、PythonでコーディングしたMCPサーバを使って、コーディングツールのCursorとClaude Desktopから呼び出してみました。
AIエージェントがMCPを起動する仕組みをより理解したいため、いろいろ実験しました。
参考)https://zenn.dev/karaage0703/articles/bc369a11a82263
環境)macOS Sequoia
インストール
curl -LsSf https://astral.sh/uv/install.sh | sh
uv init mcp-server-demo
cd mcp-server-demo
uv add “mcp[cli]”
server.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
from mcp.server.fastmcp import FastMCP # Create an MCP server with debug enabled mcp = FastMCP("Demo", debug=True) # Add an addition tool @mcp.tool() def add(a: int, b: int) -> int: """Add two numbers""" return a + b # Add this part to run the server if __name__ == "__main__": # stdioトランスポートを使用 print("Starting MCP server in stdio mode") mcp.run(transport="stdio") |
CursorのMCP Server設定
”New MCP Server”より下記記述
プロンプトから足し算でなく引き算を要求した結果、MCPのコードを書き変えてしまった!
関数名addをcalcにして、足し算であることのヒントを隠したりもしましたが、無意味でした。
次は、前回も試したClaude Desktopからです。
claude_desktop_config.json で、uvはフルパスで指定します。
“command”: “/Users/
/.local/bin/uv”,
正解を示した上、結果はごもっとです。
次は、MCPクライアントもPythonでやってみようと思います。