manage_integrations
InactiveTool of io.github.butterbase-ai/mcp
Manage third-party integrations for a Butterbase app (e.g., Gmail, Slack, Google Calendar). Actions: - "configure": Enable or manage a third-party integration toolkit for an app - "rotate_credentials": Swap in new BYO OAuth client_id/client_secret without dropping connected accounts - "disable": Disable a configured integration toolkit - "list_available": List available integrations that can be enabled (curated or full catalog) - "list_connected": List connected integration accounts for an app - "list_tools": List available tool actions for connected integrations - "execute_action": Execute a tool action on a connected integration (e.g., send email, create event) Parameters by action: configure: { app_id, action: "configure", toolkit, scopes?, display_name?, oauth_credentials? } rotate_credentials: { app_id, action: "rotate_credentials", toolkit, oauth_credentials } disable: { app_id, action: "disable", toolkit } list_available: { app_id, action: "list_available", search? } list_connected: { app_id, action: "list_connected" } list_tools: { app_id, action: "list_tools", toolkit? } execute_action: { app_id, action: "execute_action", tool_name, params?, user_id? } Curated toolkits (first-class support, no BYO credentials needed): gmail, google-calendar, slack, google-sheets, notion, github, hubspot, outlook, google-drive, discord Non-curated toolkits (Twitter, LinkedIn, Reddit, etc.) usually require BYO OAuth credentials. Use list_available with search=<name> first to inspect requires_byo_credentials and auth_schemes. Example — configure (curated, managed auth): Input: { app_id: "app_abc123", action: "configure", toolkit: "gmail", scopes: ["gmail.send"] } Output: { id: "...", toolkit_slug: "gmail", enabled: true } Example — configure (BYO OAuth credentials, e.g. Twitter/X): Input: { app_id: "app_abc123", action: "configure", toolkit: "twitter", scopes: ["tweet.read", "tweet.write", "users.read", "offline.access"], oauth_credentials: { client_id: "...", client_secret: "...", generic_id: "<Twitter App Bearer Token>", // toolkit-specific extra field auth_scheme: "OAUTH2" } } Output: { id: "...", toolkit_slug: "twitter", enabled: true } Example — rotate_credentials (after upstream OAuth client rotation): Input: { app_id: "app_abc123", action: "rotate_credentials", toolkit: "twitter", oauth_credentials: { client_id: "new...", client_secret: "new..." } } Output: { id: "...", toolkit_slug: "twitter", enabled: true } Example — list_available: Input: { app_id: "app_abc123", action: "list_available", search: "twitter" } Output: { integrations: [{ toolkit: "twitter", displayName: "Twitter", curated: false, auth_schemes: ["OAUTH2"], requires_byo_credentials: true }, ...] } Example — list_connected: Input: { app_id: "app_abc123", action: "list_connected" } Output: { connections: [{ toolkit_slug: "gmail", status: "active", connected_at: "..." }, ...] } Example — list_tools: Input: { app_id: "app_abc123", action: "list_tools", toolkit: "gmail" } Output: { tools: [{ name: "GMAIL_SEND_EMAIL", description: "Send an email", parameters: {...} }, ...] } Example — execute_action (send email): Input: { app_id: "app_abc123", action: "execute_action", tool_name: "GMAIL_SEND_EMAIL", params: { to: "user@example.com", subject: "Hello", body: "World" } } Output: { successful: true, data: { messageId: "..." } } Common errors: - INTEGRATIONS_NOT_CONFIGURED: Integration API key not set - INTEGRATIONS_BYO_CREDENTIALS_REQUIRED: Toolkit has no Composio-managed auth; pass oauth_credentials - INTEGRATIONS_UPSTREAM_ERROR: Composio rejected the auth config (bad slug or bad credentials) - INTEGRATIONS_NOT_CONNECTED: User hasn't connected this integration - INTEGRATIONS_EXECUTION_FAILED: Integration tool execution failed - RESOURCE_NOT_FOUND: App doesn't exist
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"action",
"app_id"
],
"properties": {
"action": {
"enum": [
"configure",
"rotate_credentials",
"disable",
"list_available",
"list_connected",
"list_tools",
"execute_action"
],
"type": "string",
"description": "The action to perform"
},
"app_id": {
"type": "string",
"description": "The app ID (e.g. app_abc123def456)"
},
"params": {
"type": "object",
"description": "Arguments for the tool action (execute_action only)",
"additionalProperties": {}
},
"scopes": {
"type": "array",
"items": {
"type": "string"
},
"description": "OAuth scopes to request (configure only)"
},
"search": {
"type": "string",
"description": "Search query to find integrations by name (list_available only)"
},
"toolkit": {
"type": "string",
"description": "Integration toolkit slug (e.g. gmail, slack). Required for configure and disable."
},
"user_id": {
"type": "string",
"description": "Execute on behalf of a specific user, service-level only (execute_action only)"
},
"tool_name": {
"type": "string",
"description": "Integration tool slug (e.g. GMAIL_SEND_EMAIL). Required for execute_action."
},
"display_name": {
"type": "string",
"description": "Custom display name (configure only)"
},
"oauth_credentials": {
"type": "object",
"required": [
"client_id",
"client_secret"
],
"properties": {
"client_id": {
"type": "string"
},
"auth_scheme": {
"enum": [
"OAUTH2",
"OAUTH1",
"API_KEY",
"BASIC",
"BILLCOM_AUTH",
"BEARER_TOKEN",
"GOOGLE_SERVICE_ACCOUNT",
"NO_AUTH",
"BASIC_WITH_JWT",
"CALCOM_AUTH",
"SERVICE_ACCOUNT",
"SAML",
"DCR_OAUTH",
"S2S_OAUTH2"
],
"type": "string"
},
"client_secret": {
"type": "string"
}
},
"description": "BYO OAuth credentials for non-curated toolkits (configure / rotate_credentials). Required fields vary by toolkit — pass any extras the toolkit needs (e.g. twitter requires `generic_id` as the App Bearer Token). Omit for curated toolkits.",
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
}
},
"additionalProperties": false
}- Data resourceGoogle Calendar API
Google · productivity
name mention0.65 - Data resourceHubSpot API
HubSpot · crm
name mention0.65 - Data resourceGmail API
Google · messaging
name mention0.60 - Data resourceReddit API
Reddit · media
name mention0.60 - Data resourceSlack API
Slack · messaging
name mention0.60 - Data resourceNotion API
Notion · productivity
name mention0.60 - Data resourceDiscord API
Discord · messaging
name mention0.60
Parent server
io.github.butterbase-ai/mcp
https://github.com/butterbase-ai/butterbase-oss
1/7 registries