MCP server
Our API tools, inside your AI assistant
Add testingapis.com to Claude, Cursor, VS Code or any assistant that speaks MCP, and it can validate your OpenAPI specs and JSON Schemas, turn cURL commands into code, generate types, convert API descriptions and fetch test data while it works, with the same results as the tools on this site. Free, with no sign-up and no key.
https://testingapis.com/mcpAdd it to your assistant
Claude (claude.ai and the desktop app)
Open Settings → Connectors, choose Add custom connector, name it testingapis and paste the URL.
Claude Code
Run this in a terminal:
claude mcp add --transport http testingapis https://testingapis.com/mcpCursor
Add this to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{
"mcpServers": {
"testingapis": {
"url": "https://testingapis.com/mcp"
}
}
}VS Code (GitHub Copilot agent mode)
Add this to .vscode/mcp.json in your project, or run MCP: Add Server from the command palette:
{
"servers": {
"testingapis": {
"type": "http",
"url": "https://testingapis.com/mcp"
}
}
}ChatGPT, Windsurf and other clients
Add a remote MCP server (Streamable HTTP) with the URL above. No authentication is needed.
The tools, and what to ask
You don't call them by name: ask in your own words, and the assistant picks the tool. Every answer links to the tool's page here, to see the result in full.
| Tool | What it does | Try asking |
|---|---|---|
| validate_openapi | Finds the mistakes in an OpenAPI or Swagger spec, with line numbers | “Validate the OpenAPI spec in openapi.yaml” |
| validate_json_schema | Checks JSON against a JSON Schema and lists every error | “Does this response match the schema in user.schema.json?” |
| generate_json_schema | Creates a JSON Schema from a JSON sample | “Write a JSON Schema for this API response” |
| json_to_types | TypeScript, Go, Python, Java, C#, Kotlin or Rust types from JSON | “Generate Go structs for this JSON” |
| curl_to_code | Turns a cURL command into Python, JavaScript, Go, Java, C# or PHP | “Convert this curl command to Python requests” |
| convert_api_spec | Swagger to OpenAPI 3.1, Postman to OpenAPI, OpenAPI to Postman or cURL | “Convert our Swagger 2.0 file to OpenAPI 3.1 YAML” |
| query_jsonpath | Runs a JSONPath query (RFC 9535) on JSON | “Which products in this JSON cost less than 10?” |
| explain_cron | Reads a cron expression in plain English, with its next runs | “When does 0 3 * * 1-5 run?” |
| compare_json | Lists the real differences between two JSON documents | “What changed between these two responses?” |
| get_test_data | Realistic products, posts and todos from the free API | “Give me 5 sample products as test fixtures” |
Good to know
- Read-only. The tools work on what your assistant sends them and change nothing. Only
get_test_datareaches out, to our own free API. - Nothing is kept.Specs, JSON and commands are processed for that one call and not stored. Don't send secrets you wouldn't paste into a website.
- Limits. Up to 120 calls a minute and 1 MB of input per call.
- Protocol.Streamable HTTP, MCP 2026-07-28, with 2025-era clients supported too. It's stateless, so there are no sessions to keep. How that works is in our post on MCP 2026-07-28.