Vue d’ensemble des connexions
Les connexions permettent à Mastra de fonctionner avec des agents distants, des agents de programmation, des environnements d’exécution de software development kit (SDK) de fournisseurs, ainsi que des tools et ressources externes. Choisissez le type de connexion selon le système qui possède l’environnement d’exécution de l’agent et les informations que vous devez échanger.
- Agent-to-Agent (A2A) : exposez ou utilisez des agents distants au-delà des frontières de service, de framework, de fournisseur et de langage.
- Agent Client Protocol (ACP) : exécutez des processus d’agents de programmation compatibles en tant que tools ou sous-agents Mastra.
- Agents SDK : enregistrez des agents Claude, Cursor ou OpenAI reposant sur un SDK, tandis que le SDK du fournisseur conserve le contrôle de l’environnement d’exécution, des tools, des autorisations et de la boucle de l’agent.
- Model Context Protocol (MCP) : connectez des agents à des tools et ressources externes, ou exposez les agents, tools, workflows, prompts et ressources Mastra à des systèmes compatibles MCP.
Quand utiliser les connexionsLien direct vers Quand utiliser les connexions
Utilisez les connexions lorsque vous devez :
- Déléguer un travail à un agent exécuté dans un autre service ou environnement d’exécution.
- Exécuter un agent de programmation sur l’espace de travail d’un projet.
- Ajouter un agent natif d’un fournisseur sans remplacer son environnement d’exécution SDK ni sa boucle d’agent.
- Connecter des agents à des tools et ressources externes ou publier les capacités de Mastra auprès d’autres systèmes.
DémarrageLien direct vers Démarrage
Commencez par la frontière que vous devez franchir. Utilisez A2A pour les endpoints d’agents distants, ACP pour les processus d’agents de programmation, les agents SDK pour les environnements d’exécution appartenant au fournisseur, ou MCP pour les tools et ressources.
- A2A
- ACP
- SDK agents
- 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()
}