Tool 제공자
그만큼ToolProvider인터페이스는 편집기가 외부 플랫폼에서 통합 Tool을 검색하고 해결하는 방법을 정의합니다. Mastra에는 두 가지 내장 구현이 포함되어 있습니다.ComposioToolProvider그리고ArcadeToolProvider.
Provider 설정과 Studio Workflow는 Editor Tool을 참조하세요. 저장된 선택 항목과 해석 동작은 Tool 구성을 참조하세요.
ToolProvider 인터페이스ToolProvider 인터페이스에 대한 직접 링크
공급자는 메타데이터와 레거시 검색 및 해결 방법을 공개합니다. Agent Builder 통합은 선택적 VNext 카탈로그, 연결, 권한 부여 및 상태 방법을 구현할 수도 있습니다.
info:
displayName?:
capabilities?:
defaultScope?:
listToolkits()?:
listTools(params?):
getToolSchema(slug)?:
resolveTools(slugs, configs?, options?):
listToolkitsVNext()?:
listToolsVNext(options?)?:
resolveToolsVNext(options)?:
listConnectionFields(options)?:
getAuthStatus(authId)?:
getConnectionStatus(options)?:
listConnections(options)?:
getHealth()?:
revokeConnection(connectionId)?:
ComposioToolProviderComposioToolProvider에 대한 직접 링크
수백 개의 통합 Tool에 액세스하려면 Composio에 연결하세요.
사용예사용예에 대한 직접 링크
import { MastraEditor } from '@mastra/editor'
import { ComposioToolProvider } from '@mastra/editor/composio'
const editor = new MastraEditor({
toolProviders: {
composio: new ComposioToolProvider({
apiKey: process.env.COMPOSIO_API_KEY!,
}),
},
})
생성자 매개변수생성자 매개변수에 대한 직접 링크
apiKey:
allowedToolkits?:
allowedTools?:
defaultScope?:
Tool 슬러그Tool 슬러그에 대한 직접 링크
Composio Tool은 대문자 슬러그 형식을 사용합니다.GITHUB_CREATE_ISSUE, SLACK_SEND_MESSAGE.
입증입증에 대한 직접 링크
연결은 기본적으로 작성자별 범위를 사용합니다. 요청 컨텍스트의 MASTRA_RESOURCE_ID_KEY에서 해석한 호출자 ID별로 승인을 분류하려면 defaultScope: 'caller-supplied'를 설정하세요. 인증된 각 요청이 안정적이고 고유한 리소스 ID를 제공하는지 확인하세요. MastraAuthWorkos를 사용할 때는 인증된 사용자로부터 이 값을 설정하도록 mapUserToResourceId를 구성하세요.
연결 관리 Tool연결 관리 Tool에 대한 직접 링크
Composio는 Agent 채팅에서 승인을 시작하고 모니터링하기 위한 Tool을 제공합니다. allowedToolkits가 설정된 경우 이러한 Tool을 사용할 수 있도록 composio를 포함하세요.
const editor = new MastraEditor({
toolProviders: {
composio: new ComposioToolProvider({
apiKey: process.env.COMPOSIO_API_KEY!,
allowedToolkits: ['composio', 'gmail'],
defaultScope: 'caller-supplied',
}),
},
})
Agent에 필요한 연결 관리 Tool만 추가하세요.
| Tool | 동작 |
|---|---|
COMPOSIO_MANAGE_CONNECTIONS | 호출자가 소유한 세션을 통해 채팅에 승인 링크를 생성합니다. |
COMPOSIO_WAIT_FOR_CONNECTIONS | Agent가 계속 진행하기 전에 호출자가 승인을 완료할 때까지 기다립니다. |
COMPOSIO_WAIT_FOR_CONNECTIONS선택 사항입니다. 해당 정보가 없으면 승인을 완료하고 채팅으로 돌아갑니다. 그런 다음 Agent에게 계속하도록 요청하세요. 연결된 계정은 이후 요청을 위해 발신자 리소스 ID와 연결된 상태로 유지됩니다. |
아케이드Tool공급자아케이드Tool공급자에 대한 직접 링크
인증 기능이 내장된 엄선된 Tool 카탈로그를 사용하려면 Arcade에 연결하세요.
사용예사용예에 대한 직접 링크
import { MastraEditor } from '@mastra/editor'
import { ArcadeToolProvider } from '@mastra/editor/arcade'
const editor = new MastraEditor({
toolProviders: {
arcade: new ArcadeToolProvider({
apiKey: process.env.ARCADE_API_KEY!,
}),
},
})
생성자 매개변수생성자 매개변수에 대한 직접 링크
apiKey:
baseURL?:
Tool 슬러그Tool 슬러그에 대한 직접 링크
아케이드 Tool 사용Toolkit.ToolName format: Github.GetRepository, Slack.SendMessage.
입증입증에 대한 직접 링크
레거시 Arcade 리졸버는 사용할 수 있는 경우 요청 컨텍스트의 resourceId를 사용합니다. 그렇지 않으면 제공된 userId를 사용하고, 이 값도 없으면 공유 default ID를 사용합니다. 의도적으로 공유하는 통합에만 default를 사용하세요. 테넌트 격리 배포에서는 신뢰할 수 있고 안정적인 resourceId 또는 명시적 userId를 제공하세요. 둘 다 생략하면 호출자가 격리되지 않습니다.