症状
Connection refused
やtimeout
エラーが発生する
Hatago Hubは、ローカルのMCPサーバーだけでなく、HTTP/SSE経由でリモートのMCPサーバーとも接続できます。これにより、クラウド上のサービスや外部APIと簡単に連携できるようになります。
標準的なHTTP通信でMCPサーバーと接続します。リクエスト/レスポンス型の通信に適しています。
{ "mcpServers": { "remote-http": { "url": "https://api.example.com/mcp", "type": "http", "headers": { "Authorization": "Bearer ${API_TOKEN}" } } }}
Server-Sent Events(SSE)を使用して、サーバーからのリアルタイム通知を受け取れます。
{ "mcpServers": { "remote-sse": { "url": "https://stream.example.com/mcp", "type": "sse", "headers": { "Authorization": "Bearer ${API_TOKEN}" } } }}
APIキーの準備
リモートサーバーのAPIキーやアクセストークンを取得します。
# 環境変数に設定export API_TOKEN="your-api-token-here"
設定ファイルの編集
hatago-config.json
にリモートサーバーを追加します:
{ "mcpServers": { "openai-api": { "url": "https://api.openai.com/v1/mcp", "type": "http", "headers": { "Authorization": "Bearer ${OPENAI_API_KEY}", "Content-Type": "application/json" }, "tags": ["ai", "production"] } }}
接続テスト
サーバーを起動して接続を確認します:
hatago serve --verbose
接続確認
内部リソース hatago://servers
を読み取って、接続済みサーバーを確認します。
最も一般的な認証方式です:
{ "mcpServers": { "api-server": { "url": "https://api.example.com/mcp", "type": "http", "headers": { "Authorization": "Bearer ${API_TOKEN}" } } }}
ヘッダーまたはクエリパラメータで認証:
{ "mcpServers": { "api-key-header": { "url": "https://api.example.com/mcp", "type": "http", "headers": { "X-API-Key": "${API_KEY}" } }, "api-key-query": { "url": "https://api.example.com/mcp?api_key=${API_KEY}", "type": "http" } }}
ユーザー名とパスワードでの認証:
{ "mcpServers": { "basic-auth": { "url": "https://api.example.com/mcp", "type": "http", "headers": { "Authorization": "Basic ${BASE64_CREDENTIALS}" } } }}
{ "mcpServers": { "openai": { "url": "https://api.openai.com/v1/mcp", "type": "http", "headers": { "Authorization": "Bearer ${OPENAI_API_KEY}", "OpenAI-Organization": "${OPENAI_ORG_ID}" }, "tags": ["ai", "gpt", "production"] } }}
{ "mcpServers": { "slack": { "url": "https://slack.com/api/mcp", "type": "sse", "headers": { "Authorization": "Bearer ${SLACK_BOT_TOKEN}" }, "tags": ["communication", "notification"] } }}
{ "mcpServers": { "github": { "url": "https://api.github.com/mcp", "type": "http", "headers": { "Authorization": "token ${GITHUB_TOKEN}", "Accept": "application/vnd.github.v3+json" }, "tags": ["development", "vcs"] } }}
Cloudflare Workersでは、ローカルサーバーは利用できませんが、リモートサーバーは問題なく利用できます:
// wrangler.toml[vars];REMOTE_MCP_URL = 'https://api.example.com/mcp';
// worker.tsimport { createHub } from '@himorishige/hatago-hub';
export default { async fetch(request: Request, env: Env) { const hub = createHub({ servers: { 'remote-api': { url: env.REMOTE_MCP_URL, type: 'http', headers: { Authorization: `Bearer ${env.API_TOKEN}` } } } });
// Hub処理... }};
症状
Connection refused
やtimeout
エラーが発生する
解決方法:
症状
401 Unauthorized
や403 Forbidden
エラー
解決方法:
echo $API_TOKEN
症状
ブラウザコンソールにCORSエラーが表示される
解決方法: