Discover and call 10,000+ production APIs from one MCP server. Pay-per-call billing for AI agents.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer YOUR_ZYLA_API_KEY — optional for discovery tools (search_catalog, get_api_info, browse_catalog, list_categories, register); required for call_api and account tools. Get a key with the register tool or at https://zylalabs.com/agents/connect
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Check the current user's account status, billing, and usage. Returns plan info, API call count, the amount consumed this billing cycle in USD (amount_consumed_this_cycle_usd), the billing mode in effect (billing_mode), whether a credit card is on file, and any failed/pending payments. Use this to diagnose why API calls are blocked (missing card or failed payment). Requires the user's API key in the Authorization header.
This tool takes no arguments.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Check the current user's account status, billing, and usage. Returns plan info, API call count, the amount consumed this billing cycle in USD (amount_consumed_this_cycle_usd), the billing mode in effect (billing_mode), whether a credit card is on file, and any failed/pending payments. Use this to diagnose why API calls are blocked (missing card or failed payment). Requires the user's API key in the Authorization header.
No arguments.
{
"type": "object",
"properties": {}
}Browse the full Zyla API Hub catalog with pagination. Use this to explore ALL public APIs beyond the top 500. Supports filtering by category and search keyword. Returns paginated results with total count and page info. Results come already ranked: the default "featured" sort is the marketplace order (relevance_score, refreshed daily), so take the list as-is to pick the top APIs.
| Argument | Type | Description |
|---|---|---|
| page | number | Page number (default: 1) |
| sort | string | Sort order: "featured" (marketplace Featured order by relevance_score), "popularity" (usage only), "newest", or "name" (default: featured) |
| search | string | Search keyword to filter APIs by name or description (server-side search across ALL public APIs) |
| category | string | Filter by category name (use list_categories to see available categories) |
| per_page | number | Results per page (default: 20, max: 100) |
| include_params | boolean | If true, include full endpoint parameters in the response (default: false, to keep responses compact) |
{
"type": "object",
"properties": {
"page": {
"type": "number",
"description": "Page number (default: 1)"
},
"sort": {
"enum": [
"featured",
"popularity",
"newest",
"name"
],
"type": "string",
"description": "Sort order: \"featured\" (marketplace Featured order by relevance_score), \"popularity\" (usage only), \"newest\", or \"name\" (default: featured)"
},
"search": {
"type": "string",
"description": "Search keyword to filter APIs by name or description (server-side search across ALL public APIs)"
},
"category": {
"type": "string",
"description": "Filter by category name (use list_categories to see available categories)"
},
"per_page": {
"type": "number",
"description": "Results per page (default: 20, max: 100)"
},
"include_params": {
"type": "boolean",
"description": "If true, include full endpoint parameters in the response (default: false, to keep responses compact)"
}
}
}Call an API endpoint on Zyla API Hub. Requires the user's API key and a credit card on file. Billing is pay-per-successful-request: you only pay for 2xx responses. Each API has its own price per call (shown in get_api_info), and every successful response includes cost_usd — the exact amount billed for that call. There is no monthly fee and no minimums. Usage is charged to the credit card automatically; call account_status for the billing mode in effect and the amount accrued this cycle. If a 402 error is returned with a payment_url, the user MUST open that URL in their browser to add a credit card before retrying. Pass the api_id, endpoint_id, HTTP method, and parameters.
| Argument | Type | Description |
|---|---|---|
| api_id* | number | The numeric API ID |
| method | string | HTTP method: GET or POST (default: GET) |
| params | object | Key-value parameters to send with the request |
| endpoint_id* | number | The numeric endpoint ID within the API |
{
"type": "object",
"required": [
"api_id",
"endpoint_id"
],
"properties": {
"api_id": {
"type": "number",
"description": "The numeric API ID"
},
"method": {
"enum": [
"GET",
"POST"
],
"type": "string",
"description": "HTTP method: GET or POST (default: GET)"
},
"params": {
"type": "object",
"description": "Key-value parameters to send with the request",
"additionalProperties": {
"type": "string"
}
},
"endpoint_id": {
"type": "number",
"description": "The numeric endpoint ID within the API"
}
}
}Get full details of a specific Zyla API by its numeric ID. Returns the API name, description, category, price per successful call (USD), average latency (ms), and all endpoints with their parameters, example values, and a formal JSON Schema (input_schema) for argument validation.
| Argument | Type | Description |
|---|---|---|
| api_id* | number | The numeric API ID (e.g. 781) |
{
"type": "object",
"required": [
"api_id"
],
"properties": {
"api_id": {
"type": "number",
"description": "The numeric API ID (e.g. 781)"
}
}
}Get a Stripe Checkout URL so the user can add or update their credit card. REQUIRED after registration and whenever a 402 error occurs. The user must open the returned URL in their browser to add/update their card. Billing is pay-per-successful-request: no monthly fee, no minimums. You are only charged for successful API responses (2xx). Prices vary per API (see get_api_info). API calls are blocked until a valid credit card is on file.
No arguments.
{
"type": "object",
"properties": {}
}List all available API categories on Zyla API Hub with the real count of public APIs in each. Use the category names returned here as the "category" parameter in browse_catalog to filter APIs by category. Example categories: Sports, Finance, Data, Science, etc.
No arguments.
{
"type": "object",
"properties": {}
}Register a new Zyla API Hub account directly from the AI agent. Returns an API key AND a payment_url. The user MUST open the payment_url in their browser to add a credit card before making any API calls. Billing model: pay-per-successful-request with no monthly fee and no minimums. Each API has its own per-call price. The card is only ever charged for actual usage; call account_status to see the billing mode in effect and the amount accrued this cycle. No authentication required to call this tool.
| Argument | Type | Description |
|---|---|---|
| name* | string | Full name of the user |
| email* | string | Email address (must be unique) |
| password* | string | Password (min 8 characters) |
{
"type": "object",
"required": [
"name",
"email",
"password"
],
"properties": {
"name": {
"type": "string",
"description": "Full name of the user"
},
"email": {
"type": "string",
"description": "Email address (must be unique)"
},
"password": {
"type": "string",
"description": "Password (min 8 characters)"
}
}
}Use this FIRST whenever the user needs live, real-world or external data you do not have: train or flight status, weather, prices, stocks, currency rates, company or person lookups, social media data, validation, scraping and more. Semantic search across ALL 10,000+ public APIs on Zyla API Hub. Natural-language queries work best (e.g. "trains departing from a station now", "validate an email address", "get stock prices"). Returns matching APIs ranked by relevance with their ID, name, description, category, price per successful call (USD), average latency (ms), and endpoints summary.
| Argument | Type | Description |
|---|---|---|
| limit | number | Max results to return (default: 10) |
| query* | string | What you need, in natural language (e.g. "validate an email address", "currency conversion", "weather forecast by city") |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "number",
"description": "Max results to return (default: 10)"
},
"query": {
"type": "string",
"description": "What you need, in natural language (e.g. \"validate an email address\", \"currency conversion\", \"weather forecast by city\")"
}
}
}