Connections 概覽
Connections 讓 Mastra 能與遠端 Agent、程式設計 Agent、Provider 軟體開發套件(SDK)執行環境,以及外部 Tool 與資源協作。請根據哪個系統擁有 Agent 執行環境,以及你需要交換的內容,選擇連線類型。
- Agent-to-Agent(A2A):跨越服務、框架、供應商與程式語言的界線,公開或使用遠端 Agent。
- Agent Client Protocol(ACP):將相容的程式設計 Agent 處理程序當作 Mastra Tool 或子 Agent 執行。
- SDK Agent:註冊由 Claude、Cursor 或 OpenAI SDK 支援的 Agent,同時由 Provider SDK 繼續掌控執行環境、Tool、權限與 Agent 迴圈。
- Model Context Protocol(MCP):將 Agent 連接至外部 Tool 與資源,或將 Mastra Agent、Tool、Workflow、提示詞及資源公開給相容 MCP 的系統。
何時使用 Connections「何時使用 Connections」的直接連結
在需要執行下列操作時,請使用 Connections:
- 將工作委派給在其他服務或執行環境中運作的 Agent。
- 讓程式設計 Agent 在專案 Workspace 中執行工作。
- 加入 Provider 原生 Agent,而不取代其 SDK 執行環境或 Agent 迴圈。
- 將 Agent 連接至外部 Tool 與資源,或將 Mastra 功能發布給其他系統。
開始使用「開始使用」的直接連結
先判斷需要跨越哪一種界線。遠端 Agent 端點請使用 A2A,程式設計 Agent 處理程序請使用 ACP,Provider 所擁有的執行環境請使用 SDK Agent,Tool 與資源則請使用 MCP。
- A2A
- ACP
- SDK Agent
- MCP
import { A2AAgent } from '@mastra/core/a2a'
const agent = new A2AAgent({
url: 'https://agent.example.com/.well-known/agent-card.json',
})
const result = await agent.generate('Summarize the latest report')
console.log(result.text)
import { AcpAgent } from '@mastra/acp'
const agent = new AcpAgent({
id: 'coding-agent',
description: 'Inspects and edits code',
command: 'claude',
args: ['--acp'],
persistSession: false,
})
const result = await agent.generate('Review this project')
console.log(result.text)
import { OpenAISDKAgent } from '@mastra/openai'
const agent = new OpenAISDKAgent({
id: 'openai-agent',
description: 'Answers project questions',
sdkOptions: {
name: 'Project assistant',
model: 'gpt-5',
},
})
const result = await agent.generate('Explain agent loops in one sentence')
console.log(result.text)
import { MCPClient } from '@mastra/mcp'
const client = new MCPClient({
id: 'wikipedia-client',
servers: {
wikipedia: {
command: 'npx',
args: ['-y', 'wikipedia-mcp'],
},
},
})
try {
const tools = await client.listTools()
console.log(Object.keys(tools))
} finally {
await client.disconnect()
}