$ ssh clawdbot.space --loading...
$ ssh clawdbot.space --loading...
カスタムMCPサーバーでエージェントに超能力を — API、DB、IoT等。
MCP(Model Context Protocol)サーバーにより、OpenClawエージェントが標準化されたツールで外部サービスと連携できます。型付きツールを公開するクリーンなサーバーを構築しましょう。
MCPはLLM-ツール通信のJSON-RPCプロトコルを定義。ツール発見、パラメータ理解、型安全な呼び出し。
Python(FastMCP)、TypeScript(MCP SDK)、JSON-RPC対応の任意の言語で構築。
各MCPサーバーが1ドメイン担当。メール、カレンダー、スマートホームを組み合わせ。
FastMCPをインストール
pip install fastmcp
最小MCPサーバーを作成
# server.py
from fastmcp import FastMCP
mcp = FastMCP("weather")
@mcp.tool()
def get_weather(city: str) -> str:
"""都市の天気を取得"""
return f"{city}: 22°C, 晴れ"
if __name__ == "__main__":
mcp.run()OpenClaw設定に登録
# openclaw.config.yaml
mcp_servers:
weather:
command: python
args: [server.py]ツールをテスト
openclaw mcp list weather get_weather --city 東京
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({ name: "weather", version: "1.0.0" });
server.tool("get_weather",
{ city: z.string().describe("都市名") },
async ({ city }) => ({
content: [{ type: "text", text: `${city}: 22°C` }]
})
);
await server.connect(new StdioServerTransport());REST API(GitHub、Jira、Slack)をラップ。認証、ページネーション、レート制限を処理。
get_issues, create_pr読み取り専用SQLクエリを公開。パラメータ化クエリ必須。書き込みは承認必要。
query_customersMQTT/HTTPでスマートホーム制御。安全制約付き。
set_thermostatPDF解析、画像分析、データ変換。構造化結果を返却。
parse_invoice