MCP tools
All twins on this page can be discovered and used through the Arga MCP server:| Tool | Use it for |
|---|---|
get_twin_catalog | List provisionable twin names and their kinds. |
provision_twins | Start an ephemeral twin environment. Pass the twin name in the comma-separated twins parameter. |
start_url_validation | Start a validation run with twins attached. Pass the twin name in the comma-separated twins parameter. |
get_validation_results | Poll validation and provisioning run status. Validation runs return structured terminal results; twin provisions report status text such as queued, provisioning, ready, or failed. |
Twin links
| Twin | Kind | Reference |
|---|---|---|
box | Backend | Box |
discord | UI | Discord |
dropbox | UI | Dropbox |
github | UI | GitHub |
gitlab | UI | GitLab |
gmail | UI | Gmail |
google_calendar | UI | Google Calendar |
google_drive | UI | Google Drive |
jira | Backend | Jira |
notion | UI | Notion |
salesforce | Backend | Salesforce |
slack | UI | Slack |
stripe | UI | Stripe |
waterfall | Backend | Waterfall |
unified | Backend | Unified |
unstructured | Backend | Unstructured |
Box
Twin name:box
Supports
- Box v2.0 file and folder APIs, including list, upload, download, update, delete, search, and event streams.
- OAuth token exchange, refresh tokens, developer tokens, and downscoped token restrictions.
- Webhook registration, signed webhook delivery attempts, retries, replay, and admin inspection.
- Unified storage and HRIS bridge behavior for apps that reach Box through Unified.
- Preview, thumbnail, transform/export, and advanced enterprise permissions are approximated rather than fully implemented.
- Unsupported webhook triggers, folder sort keys, search sort keys, event stream types, or downscope scopes return structured
400or403responses. - Arbitrary MIME uploads are stored as opaque content when the twin does not model preview or conversion behavior.
get_twin_catalog, provision_twins, start_url_validation, get_validation_results.
Discord
Twin name:discord
Supports
- Discord API v10 routes for guilds, channels, messages, reactions, threads, members, roles, bans, invites, webhooks, emojis, stickers, scheduled events, stage instances, auto-moderation rules, soundboard sounds, guild templates, and user endpoints.
- Bot-token authentication, deterministic seeding, admin state inspection, event delivery, replay, and webhook subscriptions.
- Message creation with
multipart/form-datafile uploads usingfiles[n]orfileparts pluspayload_jsonorcontent. - Configurable server boost levels for upload-size and emoji-slot limits.
- Channels, roles, members, and messages start empty unless seeded or created through API calls.
- Behavior focuses on REST API compatibility and event delivery; real Discord gateway/websocket behavior is not the primary fidelity target.
- Unsupported or malformed request shapes return Discord-style validation errors rather than silently succeeding.
get_twin_catalog, provision_twins, start_url_validation, get_validation_results.
Dropbox
Twin name:dropbox
Supports
- Dropbox API v2 file operations including list, upload, download, copy, move, delete, search, revisions, tags, upload sessions, and batch operations.
- Sharing APIs for shared links, shared folders, file members, file requests, file properties, and team/admin management.
- Webhook delivery, event replay, seeded team members, a starter folder tree, and account tier-based storage quotas.
- Some advanced Dropbox surfaces are represented through deterministic in-memory behavior rather than full production infrastructure.
- Uploads that exceed configured account-tier quotas return an
insufficient_spaceerror. - Routes outside the modeled Dropbox API v2 surface may return structured non-support rather than a stateful response.
get_twin_catalog, provision_twins, start_url_validation, get_validation_results.
GitHub
Twin name:github
Supports
- GitHub REST API operations for repositories, branch-aware file contents, pull requests, issues, branches, commits, check runs, check suites, git references, labels, pull request reviews, review comments, commit statuses, search, organizations, users, and webhooks.
- Raw file downloads served as public content (no bearer token required) for both
https://raw.githubusercontent.com/{owner}/{repo}/{ref}/{path}andhttps://github.com/{owner}/{repo}/raw/{ref}/{path}. The twin gateway interceptsraw.githubusercontent.comand the resolver matches the longest known branch prefix so slash-containing branch names (for example,feature/deep) andrefs/heads/.../HEAD/...refs are handled correctly. Responses use the file’s guessed MIME type (defaulting toapplication/octet-stream). - GitHub App endpoints for installations, access tokens, repository listings, app metadata (
GET /app,GET /apps/{app_slug}), and the GitHub App manifest registration flow for creating multiple GitHub Apps at runtime (GET/POST /settings/apps/new,GET/POST /organizations/{org}/settings/apps/new,POST /app-manifests/{code}/conversions). - Multi-app support: each installation is scoped to its owning GitHub App, JWT and installation tokens resolve the correct app, and per-app bot users, webhook secrets, and RSA key pairs are tracked independently.
- Deterministic seeding for repos, files, issues, PRs, checks, and GitHub App configuration.
- Token authentication, OAuth flows, scope enforcement, signed webhook delivery, admin state export, and stub-hit tracking.
- GitHub CLI (
gh) and GitHub MCP server compatibility. The twin accepts requests at the standardapi.github.compaths as well as the GitHub Enterprise-style/api/v3/...REST prefix and the/api/graphqlendpoint, soghand MCP clients can be pointed at the twin’s base URL without code changes. - Extended REST coverage used by
ghand the MCP server:GET /meta,GET /rate_limit,GET /zen,GET /api/v3, repository archives (/zipball/{ref},/tarball/{ref}), releases, search for repositories, users, issues, and code, gists (list, get, create, update, delete), notifications and thread subscriptions, projects v2 (org and user fields and items), org and repo Actions workflows, workflow runs, jobs, and artifacts, Actions cache, variables, and secrets, codespaces (list, get, update, stop, delete, ports), user SSH and signing keys, GPG keys, starred repositories, sub-issues and issue types, repository security advisories, global security advisories, Dependabot alerts, code scanning alerts, and secret scanning alerts. - GraphQL surface at
POST /graphql(also reachable throughPOST /api/graphql) covering the queries and mutations used byghand the GitHub MCP server, includingviewer, repository, issue, and pull request lookups, search, and the corresponding mutations backed by the same store as the REST handlers.
- Endpoints without a full stateful implementation return explicit stub responses with
X-Twin-Stub,_twin_stub, and_twin_warning. - Stub hits can be audited through
GET <admin_url>/admin/stub-hitsand cleared withPOST <admin_url>/admin/stub-hits/clear. - The GraphQL surface targets the operations used by
ghand the official GitHub MCP server. Queries and mutations outside that set may return structured stub responses. - Strict 100% live
ghand MCP coverage is gated by external GitHub fixtures and explicit mutation consent flags. Thescripts/validate_github_cli_mcp_compat.pyverifier reports any remaining blockers directly.
get_twin_catalog, provision_twins, start_url_validation, get_validation_results.
GitLab
Twin name:gitlab
Supports
- GitLab REST API v4 routes for users, groups, namespaces, projects (by numeric ID or full path), repository branches, files, and commits, issues, merge requests, notes, discussions, pipelines, pipeline schedules, jobs, job artifacts, and project hooks.
glab apistyle REST and GraphQL workflows, including a minimal GraphQL surface forglab api graphqlcalls.- GitBeaker SDK-style calls, including package routes served outside
/api/v4(/projects/...,/groups/...,/packages/...) and GitLab-shaped fallback responses for unmodeled endpoints on resolved projects. - GitLab MCP-compatible JSON-RPC over
/api/v4/mcpand/mcp, with tools for projects, issues, merge requests, files, and pipelines. - Token authentication via
Authorization: Bearer ...,PRIVATE-TOKEN,JOB-TOKEN, orprivate_tokenquery parameters. Tokens match GitLab client expectations; no external authentication is performed. - Admin endpoints to inspect and reseed state (
/admin/reset,/admin/state,/admin/clock,/admin/fidelity) and a liveness check atGET /healthz.
- Users, groups, projects, branches, files, commits, issues, merge requests, pipelines, jobs, and hooks start empty unless seeded through config or scenario seeding, or created through API calls.
- The REST
/api/v4surface,glabCLI compatibility, GitBeaker SDK compatibility, and the MCP JSON-RPC tools listed above are the fidelity target; other GitLab surfaces may be approximated or absent. - Delete operations on seeded resources are non-destructive by design so SDK and CLI probes remain repeatable. To remove state, use the admin reset endpoint rather than relying on a
DELETEto drop seeded entities. - State is process-local and is discarded when the twin process or sandbox closes.
get_twin_catalog, provision_twins, start_url_validation, get_validation_results.
Gmail
Twin name:gmail
Supports
- Gmail API workflows for inboxes, threads, messages, drafts, labels, attachments, search, send behavior, and watch events.
- OAuth-style token handling, seeded mailbox state, deterministic message/thread IDs, and resettable state for repeatable email-agent tests.
- File attachment metadata and download flows for agents that inspect or transform message attachments.
- Mailboxes start empty unless seeded or populated by the app under test.
- Delivery, spam classification, and provider reputation behavior are deterministic approximations rather than live Gmail infrastructure.
- The twin focuses on Gmail API-compatible agent workflows; broad Google Workspace admin behavior is outside the primary fidelity target.
get_twin_catalog, provision_twins, start_url_validation, get_validation_results.
Google Calendar
Twin name:google_calendar
Supports
- Google Calendar API v3 calendars, calendar list, events, ACL rules, settings, colors, and free/busy queries.
- Watch channels and webhook delivery for events, ACL, calendar list, and settings resources.
- Calendar CRUD, event import, quick-add, instances, move operations, and delete flows.
- Calendar and event state starts empty unless seeded or created by the app under test.
- Advanced Google Calendar edge cases outside the modeled v3 resources may be approximated or return structured errors.
- Watch delivery is deterministic and inspectable, which is useful for tests but not identical to every production timing detail.
get_twin_catalog, provision_twins, start_url_validation, get_validation_results.
Google Drive
Twin name:google_drive
Supports
- Google Drive API v3 files, permissions, revisions, comments, replies, shared drives, changes, watch channels, and simple, multipart, and resumable uploads.
- File operations such as list, get, create, update, copy, delete, export, download, labels, permissions, and generated IDs.
- Google API client compatibility through a Drive discovery document.
- OAuth scope enforcement, change polling, watch notifications, deterministic retries, replay, and storage tier-based quotas.
- The Drive
qquery language andorderBysupport are intentionally a subset; unsupported clauses or keys return400 invalidQuery. - Unsupported export formats return
400 cannotExportFile; Google-native exports focus on common document, sheet, slide, form, script, site, and drawing formats. - HMAC notification signatures are a twin-only optional approximation and are disabled by default.
- Upload MIME types are accepted broadly, but preview, thumbnail, edit, export, and search capabilities depend on the modeled MIME class.
get_twin_catalog, provision_twins, start_url_validation, get_validation_results.
Jira
Twin name:jira
Supports
- Jira Cloud REST API v3 issue flows: create, read, update, delete, bulk create, transitions, changelog, edit metadata, comments, worklogs, attachments, issue links, properties, votes, watchers, and search/JQL.
- Projects, users, components, versions, remote links, filters, dashboards, groups, fields, priorities, resolutions, statuses, status categories, issue types, server info, attachment metadata, and webhooks.
- Jira Software Agile endpoints for boards, sprints, board sprints, and backlog issue moves.
- OAuth 2.0 authorization code grant, scope enforcement, deterministic seeding, ADF storage for descriptions/comments, and HMAC-signed webhook delivery.
- The v2 and
latestREST aliases route to the v3-compatible implementation; exact historical differences between Jira API versions are not the fidelity target. - Plain-string descriptions and comments are auto-wrapped in a minimal Atlassian Document Format document.
- Complex JQL behavior is modeled for deterministic testing, but edge cases outside the supported parser may return structured validation errors.
get_twin_catalog, provision_twins, start_url_validation, get_validation_results.
Notion
Twin name:notion
Supports
- Notion API routes for users, search, pages, databases, data sources, blocks, comments, file uploads, views, OAuth token exchange, introspection, and revocation.
- Deterministic workspace state, bot identity, pagination, markdown projection, nested page content, database/data-source querying, event outbox, webhook delivery, replay, and admin inspection.
- Workspace plan limits for file uploads and guests, plus capability-based user information visibility.
- Pages, databases, and users start empty unless seeded or created through API calls.
- Unsupported property template types and unsupported database property filters return validation errors.
- Requests outside supported
/v1routes return Notion-style invalid request errors rather than generated mock success responses.
get_twin_catalog, provision_twins, start_url_validation, get_validation_results.
Salesforce
Twin name:salesforce
Supports
- Salesforce Platform REST API discovery (
GET /services/data,GET /services/data/v{version}, andGET /services/data/v{version}/limits). - sObject CRUD for standard objects (Account, Contact, Case, EmailTemplate, EmailMessage, User, and related types) under
/services/data/v{version}/sobjects/{sobject}, includingGET,POST,PATCH, andDELETEby record ID,describe,describe/layouts,describe/compactLayouts,listviews, relationship traversal, updated/deleted feeds, and therelevantItemsendpoint. - SOQL (
/services/data/v{version}/query,queryAll, andquery/{locator}), SOSL (/services/data/v{version}/search,parameterizedSearch,search/scopeOrder,search/layout), composite endpoints (composite,composite/batch,composite/graph,composite/tree/{sobject}), and Bulk API v2 job shells (jobs/query,jobs/ingest). - Invocable actions (
actions,actions/standard,actions/custom) including the standard email and case-creation actions used by support workflows, plus Tooling API surface for sobjects, queries, and basic discovery. - OAuth 2.0 token exchange at
/services/oauth2/token(and/oauth2/token), userinfo at/services/oauth2/userinfo, identity URLs at/id/{org_id}/{user_id}, and bearer-token authentication. - Admin endpoints for deterministic seeding (
POST /admin/reset,GET /admin/state,POST /admin/clock) and a liveness check atGET /healthz(alsoGET /health).
- Accounts, contacts, cases, email templates, email messages, and users start empty unless seeded through config or scenario seeding, or created through API calls.
- The fidelity target is the Salesforce REST API surface needed for CRUD, query/search, composite requests, limits/recent/actions discovery, and support-style case and email-template flows; products and endpoints outside that set (for example, Apex REST, Streaming API, Metadata API, and Einstein APIs) may be approximated or absent.
- Salesforce real-service fidelity checks are opt-in and only run when
SALESFORCE_REAL_FIDELITY=1is set with validSALESFORCE_INSTANCE_URLandSALESFORCE_ACCESS_TOKENcredentials. - The Salesforce twin is backend-only — there is no browsable UI surface in the Arga app.
get_twin_catalog, provision_twins, start_url_validation, get_validation_results.
Linear
Twin name:linear
Supports
- The Linear GraphQL endpoint at
POST /graphqlfor teams, projects, cycles, issues, labels, comments, workflow states, users, organization, and webhooks. - Personal API keys sent directly in the
Authorizationheader, plus OAuth 2.0 tokens issued via/oauth/authorize,/oauth/token, and/oauth/revoke. @linear/sdkwire compatibility including__typenameon entities,{ id }relation payloads in default selections, and SDK-shaped GraphQL error envelopes.- Webhook registration and replay flows, with
Linear-Signature,Linear-Delivery,Linear-Event, andLinear-Timestampheaders on deliveries. - Admin endpoints for state inspection, config updates, reset/clock control, webhook replay, and fidelity checks.
- Teams, projects, cycles, issues, labels, comments, tokens, and webhook subscriptions start empty unless seeded or created through API calls.
- The fidelity target is the GraphQL surface used by Arga workflows and the
@linear/sdk, not every Linear feature or internal UI behavior. - The Linear twin is backend-only — there is no browsable UI surface in the Arga app.
get_twin_catalog, provision_twins, start_url_validation, get_validation_results.
Slack
Twin name:slack
Supports
- Slack Web API methods for conversations, channels, messages, scheduled messages, users, reactions, pins, bookmarks, do-not-disturb, modal views, direct messages, and files.
- Block Kit messages on
chat.postMessage: requests with a non-emptyblocksarray are accepted even when fallbacktextis blank or whitespace, and the submittedblocksare returned in the response and persisted in conversation history. Posts with both emptytextand emptyblocksstill returnno_text. - Auth methods including
api.test,auth.test,auth.revoke, andauth.teams.list. - OAuth 2.0 authorization code grant through
/oauth/v2/authorizeand/api/oauth.v2.access, plus MCP OAuth aliases at/oauth/v2_user/authorizeand/api/oauth.v2.user.access. - Bot, user, and enterprise-style tokens, method-level OAuth scope enforcement, configurable token scopes, and missing-scope errors.
- File uploads, external upload completion, downloadable files, file-share events, workspace tier constraints, storage quotas, rate-limit simulation, event delivery, replay, and admin inspection.
- Slack CLI app management surface including manifest validate/create/update/export, app status, developer install/uninstall, app delete, connections open, hosted package upload placeholders, hosted environment variables (add/list/remove), and Slack CLI secondary API families covering activities, auth tickets and token rotation, app approvals, external auth, datastores, workflow triggers, function permissions, collaborators, icons, certified installs, and developer sandboxes. Point the Slack CLI at the twin by setting
SLACK_API_URLto the twin’s/api/base. - Slack MCP Streamable HTTP endpoint at
/mcpwith JSON-RPC 2.0initialize,tools/list, andtools/call, OAuth protected resource metadata at/.well-known/oauth-protected-resource/mcp, authorization server metadata at/.well-known/oauth-authorization-server, and Slack-shaped MCP tools (slack_search_messages,slack_search_messages_and_files,slack_search_public_and_private,slack_search_public,slack_search_files,slack_search_users,slack_search_channels,slack_list_channels,slack_read_channel,slack_send_message,slack_schedule_message,slack_send_message_draft,slack_read_thread,slack_list_users,slack_get_user,slack_read_user_profile,slack_create_canvas,slack_update_canvas,slack_read_canvas) that share state with the Web API surface.
- Channels start empty unless seeded or created through
conversations.create. - File upload limits and workspace features are controlled by the twin’s configured tier and constraints, not by a live Slack workspace.
- The REST, OAuth, Slack CLI, and Slack MCP surfaces are the fidelity targets; websocket/Socket Mode behavior is not described as primary support here.
- Hosted package upload endpoints (
apps.hosted.generatePresignedPost,apps.hosted.upload) accept the CLI lifecycle but do not execute hosted runtimes.
get_twin_catalog, provision_twins, start_url_validation, get_validation_results.
Stripe
Twin name:stripe
Supports
- Stripe API v1 resources for customers, payment methods, payment intents, setup intents, charges, refunds, disputes, subscriptions, invoices, invoice items, credit notes, products, prices, plans, coupons, promotion codes, tax rates, shipping rates, tokens, sources, payouts, balance, balance transactions, billing meters, meter events, events, files, checkout sessions, payment links, quotes, billing portal sessions, subscription items, schedules, usage records, tax IDs, webhook endpoints, mandates, and test clocks.
- Stripe-compatible authentication errors, idempotency keys, signed webhooks, test cards for declines and 3D Secure, checkout pages, billing portal pages, dashboard pages, product catalog, and customer management.
- Seed endpoint for starter product, price, and webhook setup.
- Stripe MCP-compatible JSON-RPC server at
POST /mcp(andPOST /mcp/v1) for use by MCP clients and the@stripe/mcpCLI bridge. The twin routesmcp.stripe.comthrough this endpoint and serves Stripe’s OAuth discovery documents atGET /.well-known/oauth-protected-resource,GET /.well-known/oauth-protected-resource/mcp, andGET /.well-known/oauth-authorization-server. Implementsinitialize,notifications/initialized,tools/list, andtools/call, advertising the same 31 tools as the official Stripe MCP server (search_stripe_documentation,get_stripe_account_info,create_customer,list_customers,create_product,list_products,create_price,list_prices,create_payment_link,create_invoice,list_invoices,create_invoice_item,finalize_invoice,retrieve_balance,create_refund,list_refunds,list_payment_intents,list_subscriptions,cancel_subscription,update_subscription,list_coupons,create_coupon,update_dispute,list_disputes,search_stripe_resources,fetch_stripe_resources,stripe_integration_recommender,send_stripe_mcp_feedback,stripe_api_search,stripe_api_details,stripe_api_execute). MCP tool calls share state with the Stripe API and Checkout surfaces — resources created via MCP are visible through the API, dashboard, and webhooks. Requests without aAuthorization: Bearer <token>header return401 Unauthorized.
- Stripe resources start empty unless seeded or created by the app under test.
- API key validation recognizes Stripe-style key prefixes and simulates authentication behavior; no real Stripe account is contacted.
- The twin models the API resources listed above; newer or specialized Stripe products outside that surface may be absent or approximated.
get_twin_catalog, provision_twins, start_url_validation, get_validation_results.
Waterfall
Twin name:waterfall
Supports
- Waterfall API workflows for company search, people search, enrichment, verification, and account endpoints.
- API-key authentication with UUID-shaped keys such as
ad18e456-0dd7-45e1-b094-43a0361aedfa. - Environment-variable rewrites through the wizard for
WATERFALL_API_KEY,WATERFALL_API_BASE_URL,WATERFALL_API_URL, andWATERFALL_BASE_URL.
- Waterfall data starts empty unless seeded or created through API calls.
- The twin focuses on API-compatible enrichment and verification workflows; broader Waterfall dashboard behavior is outside the primary fidelity target.
- The Waterfall twin is backend-only; there is no browsable UI surface in the Arga app.
get_twin_catalog, provision_twins, start_url_validation, get_validation_results.
Unified
Twin name:unified
Supports
- Unified.to integration, auth, connection, webhook, and passthrough-style flows for apps that call Unified instead of a provider API directly.
- Seeded provider connections for Slack, Google Mail, Google Drive, Google Calendar, Box, Notion, and Dropbox.
- Unified calendar, messaging, HRIS, storage, KMS/page, comment, and event routes over deterministic in-memory provider state.
- Use provider-specific twins when your app talks directly to Slack, Dropbox, Google Drive, Google Calendar, Box, Notion, or another upstream provider.
- The Unified twin models generic Unified behavior and selected provider bridges; it is not a replacement for every provider-specific API edge case.
- Missing connections or provider records return structured
404or400errors.
get_twin_catalog, provision_twins, start_url_validation, get_validation_results.
Unstructured
Twin name:unstructured
Supports
- Legacy partition endpoint at
POST /general/v0/general. - Workflow API routes for sources, destinations, connection checks, workflows, jobs, job cancellation, job details, failed files, job downloads, templates, and deterministic async job lifecycles.
- API-key authentication, scope families, document validation, event producers, webhook subscriptions, signed delivery attempts, retries, replay, failure injection, and admin inspection.
- Unsupported file extensions, encrypted files, invalid PDFs, retired VLM models, unsupported VLM provider/model pairs, and invalid auth scopes return structured errors.
- On-demand jobs enforce modeled constraints such as file count, file size, launch spacing, and concurrent active job limits.
- Some output-format behavior is approximated; unsupported output formats fall back to JSON unless callers request CSV explicitly.
get_twin_catalog, provision_twins, start_url_validation, get_validation_results.
