Skip to main content
Glama

駅すぱあと Remote MCP Server on Cloudflare Workers

駅すぱあとAPIを使用した経路検索とPDF生成を行うリモートMCPサーバーです。
Cloudflare Workersで動作し、インターネット経由でアクセス可能です。

🚀 特徴

  • リモートアクセス: インターネット経由でどこからでもアクセス可能

  • サーバーレス: Cloudflare Workersで自動スケーリング

  • セキュア: OAuth認証による安全なアクセス制御

  • 高速PDF生成: Browser Rendering APIによる高速レンダリング

  • 永続ストレージ: R2によるPDFの保存と配信

Related MCP server: ReActMCP Web Search

📋 必要なもの

  • Cloudflareアカウント

  • 駅すぱあとAPIキー

  • Node.js 18以上

  • Wrangler CLI

🛠️ セットアップ

1. 依存関係のインストール

npm install

2. Cloudflareの設定

KV Namespaceの作成

wrangler kv:namespace create SESSION_STORE wrangler kv:namespace create SESSION_STORE --preview

R2 Bucketの作成

wrangler r2 bucket create ekispert-pdf-storage

3. 環境変数の設定

# 駅すぱあとAPIキーの設定 wrangler secret put EKISPERT_API_KEY

4. wrangler.tomlの更新

作成されたKV NamespaceのIDをwrangler.tomlに記入:

[[kv_namespaces]] binding = "SESSION_STORE" id = "your_actual_kv_namespace_id" # ← ここを更新 preview_id = "your_actual_preview_kv_namespace_id" # ← ここを更新

🚀 デプロイ

ローカル開発

npm run dev

本番環境へのデプロイ

npm run deploy

デプロイ後、以下のURLでアクセス可能になります:

  • https://ekispert-mcp-remote-server.<your-subdomain>.workers.dev/

🔌 MCP クライアントとの接続

Claude Desktopの設定

%APPDATA%\Claude\claude_desktop_config.json:

{ "mcpServers": { "ekispert-mcp-remote-server": { "command": "npx", "args": [ "-y", "mcp-remote", "https://ekispert-mcp-remote-server.2122-2.workers.dev/mcp" ] } } }

重要な接続エンドポイント

  • MCPエンドポイント: https://ekispert-mcp-remote-server.2122-2.workers.dev/mcp

  • ヘルスチェック: https://ekispert-mcp-remote-server.2122-2.workers.dev/

⚠️ 注意: MCPクライアントは /mcp エンドポイントを使用してください。

WebSocket接続の例

const ws = new WebSocket('wss://ekispert-mcp-remote-server.2122-2.workers.dev/mcp/ws'); ws.onopen = () => { // Send MCP requests ws.send(JSON.stringify({ jsonrpc: '2.0', method: 'tools/list', id: 1 })); }; ws.onmessage = (event) => { const response = JSON.parse(event.data); console.log('MCP Response:', response); };

📚 利用可能なツール

search_routes

経路検索を実行します。

{ "from": "新宿", "to": "東京", "via": "品川", "date": "20250818", "time": "0900", "searchType": "departure" }

generate_pdf

検索結果からPDFを生成します。

{ "routeData": { /* 経路データ */ }, "outputFileName": "route_20250818.pdf" }

🏗️ アーキテクチャ

┌─────────────┐ ┌──────────────────┐ ┌─────────────┐ │ MCP Client │────▶│ Cloudflare Worker│────▶│ Ekispert API│ └─────────────┘ └──────────────────┘ └─────────────┘ │ ┌───────▼────────┐ │ Durable Objects│ │ (State Mgmt) │ └───────┬────────┘ │ ┌───────────┼───────────┐ ▼ ▼ ▼ ┌──────────┐ ┌─────────┐ ┌──────────┐ │ R2 │ │ KV │ │ Browser │ │ Storage │ │ Storage │ │Rendering │ └──────────┘ └─────────┘ └──────────┘

🔒 セキュリティ

  • OAuth 2.0による認証

  • APIキーの暗号化保存

  • Rate limiting実装

  • CORS設定

📊 料金

Cloudflare Workersの無料枠:

  • 100,000リクエスト/日

  • 10ms CPU時間/リクエスト

  • R2: 10GB ストレージ

詳細はCloudflare価格ページを参照。

🐛 トラブルシューティング

Browser Rendering APIが使えない場合

Browser Rendering APIは有料プランが必要です。代替として、外部のPDF生成APIを使用するか、HTMLレスポンスのみを返すことも可能です。

KV Namespaceエラー

wrangler kv:namespace list

でNamespace IDを確認し、wrangler.tomlを更新してください。

R2アクセスエラー

wrangler r2 bucket list

でバケットの存在を確認してください。

📄 ライセンス

MIT License

🤝 コントリビューション

Issue、Pull Requestは歓迎します!

📞 サポート

-
security - not tested
-
license - not tested
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/z0lw/ekispert-mcp-remote-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server