Use this page to pick the right twin name for CLI, API, and MCP workflows. Each twin can be provisioned directly, attached to a URL validation run, or pinned to a saved scenario environment.Documentation Index
Fetch the complete documentation index at: https://docs.argalabs.com/llms.txt
Use this file to discover all available pages before exploring further.
MCP tools
All twins on this page use the same Arga MCP tools:| 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 readiness and run status for validation or twin provisioning runs. |
ensure_scenario_twin_environment | Create or refresh a stable twin environment pinned to a saved scenario. |
get_scenario_twin_environment | Retrieve stable URLs and seed results for a scenario twin environment. |
reseed_scenario_twin_environment | Reset a scenario twin environment back to its saved seed. |
delete_scenario_twin_environment | Tear down a scenario twin environment. |
list_scenario_twin_environments | List active scenario twin environments. |
Twin links
| Twin | Kind | Reference |
|---|---|---|
box | Backend | Box |
discord | UI | Discord |
dropbox | UI | Dropbox |
github | UI | GitHub |
gitlab | Backend | GitLab |
gmail | UI | Gmail |
google_calendar | UI | Google Calendar |
google_drive | UI | Google Drive |
jira | Backend | Jira |
linear | Backend | Linear |
linkedin | UI | |
notion | UI | Notion |
slack | UI | Slack |
stripe | UI | Stripe |
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, and the scenario twin environment tools listed above.
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, and the scenario twin environment tools listed above.
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, and the scenario twin environment tools listed above.
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.
- 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, and the scenario twin environment tools listed above.
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, pipelines, jobs, and project hooks.
glab apistyle REST and GraphQL workflows, including a minimal GraphQL surface forglab api graphqlcalls.- 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, and the MCP JSON-RPC tools listed above are the fidelity target; other GitLab surfaces may be approximated or absent. - 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, and the scenario twin environment tools listed above.
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, and the scenario twin environment tools listed above.
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, and the scenario twin environment tools listed above.
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, and the scenario twin environment tools listed above.
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, and the scenario twin environment tools listed above.
Linear
Twin name:linear
Supports
- Linear GraphQL API (
POST /graphql) covering queries and mutations for teams, projects, cycles, issues, labels, comments, workflow states, users, organization, and webhooks. - Authentication with both personal API keys (raw value in the
Authorizationheader, noBearerprefix) and OAuth 2.0 access tokens (Authorization: Bearer <token>). - OAuth 2.0 consent and token flows (
GET/POST /oauth/authorize,POST /oauth/token,POST /oauth/revoke), scope enforcement, refresh tokens, and revocation. @linear/sdkcompatibility:__typenameis returned on every entity, relations are emitted as{ id }in default selections, and error envelopes exposeextensions.typevalues the SDK dispatches on (for example,"authentication error","invalid input","ratelimited","feature not accessible").- Webhook subscriptions with signed deliveries (
Linear-Signature,Linear-Delivery,Linear-Event, andLinear-Timestampheaders), an event outbox, manual flush and replay, and delivery history. - Admin endpoints to inspect and reseed state (
/admin/state,/admin/config,/admin/reset,/admin/clock/advance,/admin/webhooks,/admin/webhook-events,/admin/webhook-deliveries,/admin/fidelity). - Liveness check at
GET /healthzand a lightweight HTML index atGET /for visual validation.
- Teams, projects, cycles, issues, labels, comments, tokens, and webhooks start empty unless seeded through config or scenario seeding, or created via API calls.
- The fidelity target is the GraphQL surface and
@linear/sdkwire behavior; non-GraphQL or undocumented endpoints are not modeled. - Rate limits, failure injection, and pagination are deterministic and inspectable, which is useful for testing but is not identical to every production timing detail.
get_twin_catalog, provision_twins, start_url_validation, get_validation_results, and the scenario twin environment tools listed above.
linkedin
Supports
- LinkedIn OAuth 2.0 authorization code grant, access token exchange, token introspection, OpenID Connect metadata, JWKS, userinfo, and ID token claims.
- Legacy
/v2profile and email endpoints, people lookup/search, first-degree connections, Share on LinkedIn posts, asset registration, and binary media uploads. - Versioned
/restroutes and SDK-style headers such asLinkedIn-Version,X-RestLi-Protocol-Version: 2.0.0,X-RestLi-Method, and query tunneling throughX-HTTP-Method-Override: GET. - Deterministic seeding for members, posts, tokens, and assets.
- Versioned
/rest/*endpoints require bothLinkedIn-VersionandX-RestLi-Protocol-Version: 2.0.0; missing headers return400errors. - State starts empty by default, so authenticated profile, post, and asset flows need seeded data or API-created data.
- The twin focuses on OAuth, profile, people, connection, post, and media flows rather than every LinkedIn Marketing or Ads API surface.
get_twin_catalog, provision_twins, start_url_validation, get_validation_results, and the scenario twin environment tools listed above.
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, and the scenario twin environment tools listed above.
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.
- 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, and the scenario twin environment tools listed above.
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 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, and the scenario twin environment tools listed above.
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, and the scenario twin environment tools listed above.
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, and the scenario twin environment tools listed above.
