開発者
Mastra
MastraエージェントをMCPClientを使ってstreamable HTTP経由でEdison Watchに接続する。
Mastra は MCPClient を使ってEdisonに接続します。url だけを指定したサーバーエントリは自動的にStreamable HTTPを使用します。接続URL にはAPIキーが含まれているため、認証ヘッダーは不要です。
npm install @mastra/mcp @mastra/core @ai-sdk/openaiimport { MCPClient } from '@mastra/mcp';
import { Agent } from '@mastra/core/agent';
const mcp = new MCPClient({
id: 'edison-client',
servers: {
edison: {
url: new URL(process.env.EDISON_MCP_URL!),
},
},
});
const agent = new Agent({
id: 'edison-agent',
name: 'Edison Agent',
instructions: 'You can use Edison Watch tools.',
model: 'openai/gpt-5.6-luna',
tools: await mcp.listTools(),
});
const res = await agent.generate('List my available tools.');
console.log(res.text);
await mcp.disconnect();EDISON_MCP_URL に接続URLを設定してください(例:https://mcp.edison.watch/mcp/<your-api-key>/?client=mastra)。url は URL オブジェクトを受け取り、クリーンアップは disconnect() で行います(.close() はありません)。ツールメソッドは listTools()(静的)と listToolsets()(リクエストごと)です。古い名前 getTools() / getToolsets() はエイリアスとして残っていますが、list* 形式を推奨します。
オプション:暗号化シークレットヘッダー
ゼロ知識暗号化シークレット を使用するサーバーには、requestInit の下にヘッダーを渡します。
const mcp = new MCPClient({
servers: {
edison: {
url: new URL(process.env.EDISON_MCP_URL!),
requestInit: {
headers: { 'x-edison-secret-key': process.env.EDISON_SECRET_KEY! },
},
},
},
});リクエストごとに異なるユーザーの認証情報を使う場合は、構築時にツールをバインドするのではなく、agent.generate(prompt, { toolsets }) に渡す動的な await mcp.listToolsets() を優先してください。

