Skip to main content
Each tool is a stateful replica of a real service’s API. It answers the same endpoints with the same response shapes, keeps state that changes as your agent acts, and starts from fictional starter data about one company, Acme, and its customers. Your agent talks to it with its normal SDK or HTTP client, pointed at the URL Ancha provides.

The 38 tools

Use the key in scene files (twins: [slack, github]), in --tools lists and in commands such as ancha twins coverage slack.

Communication and documents

Engineering and operations

Revenue and commerce

Marketing and analytics

Other

ancha twins list prints the same keys and counts. Eight more tools ship in 0.1.3: Twilio (twilio), Google Calendar (google-calendar), Intercom (intercom), Zendesk (zendesk), Asana (asana), Discord (discord), Sentry (sentry) and Airtable (airtable). ancha twins lists them with their endpoint counts, and ancha twins coverage <key> lists the endpoints each one implements.

How your agent connects

For every tool in the world, Ancha sets environment variables with the tool’s base URL and fake credentials before it starts your agent. Point your SDK or HTTP client at the URL and send the credentials the way the real service expects them. The fake credentials work only against this attempt’s tools.
Output
ancha connect <tool> prints settings for Node (--lang ts) for every tool, and for Python (--lang py) for Slack, GitHub and Google Ads. Where an official SDK cannot take a base URL, the snippet shows the custom fetch or adapter that sends its requests to the replica, as for Stripe, Dropbox, Shopify and PayPal. See ancha connect and Environment variables for every variable. Locally, tool URLs look like http://127.0.0.1:<port>/e/<environment-id>/github. In a hosted workspace they look like https://app.ancha.io/t/<workspace>/e/<environment-id>/github. Read them from the environment; never build them yourself.

Coverage

Every replica implements a documented subset of the real API, not the whole service. ancha twins coverage <tool> lists each implemented endpoint with its status and notes:
A call to anything else fails visibly. The replica answers in the tool’s native error shape, with a message that starts with ancha: not implemented: and the response header x-ancha-gap: 1: ancha run and ancha explain report these calls as coverage gaps. With --strict, any gap makes the run exit with code 4.

Fidelity

Responses follow the real APIs’ documented shapes and were tested with the official clients where a tool page names one. They have not been compared call by call with the live services. Behavior that depends on the real world is not simulated: nothing is probed, printed, mailed, delivered or traded for real, reporting data is historical, and mail, invitations and notifications are recorded rather than sent. Each tool page lists its limits.