EveryInfra
Server Details
One MCP endpoint for 414 data APIs across 90 platforms, including TikTok, Instagram, YouTube, Amazon, Xiaohongshu (RedNote) and Douyin, plus 17 web search tools and CAPTCHA solving for 52 types. Pay per call from $0.56 per 1,000 calls; failed or empty calls are not charged.
- Status
- Healthy
- Uptime
- 99.3% over 62 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- everyinfra/everyinfra-agent-plugins
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 12 tools
Most tools target a distinct resource (account, job, ticket, request, top-up link, capabilities, captcha types) and are easy to tell apart. The main overlap is between everyinfra_call_api (any of 573 capabilities, including search/profile actions) and everyinfra_search (17 bundled retrieval sub-tools), plus everyinfra_solve_captcha, which likely exists as a capability reachable through call_api; the docs hint at the split but never state it explicitly, so an agent may hesitate over which entry point to use for a given retrieval task.
All 12 tools share the everyinfra_ prefix and snake_case, with predictable verb_noun forms (get_account, get_job, list_capabilities, create_ticket, solve_captcha, call_api). The two single-word names (chat, search) are still verbs and read consistently with the rest.
12 tools is a healthy, well-scoped count for a broad API gateway: infrastructure needs (account, job polling, request log, ticket create/read, top-up) are separated from the heavy workhorses (call_api, search, chat, captcha). The only caveat is that call_api and search front exceptionally large surfaces (573 capabilities; 17 retrieval modes), pushing complexity into parameter selection rather than tool count.
The surface covers the full lifecycle of a paid API: discover (list_capabilities), execute (call_api), poll (get_job), audit (list_requests), billing (get_account, get_topup_link), and escalation (create/get_ticket), plus AI and captcha workflows. Minor gaps exist: no way to cancel or list async jobs, no ticket update/close, and no tool for enumerating chat models (the description defers to a raw REST endpoint).
Available Tools
12 toolseveryinfra_call_apiCall a data capabilityADestructiveInspect
Call any EveryInfra data capability and get structured JSON. Priced per platform tier USD 0.56/1K–USD 5.56/1K; failed calls and empty results leave no final charge (anything reserved is restored). Most actions return up to limit rows in one call, billed once; multi-target arrays (urls, targets, usernames, tickers) are billed per element, and actions with rows_per_unit per block of rows asked for. Page-based actions (page_size in the catalog) return one page per call, of a fixed size unless page_size_varies (then a short page is not the end); for more, pass the response's top-level next_page_token (some actions repeat it on each row) as page_token — each page is one call. Check platform/action, required params and max_limit or page_size with everyinfra_list_capabilities first. For slow tasks or large limits pass mode=async: you get a job_id at once; read the result with everyinfra_get_job (free).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | sync (default) waits for the result; async returns a job_id at once for slow tasks or large limits — read it with everyinfra_get_job | sync |
| action | Yes | e.g. search / profile / user_posts / post | |
| params | No | The capability's params, e.g. {"keyword":"AI tools","limit":20} | |
| platform | Yes | e.g. xiaohongshu / twitter / tiktok / web |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations' safety profile, the description discloses billing behavior (per-tier pricing, per-element billing for multi-target arrays, rows_per_unit), failure semantics ("failed calls and empty results leave no final charge ... anything reserved is restored"), and pagination mechanics (next_page_token/page_token, repeated tokens on rows, page_size_varies). This is substantial behavioral context an agent cannot derive from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose and pricing lead the paragraph, so it is front-loaded, and for a paid meta-dispatch tool most clauses (billing, pagination, async) earn their place. It is nonetheless a single dense run-on passage where pagination and billing clauses compete for attention, which slightly hurts scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden, and it does explain the async job_id path and next_page_token pagination, plus the discovery prerequisite. It does not describe the general shape of the structured JSON response or error behavior, so it is nearly complete but leaves some gaps for a tool with nested params.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it explains mode=async's return (job_id), and contextualizes params such as limit, billing-relevant multi-target arrays, and page_token sourcing from next_page_token. However, the schema properties themselves are only lightly annotated, so some param meaning still relies on the catalog lookup it recommends.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete verb+resource ("Call any EveryInfra data capability and get structured JSON") and implicitly distinguishes itself from the discovery and async-read siblings by routing to everyinfra_list_capabilities and everyinfra_get_job. The opening sentence partly echoes the title ("Call a data capability"), so it is clear but not maximally differentiated on its own terms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit prerequisite ("Check platform/action, required params and max_limit or page_size with everyinfra_list_capabilities first") and an explicit alternative path ("for slow tasks or large limits pass mode=async ... read the result with everyinfra_get_job"). The sync-vs-async condition is stated outright, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everyinfra_chatGenerate or analyze textADestructiveInspect
EveryInfra's OpenAI-compatible text completions with multi-turn history and any input content or format. Free for accounts that have topped up (nothing is deducted); accounts that have not get ai_topup_required. Rate-limited per account by cumulative top-ups (under $100: 50 requests/minute, $100 or more: 500, $500 or more: 5,000, all keys combined); current models: GET /api/v1/models. Good for cleaning collected data: summaries, translation, sentiment labels, topic classification and structured extraction. messages may total up to 45,000 characters; beyond that you get input_too_large — split long documents into several calls.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Optional, default gemini-3.6-flash. Allowed: gemini-3.6-flash / gemini-flash-lite | |
| messages | Yes | OpenAI-format conversation, e.g. [{"role":"user","content":"Hello"}] (role is system / user / assistant). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations only covering safety hints, the description carries the operational burden well: exact billing behavior (free for topped-up accounts, nothing deducted), tiered rate limits by cumulative top-up, the ai_topup_required error, and the 45,000-character ceiling with a recovery instruction. This is precisely the beyond-annotation context an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core capability, then limits, billing, and use cases in single-sentence units. Dense but nearly every clause carries operational information — no filler, though the pricing parenthetical is slightly heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description covers errors, limits, rate limits, cost, and use cases. The only real gap is an explicit statement of the return shape, though 'OpenAI-compatible' implies the response envelope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; the description adds the message-length constraint (45,000 characters total) and points to GET /api/v1/models for valid model names, which is meaning beyond the schema's inline enum text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the specific capability — OpenAI-compatible text completions with multi-turn history — and enumerates concrete jobs (summaries, translation, sentiment labels, topic classification, structured extraction). No sibling in the list does text generation, so the resource boundary is unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives positive usage context ('Good for cleaning collected data: summaries, translation, sentiment labels...') and failure-driven guidance ('split long documents into several calls' on input_too_large). It does not name an alternative tool or state when NOT to use it, which keeps it short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everyinfra_create_ticketContact human supportAInspect
Open a ticket with EveryInfra's human support team and get back the ticket number and a link the account owner can open. Use it when calls keep failing or return wrong or missing data, for top-up, charge or refund questions, or to ask for a new platform, capability or field. Put one line in subject; in description say what you called (platform/action or endpoint), when (UTC), the error code and message and what you expected, and pass that call's request_id (and job_id for an async job); write other IDs with a label such as job_id: job_..., because a bare long ID reads as a secret. Never include API keys or passwords. Ask the user first and open it only if they agree. Errors whose fault is request or account need a fixed request or the user, not a ticket; an error's support field carries a ready draft. Any key on the account works and nothing is charged. Retrying the same request returns the same ticket, and the same capability and error code within 24 hours goes into that ticket. Human support is online 24/7, with a first reply within 10 minutes on average. Replies arrive in the ticket and the account owner also gets an email. Check progress and read support's replies with everyinfra_get_ticket (REST: GET /api/v1/support/tickets/{ticket_id}) using the same key, or at the returned link.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | No | The job_id of the async job this ticket is about | |
| subject | Yes | One line, e.g. "douyin/comments returns 503 since 10:20 UTC" | |
| category | No | Optional: incident (looks like an outage), integration (a call returns an error; parameters, auth, SDK or MCP setup), product (questions about data, platforms and fields, or asking for new ones), billing (top-ups, charges, refunds), order (resources such as proxies or numbers), general | |
| request_id | No | The request_id (X-Request-Id) of the call this ticket is about | |
| description | Yes | What you called, when (UTC), the error code and message, what you expected; no API keys or passwords | |
| contact_email | No | Optional extra address for support to reach you; reply emails still go to the account's verified email | |
| idempotency_key | No | Optional; keep it when retrying. Without it, the same subject and description sent again within 24 hours return the same ticket |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Well beyond the annotations, it discloses that any account key works, nothing is charged, retries are idempotent, and the same capability plus error code within 24 hours merges into the existing ticket. It also covers the secret-hygiene constraint (never include API keys or passwords; label IDs so a bare long ID isn't read as a secret) and the response channel and latency (24/7, first reply ~10 minutes, replies in-ticket plus owner email).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and consent are front-loaded and almost every sentence carries operational information. It is a single very dense block, though, and details like the REST path duplicate what the schema and sibling tool cover — close to overloaded, but not padded with filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter mutation tool with no output schema, the description supplies everything an agent needs: what it returns, when not to use it, consent requirements, retry/merge semantics, and where to follow up. Nothing material is left to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description mostly restates what the schema already documents (subject is one line, description carries what/when/error/expected). It adds only marginal value, such as advising that other IDs be written with a label so a bare long ID isn't mistaken for a secret. Idempotency and category behavior are already covered by the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'Open a ticket with EveryInfra's human support team' — and names the return value (ticket number plus a link the account owner can open). It is clearly distinguishable from siblings such as everyinfra_get_ticket (progress/replies) and everyinfra_call_api (the failing call itself).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit triggers (calls keep failing or return wrong/missing data, top-up/charge/refund, requesting a new platform, capability or field) and an explicit exclusion (errors whose fault is the request or account need a fix or the user, not a ticket), plus a pointer to the error's support field for a ready draft. It also states the consent prerequisite (ask the user first) and names everyinfra_get_ticket as the follow-up path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everyinfra_get_accountCheck account balance and limitsARead-onlyInspect
Read the account behind this API key. Free, read-only, any key works. Returns:
balance: total_usd, paid_usd, bonus_usd and bonus_expiring (amount_usd, expires_at)
discount: this month's top-ups (month_topup_usd), the rate in effect and next (rate, threshold_usd, gap_usd = how much more to top up this month for it)
rate_limit: requests_per_minute for all keys combined, key_requests_per_minute, and any rate package with its expires_at
key: this key's id, name, prefix, created_at and expires_at
usage_24h: calls, succeeded, failed and spent_usd in the last 24 hours (this_key: the same for this key) Check the balance before a batch of paid calls; every paid call's billing also carries balance_after_usd.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely new behavioral facts: the call is free, any key works regardless of scope, and the rate_limit figures are aggregate-across-keys versus per-key. With no output schema, the enumerated return fields carry real weight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the one-line purpose and cost/safety claim before the return inventory, which is the right order. The structured bullet list is efficient, though the discount line packs nested parenthetical definitions (rate, threshold_usd, gap_usd) that read more densely than the rest.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description fully compensates by naming every returned field group and its sub-fields, including nested structures like bonus_expiring and per-key vs aggregate usage. An agent knows exactly what it will receive without a trial call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4 and no semantic burden exists. The description correctly avoids inventing inputs and instead concentrates on outputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Read the account behind this API key', and immediately scopes it ('Free, read-only, any key works'). The bulleted return inventory further separates it from siblings like everyinfra_call_api or everyinfra_get_job, which are action/result oriented rather than account-state oriented.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Check the balance before a batch of paid calls' gives a concrete trigger for invocation, and 'every paid call's billing also carries balance_after_usd' explains the relationship to paid usage. It stops short of naming explicit alternatives or when-not-to-use conditions, so it lands at 4 rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everyinfra_get_jobGet an async jobARead-onlyInspect
Read a job submitted with everyinfra_call_api(mode=async). Free; it does not count against the per-minute limit. While status is submitting / running / finalizing, check again later; succeeded: the rows are in results (paged actions also return next_page_token); failed: see error.reason and error.charged; submit_unknown: the submission is still being confirmed — do not resubmit, follow next_action. Only jobs submitted with the same API key are visible.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The job_id returned by an async everyinfra_call_api |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint/destructiveHint annotations by disclosing that the call is free and exempt from the per-minute limit, that only same-API-key jobs are visible, and what each terminal/non-terminal status means. It also warns explicitly not to resubmit on submit_unknown and tells the agent to follow next_action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads what the tool does and its cost profile, then packs status-specific guidance into a compact semicolon-separated paragraph. Every clause is actionable and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the full return-shape burden and does so: results rows, next_page_token for paged actions, error.reason, error.charged, and next_action. An agent has enough to call the tool and interpret all meaningful responses.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single job_id parameter has 100% schema description coverage, and the description adds only the provenance context that it comes from everyinfra_call_api(mode=async). With the schema already documenting the parameter, the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Read) and resource (a job), and ties it directly to the originating tool by naming everyinfra_call_api(mode=async). This clearly distinguishes it from siblings like everyinfra_call_api, everyinfra_requests, or everyinfra_usage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to call based on job status: retry later for submitting/running/finalizing, stop for succeeded, inspect error.reason/charged for failed, and do not resubmit for submit_unknown. This turns the tool into a complete polling protocol rather than leaving the agent to infer behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everyinfra_get_ticketCheck a support ticketARead-onlyInspect
Read one support ticket: its status, what happens next, and its latest 100 messages, including support's replies. Use it after everyinfra_create_ticket to check progress, or when the user asks whether support has answered. Pass ticket_id as a plain integer (the number shown as #N, without the #). The key that opened a ticket can always read it; reading the account's other tickets (opened in the console or with other keys) needs the account read permission "support:read" on this key. Any other number returns ticket_not_found. Free; the same result as GET /api/v1/support/tickets/{ticket_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| ticket_id | Yes | The ticket_id everyinfra_create_ticket returned (#N in the console and emails) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already say readOnly and non-destructive, but the description adds consequential detail the annotations cannot: a 100-message cap, a permission model that differs between self-opened and account tickets, deterministic "ticket_not_found" for wrong numbers, and no cost. It also names the equivalent REST endpoint, giving a precise mental model of the operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with what is returned and when to call it; the parameter format, permissions, and error behavior follow in logical order. Nearly every clause earns its place, though the "Free; the same result as GET..." tail is optional garnish.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing returns and does so concretely (status, next steps, latest 100 messages). For a single-parameter read tool, nothing an agent needs in order to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents ticket_id as "#N in the console and emails." The description still adds value by clarifying it must be a plain integer without the # and by stating the failure mode for any other number. That is genuine added meaning, though it partly restates the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Read one support ticket") and immediately enumerates the payload: status, what happens next, and the latest 100 messages including support replies. An agent can distinguish it from everyinfra_create_ticket and everyinfra_list_requests without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit triggers: "Use it after everyinfra_create_ticket to check progress, or when the user asks whether support has answered." It also defines the access boundary — the key that opened the ticket can read it, others need "support:read" — which tells the agent when this call will fail versus succeed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everyinfra_get_topup_linkTop-up linkARead-onlyInspect
Returns the console top-up page link (url) and the current balance (balance_usd). Use it when a call fails with quota_exhausted or ai_topup_required, or when the user asks how to add funds. The account owner pays in the console; this tool creates no order and charges nothing. Any key can use it; accounts whose service provider handles top-ups get topup_unavailable. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/non-destructive annotations it states there are no side effects ('creates no order and charges nothing'), the cost profile ('Free'), and the auth scope ('Any key can use it'), plus a known failure mode. It also names the two returned fields, which matters since no output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five short sentences, front-loaded with what is returned and followed by when to call it and what it costs. Every sentence carries either a return detail, a trigger, or a constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place to learn the return fields and failure modes, and it covers both. An agent has everything needed to call it and interpret the response correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no argument semantics to explain and the description does not need to compensate for anything. It spends the space on return values instead, which is the only useful detail available.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It gives a precise verb plus resource and even names the exact values returned ('url', 'balance_usd'), so there is no ambiguity about what the tool does. It implicitly separates itself from purchasing tools by stating it creates no order, though it never names a specific sibling such as everyinfra_create_ticket for billing escalation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It lists concrete trigger conditions (a call failing with quota_exhausted or ai_topup_required, or the user asking how to add funds) and a negative case (accounts whose service provider handles top-ups return topup_unavailable). This is explicit when-to-use guidance, not inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everyinfra_list_capabilitiesList data capabilitiesARead-onlyInspect
List EveryInfra's data platforms and capabilities (106 platforms / 573 capabilities: search, detail, comments, profiles and more). Use it before everyinfra_call_api to get the platform/action, required and optional params, the per-call row limit (max_limit, or page_size for page-based actions) and the price. Pass a platform to also get allowed values, returned fields and what they mean. Free. Data collection only — for AI chat use everyinfra_chat.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | No | Optional; only this platform's capabilities, e.g. xiaohongshu / twitter / tiktok |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only/non-destructive/non-open-world, and the description adds useful context beyond them: it is free, it is data-collection only, and it returns platform/action, required and optional params, row limits (max_limit vs page_size), price, allowed values, and field meanings. There is no output schema, so this return-content disclosure carries real weight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and dense with useful information; every clause is relevant. It is slightly cramped, with a long parenthetical and a multi-clause second sentence that could be broken up, but there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-param discovery tool with no output schema, it covers what is returned, when to call it, cost, parameter effects, and how it differs from everyinfra_call_api and everyinfra_chat. Nothing material for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and already documents the optional platform param with examples. The description still adds value by explaining the effect of supplying it (you additionally get allowed values, returned fields, and their meanings), which goes beyond the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List EveryInfra's data platforms and capabilities') and quantifies scope (106 platforms / 573 capabilities). It explicitly separates itself from both key siblings: it must be called before everyinfra_call_api and is not for chat (everyinfra_chat).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit sequencing rule ('Use it before everyinfra_call_api') and an explicit exclusion ('for AI chat use everyinfra_chat'). The conditional use of the platform param ('Pass a platform to also get allowed values...') is also spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everyinfra_list_captcha_typesList CAPTCHA typesARead-onlyInspect
List the 52 CAPTCHA and bot-challenge types EveryInfra solves. Call it before everyinfra_solve_captcha to get three things: the type name, the required/optional params, and the shape of the solution (token / cookie / text / number / fields / points / boxes / tokens / indices — a string to submit, coordinates to click yourself, or grid cells to click: each is used differently). Free.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Optional; only this type, e.g. turnstile / recaptcha_v2 / cloudflare_challenge |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds real context beyond that: the result is described structurally (name/params/solution shape) and the cost note "Free" is a useful behavioral signal. It does not cover pagination or rate limits, so it lands at 4 rather than 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The leads are front-loaded (what it lists, when to call it) and the sentence earns its place, but the long parenthetical enumerating solution shapes (token / cookie / text / number / fields / points...) is dense and slightly list-heavy for a description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the burden of describing return values, and it does: the three things returned and the taxonomy of solution shapes are spelled out. Nothing an agent needs to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single optional filter that the schema itself documents with examples (turnstile / recaptcha_v2 / cloudflare_challenge). The description adds no syntax or format detail for the param, so the baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("List the 52 CAPTCHA and bot-challenge types EveryInfra solves"), and explicitly distinguishes itself from the sibling everyinfra_solve_captcha by naming it as the downstream consumer. An agent can tell exactly what this returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit sequencing guidance: "Call it before everyinfra_solve_captcha" and explains the payoff (type name, params, and solution shape). This names the alternative tool and the condition that selects it, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everyinfra_list_requestsCalls and refundsARead-onlyInspect
The account's call records, newest first: request_id, capability, status code, latency, rows returned, whether it was charged, and the amount. Pass request_id (the request_id / X-Request-Id of any call) to look up one call, including its charge's final state (charged, refunded or partly refunded) and any async job it started. failed_only=true lists failures only. Needs the account read permission "requests:read" on this key: keys not limited to product lines have the three read permissions by default; for a key limited to product lines, the account owner turns it on in the console (API Keys → permissions). Free.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Rows, default 20 | |
| offset | No | Rows to skip, default 0 | |
| request_id | No | Look up one call; the other params are ignored when given | |
| failed_only | No | List failed calls only, default false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/destructive=false, so the bar is lower; the description still adds real value by disclosing the required 'requests:read' permission, how default vs product-line-limited keys differ, and that lookups include the charge's final state and any async job. It stops short of describing pagination behavior beyond what the schema shows.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads purpose and the two modes before the permission note; every sentence carries information. The permission explanation is somewhat long but is actionable for an agent that might otherwise hit an auth failure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description enumerates the returned fields, both lookup modes, the charge-state semantics, and the auth prerequisite, leaving nothing an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning: it clarifies that request_id is the X-Request-Id of any call and that the other params are ignored when it's given, plus what failed_only filters. This genuinely enriches the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('the account's call records, newest first') and enumerates the returned fields, so an agent knows exactly what this yields versus sibling tools like everyinfra_call_api or everyinfra_list_capabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly explains the two modes: passing request_id selects a single-call lookup, and failed_only=true restricts to failures. It gives clear context for each path but does not explicitly name a competing sibling or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everyinfra_searchSearch and retrieve sourcesADestructiveInspect
Search and retrieve sources. 17 tools, chosen with tool:
crawl: Crawl several pages of a site and return their text; say in plain language which pages you want.
crosscheck: Run one question through several retrieval chains with different mechanisms, rank sources by how many mechanisms found them, and fetch the original text of the top tier. It answers how far a claim can be trusted, not just what was found.
deep: Deep search with text excerpts; full=true also returns the full text.
forum: Real people's discussions — an evidence source independent of official docs (when docs say 'supported' and forums describe where it breaks, trust the specific scenario).
harvest: Structured site extraction (long-running: tens of seconds to minutes); use it only when crawl cannot get the data.
lens: Reverse image search: give an image URL, find pages that use it (the opposite direction of media).
map: List a site's page structure — URLs only, no text, fast.
media: Find images and videos by keyword.
news: News search.
places: Places and businesses search.
read: Fetch the text of a given URL; it retries other fetch paths automatically when one fails.
scholar: Academic literature search; kind=patents switches to patents (publication number, applicant, inventor, filing and publication dates).
semantic: Semantic search: describe what you want in one sentence instead of stacking keywords; it finds deep sources whose titles do not contain your words. mode=deep searches deeper (slower, costs more).
shopping: Product search and price comparison.
similar: Give a URL, find semantically similar pages — something keyword search cannot do.
suggest: Search suggestions (autocomplete).
web: General web search with site restriction, region, time window and paging.
⚠ To assert a specific fact (a version, a price, whether an API exists), use crosscheck: it returns verifiable sources and their agreement tier. Failed or empty searches leave no final charge (anything reserved is restored).
| Name | Required | Description | Default |
|---|---|---|---|
| tool | Yes | Retrieval tool | |
| params | No | The tool's params, e.g. {"q":"EU AI Act","num":10} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=true, and the description adds real context beyond them: searches are billed ('failed or empty searches leave no final charge, anything reserved is restored'), harvest is long-running ('tens of seconds to minutes'), semantic mode=deep is slower and costs more, and read auto-retries other fetch paths. It does not explain why the tool is flagged destructive/readOnly=false beyond the reservation/refund note, so a small gap remains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core sentence before the dispatch list, and each indented line carries one sub-tool with only the discriminating detail. Despite its length the text is dense with necessary routing information for 17 sub-tools, and the trailing warning is placed where it is read last but remembered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema the description needn't explain returns, and it does cover routing, cost/latency caveats and safety implications. The one real gap is that `params` is an untyped nested object, so the agent has no authoritative schema for each sub-tool's arguments and must infer them from inline hints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the `tool` enum and `params` object are nominally documented, but `params` is a free-form object ('The tool's params') with no per-sub-tool schema. The description compensates by naming concrete params inline (full, kind=patents, mode=deep, q/num in the example, and web's site/region/time-window/paging), adding meaning the schema lacks — though coverage of all 17 sub-tool param sets is incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names the specific verb+resource (search and retrieve sources) and immediately discloses the dispatch mechanism ('17 tools, chosen with `tool`'), then enumerates every one with a distinct one-line purpose. An agent can distinguish crawl vs map vs harvest vs read without opening any other schema, and the tool is clearly separated from the account/billing/key siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Nearly every sub-tool line carries an explicit use/don't-use rule: 'use it only when crawl cannot get the data' (harvest), 'the opposite direction of media' (lens), 'something keyword search cannot do' (similar), 'use crosscheck to assert a specific fact'. The final warning line names the alternative tool for a concrete condition, which is exactly the when-to-use guidance an agent needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everyinfra_solve_captchaSolve a CAPTCHAADestructiveInspect
Solve a CAPTCHA or bot challenge and get a ready-to-use solution. USD 0.000139/call–0.004583/call, charged per successful solve (castle: per token, × count); failed or empty attempts leave no final charge (anything reserved is restored). Use it when a target site is blocked by Turnstile / reCAPTCHA / hCaptcha / a Cloudflare challenge page / GeeTest and the like. Params differ per type — check them with everyinfra_list_captcha_types first.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | CAPTCHA type, e.g. turnstile / recaptcha_v2 / image | |
| params | No | Params for that type, e.g. {"website_url":"https://…","website_key":"0x…"}. ⚠ A few types need your own proxy: they deliver a cookie bound to the IP the challenge was solved from, so a solution from our exit IP would not work for you |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the annotations: a cost range, billing semantics ('charged per successful solve', per-token for castle, no final charge on failure with reservation restored), and a proxy/IP-binding caveat for certain types. It stops short of describing latency, polling, or what the returned solution looks like, so it is not fully complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, then pricing, then usage conditions and prerequisite. The pricing range is a bit dense but each clause carries operational information; no filler sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers cost model, failure billing, per-type param discovery, and the proxy caveat for a tool with nested params and no output schema. Only gap is that it does not hint at whether solving is synchronous or job-based (a sibling everyinfra_get_job exists), which an agent might need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (baseline 3), and the description goes further by warning that params vary per type and pointing to everyinfra_list_captcha_types. The IP-bound proxy caveat in the schema is reinforced, adding real meaning beyond field names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Solve a CAPTCHA or bot challenge and get a ready-to-use solution') and enumerates the challenge families (Turnstile / reCAPTCHA / hCaptcha / Cloudflare / GeeTest). This clearly separates it from administrative siblings like everyinfra_account or everyinfra_usage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger condition ('Use it when a target site is blocked by ...') and a prerequisite/alternative action: check per-type params with everyinfra_list_captcha_types first. Both when-to-use and the routing to a sibling are spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
19 tool updates
- Removed
everyinfra_account - Removed
everyinfra_billing - Added
everyinfra_get_account - Added
everyinfra_get_topup_link - Removed
everyinfra_key_create - Removed
everyinfra_key_delete - Removed
everyinfra_key_disable - Removed
everyinfra_key_update - Removed
everyinfra_keys - Added
everyinfra_list_requests - Removed
everyinfra_requests - Removed
everyinfra_settings_update - Removed
everyinfra_ticket_create - Removed
everyinfra_ticket_reply - Removed
everyinfra_tickets - Removed
everyinfra_topup_link - Removed
everyinfra_usage - Removed
everyinfra_webhook_set - Removed
everyinfra_webhook_test
5 tool updates
- Changed
everyinfra_key_create5 fields changed- added
Input schema / properties / account_scopes / descriptionAdded value: +"Account read scopes for the new key; only ones this key has" - changed
Input schema / properties / expires_at / descriptionPrevious value: -"ISO 8601 date-time"New value: +"ISO 8601 date-time, e.g. 2026-12-31T23:59:59Z; omit to copy this key's expiry, and never later than it" - added
Input schema / properties / ip_allow / descriptionAdded value: +"Source IPs or CIDR ranges, IPv4 or IPv6, up to 20. If this key has an IP limit, omit to copy it, or list only addresses from it" - added
Input schema / properties / name / descriptionAdded value: +"Up to 60 characters; default \"AI key\"" - added
Input schema / properties / note / descriptionAdded value: +"Up to 500 characters, for your own records"
- Changed
everyinfra_key_delete2 fields changed- added
Input schema / properties / confirm / descriptionAdded value: +"Must be true; the key cannot be restored" - added
Input schema / properties / key_id / descriptionAdded value: +"From everyinfra_keys"
- Changed
everyinfra_key_update2 fields changed- added
Input schema / properties / name / descriptionAdded value: +"1-60 characters" - added
Input schema / properties / note / descriptionAdded value: +"Up to 500 characters; \"\" clears it"
- Changed
everyinfra_ticket_create3 fields changed- changed
Input schema / properties / idempotency_key / descriptionPrevious value: -"8-128 characters; keep it when retrying"New value: +"Optional, 8-128 letters, digits or _.:@-; keep it when retrying" - added
Input schema / properties / message / descriptionAdded value: +"Plain text, 1-4000 characters; include request_id values when relevant" - added
Input schema / properties / title / descriptionAdded value: +"1-160 characters"
- Changed
everyinfra_webhook_set3 fields changed- added
Input schema / properties / balance_threshold_usd / descriptionAdded value: +"USD; required with balance.low, which fires once each time the balance drops below it" - added
Input schema / properties / events / descriptionAdded value: +"One or both events; replaces the current list" - added
Input schema / properties / url / descriptionAdded value: +"Public HTTPS URL, under 2000 characters, no #fragment"
3 tool updates
- Changed
everyinfra_billing2 fields changed- changed
Input schema / properties / days / descriptionPrevious value: -"Number of days, default 30"New value: +"Look-back window in days, 1-90, default 30. Use 7 for the last week" - changed
Input schema / properties / ledger_limit / descriptionPrevious value: -"Wallet entries, default 10"New value: +"How many of the latest wallet entries to include, 1-20, default 10"
- Changed
everyinfra_settings_update10 fields changed- added
Input schema / properties / billing_notifications / descriptionAdded value: +"Spend-threshold and rate-package emails, default on" - added
Input schema / properties / language / descriptionAdded value: +"Console and email language, default zh-CN" - added
Input schema / properties / low_balance_notifications / descriptionAdded value: +"Email at each fixed low-balance tier, default on" - added
Input schema / properties / marketing_emails / descriptionAdded value: +"Offers and promotions, default off" - added
Input schema / properties / partner_notifications / descriptionAdded value: +"Referral partner emails (welcome, first click, sign-up, commission, payout), default on" - added
Input schema / properties / product_updates / descriptionAdded value: +"New platforms and features, default off" - added
Input schema / properties / security_notifications / descriptionAdded value: +"First use of a key and sign-in from a new country, default on; can only be set true here" - added
Input schema / properties / service_notices / descriptionAdded value: +"Notice when an API you called had a problem and is fixed, default on" - changed
Input schema / properties / timezone / descriptionPrevious value: -"IANA name, e.g. Asia/Singapore"New value: +"IANA name, e.g. Asia/Singapore, default Asia/Shanghai" - added
Input schema / properties / weekly_usage_digest / descriptionAdded value: +"Weekly calls and spend summary, default off"
- Changed
everyinfra_ticket_reply3 fields changed- changed
Input schema / properties / idempotency_key / descriptionPrevious value: -"8-128 characters; keep it when retrying"New value: +"Optional, 8-128 letters, digits or _.:@-; keep it when retrying" - added
Input schema / properties / message / descriptionAdded value: +"Plain text, 1-4000 characters; include request_id values when relevant" - added
Input schema / properties / ticket_id / descriptionAdded value: +"Ticket number from everyinfra_tickets or everyinfra_ticket_create"
1 tool update
- Changed
everyinfra_settings_update1 field changed- added
Input schema / properties / partner_notificationsAdded value: +{ + "type": "boolean" +}
1 tool update
- Changed
everyinfra_settings_update1 field changed- added
Input schema / properties / service_noticesAdded value: +{ + "type": "boolean" +}
1 tool update
- Changed
everyinfra_settings_update1 field changed- removed
Input schema / properties / low_balance_threshold_usdRemoved value: -{ - "minimum": 0, - "type": "number" -}
3 tool updates
- Added
everyinfra_create_ticket - Added
everyinfra_get_ticket - Changed
everyinfra_ticket_create1 field changed- changed
Input schema / properties / title / maxLengthPrevious value: -200New value: +160
20 tool updates
- Changed
everyinfra_billing2 fields changed- changed
Input schema / properties / days / descriptionPrevious value: -"天数,默认 30"New value: +"Number of days, default 30" - changed
Input schema / properties / ledger_limit / descriptionPrevious value: -"流水条数,默认 10"New value: +"Wallet entries, default 10"
- Changed
everyinfra_call_api4 fields changed- changed
Input schema / properties / action / descriptionPrevious value: -"如 search / profile / user_posts / post"New value: +"e.g. search / profile / user_posts / post" - changed
Input schema / properties / mode / descriptionPrevious value: -"sync(默认)等待结果;async 立即返回 job_id,慢任务/大 limit 用,再用 everyinfra_get_job 取结果"New value: +"sync (default) waits for the result; async returns a job_id at once for slow tasks or large limits — read it with everyinfra_get_job" - changed
Input schema / properties / params / descriptionPrevious value: -"该能力的参数,如 {\"keyword\":\"AI tools\",\"limit\":20}"New value: +"The capability's params, e.g. {\"keyword\":\"AI tools\",\"limit\":20}" - changed
Input schema / properties / platform / descriptionPrevious value: -"如 xiaohongshu / twitter / tiktok / web"New value: +"e.g. xiaohongshu / twitter / tiktok / web"
- Changed
everyinfra_chat2 fields changed- changed
Input schema / properties / messages / descriptionPrevious value: -"OpenAI 格式的对话历史,如 [{\"role\":\"user\",\"content\":\"你好\"}](role 为 system/user/assistant)。"New value: +"OpenAI-format conversation, e.g. [{\"role\":\"user\",\"content\":\"Hello\"}] (role is system / user / assistant)." - changed
Input schema / properties / model / descriptionPrevious value: -"可选,默认 gemini-3.6-flash。可选值:gemini-3.6-flash / gemini-flash-lite"New value: +"Optional, default gemini-3.6-flash. Allowed: gemini-3.6-flash / gemini-flash-lite"
- Changed
everyinfra_get_job1 field changed- changed
Input schema / properties / job_id / descriptionPrevious value: -"everyinfra_call_api 异步提交返回的 job_id"New value: +"The job_id returned by an async everyinfra_call_api"
- Added
everyinfra_key_create - Added
everyinfra_key_delete - Added
everyinfra_key_disable - Added
everyinfra_key_update - Changed
everyinfra_list_capabilities1 field changed- changed
Input schema / properties / platform / descriptionPrevious value: -"可选,只看这一个平台的能力,如 xiaohongshu / twitter / tiktok"New value: +"Optional; only this platform's capabilities, e.g. xiaohongshu / twitter / tiktok"
- Changed
everyinfra_list_captcha_types1 field changed- changed
Input schema / properties / type / descriptionPrevious value: -"可选,只看这一种,如 turnstile / recaptcha_v2 / cloudflare_challenge"New value: +"Optional; only this type, e.g. turnstile / recaptcha_v2 / cloudflare_challenge"
- Changed
everyinfra_requests4 fields changed- changed
Input schema / properties / failed_only / descriptionPrevious value: -"只列失败的调用,默认 false"New value: +"List failed calls only, default false" - changed
Input schema / properties / limit / descriptionPrevious value: -"条数,默认 20"New value: +"Rows, default 20" - changed
Input schema / properties / offset / descriptionPrevious value: -"跳过条数,默认 0"New value: +"Rows to skip, default 0" - changed
Input schema / properties / request_id / descriptionPrevious value: -"查单次调用;给了它其余参数忽略"New value: +"Look up one call; the other params are ignored when given"
- Changed
everyinfra_search2 fields changed- changed
Input schema / properties / params / descriptionPrevious value: -"该工具的参数,如 {\"q\":\"EU AI Act\",\"num\":10}"New value: +"The tool's params, e.g. {\"q\":\"EU AI Act\",\"num\":10}" - changed
Input schema / properties / tool / descriptionPrevious value: -"检索工具"New value: +"Retrieval tool"
- Added
everyinfra_settings_update - Changed
everyinfra_solve_captcha2 fields changed- changed
Input schema / properties / params / descriptionPrevious value: -"该类型的参数,如 {\"website_url\":\"https://…\",\"website_key\":\"0x…\"}。⚠ 有几类要你自带代理(proxy):它们交付的是 Cookie 而 Cookie 绑定求解时的出口 IP —— 用我们的出口解出来,你拿去用是无效的"New value: +"Params for that type, e.g. {\"website_url\":\"https://…\",\"website_key\":\"0x…\"}. ⚠ A few types need your own proxy: they deliver a cookie bound to the IP the challenge was solved from, so a solution from our exit IP would not work for you" - changed
Input schema / properties / type / descriptionPrevious value: -"验证码类型,如 turnstile / recaptcha_v2 / image"New value: +"CAPTCHA type, e.g. turnstile / recaptcha_v2 / image"
- Added
everyinfra_ticket_create - Added
everyinfra_ticket_reply - Changed
everyinfra_tickets2 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"列表条数,默认 10"New value: +"Tickets to list, default 10" - changed
Input schema / properties / ticket_id / descriptionPrevious value: -"工单号;不传则列表"New value: +"Ticket number; omit it for the list"
- Changed
everyinfra_usage1 field changed- changed
Input schema / properties / days / descriptionPrevious value: -"天数,默认 7"New value: +"Number of days, default 7"
- Added
everyinfra_webhook_set - Added
everyinfra_webhook_test
Publisher details
- Operator
- EveryInfra · Publisher source
- Operator website
- https://everyinfra.com/en
- Vendor relationship
- First-party
- Documentation
- https://everyinfra.com/en/docs
- Trust center
- Not available
- Restrictions
- Requires an EveryInfra API key. Pay per call from a prepaid USD balance; failed or empty calls are not charged.
Related MCP Connectors
Public data from TikTok, Instagram, YouTube, X, Facebook and 28 more platforms. Pay per call.
Social media data for AI agents: one MCP address, 18 platforms. Pay per call; failed calls are free.
Real-time short-form video, creator profiles, comments, trends & ad data MCP. OAuth or API key.
Real-time TikTok videos, profiles, comments, trends & Creative Center ads MCP. OAuth or API key.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceOne remote MCP endpoint giving agents live data from Twitter/X, Reddit, web, GitHub, Amazon, and YouTube, no API keys needed, pay per call.4MIT
- AlicenseAqualityAmaintenanceEnables AI agents to query public social media data across TikTok, Instagram, YouTube, X, Douyin and Xiaohongshu through ten unified business-level tools covering creator and post search, comments, trending topics, and comment insights. Ships one normalized schema over MCP, SSE, REST and stdio, with per-call pricing and cost/balance reported in every response.10MIT

Monocrawl MCPofficial
AlicenseNot gradedqualityCmaintenanceEnables AI agents to retrieve live public data from 70+ platforms — profiles, posts, comments, transcripts, products, prices, reviews, listings, jobs, ads and search results — plus website crawls and live browser sessions through 650+ endpoints in one response format. Includes free cost previews, per-call credit caps, safe retries, refunded failures and scheduled monitoring.21 npm11MIT- AlicenseNot gradedqualityCmaintenanceAgent-first video-data API + MCP across 6 platforms (YouTube/Shorts, TikTok, Reddit, Instagram, Pinterest): metadata, insights, Whisper transcript, and parametric frames. Pay-per-call via x402 (USDC) or Stripe.15 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.