# Test with MCP

Let an AI agent discover synthetic inputs and call normal Openhandle tools without charges.



Connect an MCP client to the Streamable HTTP endpoint:

```text
https://api.openhandle.dev/mcp
```

Interactive clients sign in with OAuth. Choose **Test** on the approval screen.
Scripts can send a Test API key instead:

```text
Authorization: Bearer $OPENHANDLE_TEST_KEY
```

The credential selects Test for every endpoint tool. Do not add an environment
tool argument, header, prompt instruction, or server setting. Read
[MCP server](/docs/mcp) for the OAuth details.

## Agent sequence [#agent-sequence]

1. Read `openhandle://test/quickstart`.
2. Call `find_test_data` with an operation and optional traits.
3. Call the matching endpoint tool with the returned input.
4. Verify the expected result.
5. Read `environment`, `requestId`, `actualCharge`, `liveEquivalentPrice`, and
   `datasetVersion` from result metadata.

Example discovery input:

```json
{
  "operation": "instagram.post.comments.list",
  "traits": ["public", "paginated"],
  "limit": 1
}
```

`find_test_data` and `get_test_data` are deterministic and unmetered. They return
metadata, not complete social payloads. Endpoint tools use the public API
pipeline and create the normal test request history and zero-charge usage entry.

The same endpoint tool schemas work with Live. Only the credential, identifiers,
data source, and billing behavior change.
