Create API test environments from behavioral twins, seed their starting state, inspect requests from code under test, and evaluate the results against reusable tests.
Create API test environments from behavioral twins, seed their starting state, inspect requests from code under test, and evaluate the results against reusable tests.
Twinbay runs behavioural twins of third-party APIs. Pick a twin with
`list_twins`, describe what it should already hold with `create_seed` if an empty
twin is not enough, put it in an environment with `create_environment`, wait for
it with `get_environment_twin` and `wait_for=ready`, collect its key with
`collect_environment_twin_credential`, point the code under test at the twin's URL,
then read back what it sent with `list_request_logs` and `get_request_log`.
Save reusable provider and seed selections with `create_scenario`, manage them
with `list_scenarios`, `get_scenario`, `update_scenario` and `delete_scenario`,
and pass a scenario's id as `scenario` to `create_environment`.
To grade what the code under test did, describe its outcomes with `create_test`
and revise them with `update_test`; each update appends an immutable version.
Create an evaluator for the test and twins with `create_evaluator`; omit
`test_version` for the latest definition or supply it to pin an earlier one.
Compilation is asynchronous: poll `get_evaluator` until `status` is `ready`, or
`error` with a structured `last_error`. `create_test_run` opens an attempt on an
existing environment using that evaluator; only traffic served after that counts,
and an environment runs one attempt at a time. `create_evaluation` with the run
and `phase=checkpoint` grades the attempt so far and keeps it open;
`phase=final` closes it. Pass an `Idempotency-Key` so a retried call returns the
same evaluation. Evaluation is asynchronous too: poll `get_evaluation` until
`status` is `completed` or `error`. Only a `passed` verdict is a pass;
`inconclusive` means an outcome is not settled, because the attempt is still
open or `coverage_status` is not `complete`. To regrade the same capture, call
`create_evaluation` again for the same run and phase with another ready
`evaluator_id` compiled for the run's pinned test version.
`download_evaluation_input` signs a link to that capture.
Protocol
Pass100/10016 / 16 pts
Connection, authentication, and protocol compatibility.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description79/100
Records the environment and queues each twin for provisioning. The twins are not serving yet: read each one with `wait_for=ready`, then collect its API key.
The description explains the capability, when to use it, and what to expect.
Inputs91/100
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
name
Display name of the new environment. Generated when omitted.
Clear enough to supply this argument.
twins › anyOf › 0 › items › anyOf › 1 › twin
Slug of the twin to serve
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
twins › anyOf › 0 › items › anyOf › 1 › seed
A generated starting state to load into this twin, by `seeds.id`. Omitted starts the twin with its own state and nothing else.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description74/100
With `wait_for`, the answer is held until the twin reaches that state, a run of it settles, or the wait runs out — so a caller waiting for a twin to serve sends one request rather than polling.
The description explains the capability, when to use it, and what to expect.
Inputs0/100
0 of 2 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
twin_id
Not provided
Missing description. Explain what this value means and how to supply it.
wait_for
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description85/100
Describes the starting state you want and answers immediately; a worker expands it into rows. Read the seed until it is `ready`, then pass its id as a twin's `seed` when you create an environment.
The description explains the capability, when to use it, and what to expect.
Inputs90/100
Input documentation gives an agent enough context to populate the arguments.
name
Display name of the seed
Clear enough to supply this argument.
twin
Slug of the twin this seed is for
Clear enough to supply this argument.
prompt
The starting state you want, in your own words. "50 open tickets, half of them aging past 90 days."
The title clearly communicates the tool’s action and subject. Keep it concise.
Description77/100
Opens an attempt: traffic the environment serves from now on is attributed to it. Does not launch an agent or reset twins. An environment runs one attempt at a time.
Explain mutations, irreversible effects, or prerequisites that matter before calling this tool.
Inputs0/100
0 of 2 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
environment_id
Not provided
Missing description. Explain what this value means and how to supply it.
evaluator_id
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description90/100
Evaluation is asynchronous: poll until `status` is `completed` or `error`; `verdict` is `pending` until then. Only a `passed` verdict is a pass: `failed`, `inconclusive` and `error` are not. `coverage_status` says whether the capture holds every call the attempt's window served, and each result cites the evidence it was judged on.
The description explains the capability, when to use it, and what to expect.
Inputs0/100
0 of 1 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
evaluation_id
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description80/100
Records the slice to export and answers immediately; a worker writes the file. An empty body exports the whole environment for all of time.
The description explains the capability, when to use it, and what to expect.
Inputs63/100
3 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
environment_id
Not provided
Missing description. Explain what this value means and how to supply it.
payload › anyOf › 0 › environment_twin_ids
Twin slots inside this environment to export, by `environment_twins.id`. Omitted exports every twin; an empty list would export none, which is never what a caller means.
Clear enough to supply this argument.
payload › anyOf › 0 › occurred_from
Export calls served at or after this instant.
Explain what happens when this optional value is omitted.
payload › anyOf › 0 › occurred_until
Export calls served at or before this instant. An export never reads past the moment it was asked for, whatever this says.
Explain what happens when this optional value is omitted.
Twinbay setup, tools, quality score, publishing readiness, and alternatives.
How do I add Twinbay to Claude, ChatGPT, or Cursor?
Add Twinbay to Claude, ChatGPT, or Cursor by connecting its remote MCP URL in each client's MCP settings. In Claude, add a custom connector. In ChatGPT, add an MCP app. In Cursor, add an MCP server under Settings. The MCP URL is https://mcp.twinbay.ai/mcp.
Is Twinbay MCP ready for ChatGPT and Claude?
As of October 14, 2026, Twinbay scores 100/100 on Manufact's MCP publishing checklist. The scan meets ChatGPT publishing checks and meets Claude publishing checks. Passing these checks does not guarantee marketplace approval.
How clear is Twinbay's MCP tool documentation?
As of October 14, 2026, Twinbay scores 66/100 in Manufact's review of tool titles, descriptions, input and output schemas, and behavior annotations. The review covers 44 of 44 discovered tools. The quality score measures documentation clarity; runtime behavior and marketplace readiness require separate checks.
What are the best alternatives to Twinbay?
As of October 14, 2026, alternatives to Twinbay in developer-tools on the Manufact MCP catalog include AgentMail, Authdog, Manufact Cloud, swatchdog, and Context.dev.
How can Twinbay improve its MCP documentation?
delete_seed is the lowest-scoring reviewed tool at 46/100. 0 of 1 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values. Open its review for feedback and a copyable fix prompt, then rerun the documentation review after updating your tool metadata.
Not your MCP?
Review any public or OAuth MCP server for protocol compatibility, tool documentation, and ChatGPT and Claude publishing readiness. No account required.