Skip to main content

MCP tool reference

This page describes the 15 tools in the 1.6.1 OAuth remote MCP release. The connected server’s tools/list is authoritative. Local stdio does not expose prepare_upload or get_upload; its upload_file also accepts paths within explicitly allowed directories. The name and arguments examples describe MCP tool calls, not REST request bodies. An example does not authorize a paid generation.

search_models

Returns models, total_matches, page, page_size, and next_page. Entries include canonical IDs, aliases, references, documentation coverage, and starting prices. Ordering considers keyword relevance first, then price availability, editorial preference, and ID. It is not a quality or popularity ranking. Starting prices are not task totals, and availability can change between pages.

recommend_models

Returns documented candidates with reasons, reference_inputs, selection_basis, and unit pricing. Required reference types must have documented input fields. If no model matches, adjust the request transparently rather than dropping a necessary reference. Editorial preferences are not live popularity or release-date statistics.

search_docs

Returns documents, total_matches, scope, and source version. It searches bundled official model titles, IDs, and parameter descriptions for available models. It does not crawl the live documentation site or search account and billing documentation.

get_model

Required model: a string of 1–128 characters, using a returned canonical ID or supported alias.
Returns the canonical model, requirements, examples, public pricing, reference_inputs, parameters_source, and, when available, input_schema with its source. Parameter references are versioned; account availability is queried live. Follow missing-information warnings rather than inventing defaults.

estimate_cost

Returns input_valid, problems, warnings, estimate, pricing_scope, final_budget_enforced, and balance/limits when available. The estimate status can be estimated, partial, token_billed, needs_input, or no_price; see billing. A successful query does not prove valid input or a complete quote. This tool has no max_cost_usd argument and does not produce the CLI’s local quote_id. MCP budget checks belong to generation tools. media_seconds does not set output duration or fill unknown reference-video multipliers.

generate_image, generate_video, generate_audio

Choose the tool matching the output type. They share these top-level arguments: Inspect the model and inputs, estimate the complete request, disclose limitations, and obtain explicit cost approval before calling. This is an illustrative call shape:
Image generation waits for up to approximately 40 seconds, returning results if ready or a task_id otherwise. Video and audio return a task_id after submission; continue with get_task. Submission can report a precharge, which must be distinguished from completed-task cost. Query a running task rather than calling generation again to check progress. If the response is lost, retain the original ID, account, inputs, and request identifier. A different identifier creates a new paid intent. Client recovery protections do not prove identical backend idempotency guarantees across all production nodes.

get_task

Returns status, progress, results, reported cost, or error. Continue querying the same ID while it runs. Task failure does not prove a refund; report unknown settlement when evidence is absent. Original results are generally retained for 24 hours. Preview rendering depends on the host client.

list_tasks

task_ids cannot be combined with status/type/model/page/since/until. Batch mode returns tasks and missing; history returns total/page/page_size/next_page. processing includes queued tasks. Time filters apply to the selected page; total is counted before time filtering. History is account-wide, not limited to this conversation. An empty page does not prove that submission never happened.

get_task_usage

Returns totals, by_model, by_status, coverage, and as_of. Inspect missing_cost_tasks, truncated, concurrent_change_detected, and complete_for_retained_tasks. It summarizes reported costs for retained completed account tasks. It is not a complete invoice, payment/refund ledger, MCP-only usage report, or settlement limit.

check_balance

No arguments:
Returns account_balance_credits/usd, spent_scope, spent_credits, and available total/daily limits with console links. OAuth Key spending includes the account’s CLI and all OAuth MCP sessions, rather than only this conversation.

upload_file

Replace the URL with actual accessible media. Returns file_url, file properties, and expiration information. References are generally retained for 72 hours. Remote MCP cannot accept file_path. Local stdio can instead use an absolute path in an allowed directory; choose exactly one source. Successful upload does not prove that the selected model supports the media.

prepare_upload

Required file_name: string with an extension used to determine media type. Optional upload_path: relative directory.
Returns upload_id, upload_url, method:PUT, command, max_bytes, and expires_at. The URL lasts approximately 15 minutes, is single-use, and accepts at most 95 MiB. Run the returned command where the file can actually be read, then use the confirmed file_url. A browser attachment may not be accessible this way. The address contains temporary authorization; do not publish it or append a personal Key.

get_upload

Required upload_id, from the original prepare result:
States include waiting/uploading/done/failed/expired/outcome_unknown. Use file_url only after a confirmed done result. Server-local state lasts about one hour; compatible file services can provide receipts for approximately 72 hours. Unsupported or unverifiable receipts can yield outcome_unknown. Querying does not upload the file again; retain the original ID and inspect status first.

Results and errors

Tools return readable text and structuredContent; failures can include isError/error/next_step. Completed media can include resource_link and an optional image thumbnail. Hosts differ in content-block support. The original URL remains the delivery reference; previews are not guaranteed in every host. Check tool errors and business fields such as input_valid, estimate status, and task.status. HTTP 200 alone does not establish generation success. Submission timeout may follow task creation and is not proof of no charge. A failed query is not proof that the original task failed.

Task progress and results

Use balance and model queries for free connection verification. Use get_task/list_tasks for existing tasks, then deliver original URLs and reported actual costs. The workflow guide covers references, recovery, saving, and gray previews. A display problem must not trigger another paid generation.

MCP protocol and backend APIs

The remote endpoint is https://mcp.evolink.ai/mcp. Passport provides OAuth; the server requests https://api.evolink.ai and the file service. MCP URLs, platform /v1 routes, documentation, and llms.txt are separate entry points.

Initialize and call tools

Let the host or MCP SDK handle initialize, protocol versions, Accept, authentication, sessions, and content blocks. Read tools/list after initialization, then call tools/call:
Examples using name / arguments describe tool input, not REST request bodies. Tools can return text, structured data, resource links, and thumbnails; display depends on the host. Check tool errors and task status, not just HTTP success.

Tools and backend operations

Model parameters belong in arguments.input and are converted to REST requests by the server. media_seconds is a billing hint; max_cost_usd only checks estimates before submission. Published 1.6.1 has no final settlement cap and does not automatically consume complete account quotes merely because new pricing APIs exist.

Uploads, recovery, and access

Use a prepare_upload PUT URL only in an environment that can read the file, then query get_upload. A remote server cannot read desktop paths, and chat attachments may not expose original bytes. See reference uploads. Save client_request_id, normalized inputs, account identity, and returned task_id for paid submissions. Query the original task and history when the outcome is unknown; do not change identifiers to resubmit. Client identifiers alone cannot guarantee uniform backend protection against every duplicate charge. OAuth exposes limited media operations, not arbitrary Key management or administrative APIs. No usable cancellation tool is currently provided; stopping a wait does not cancel the task. CLI commands and execution are documented separately in the CLI reference.

CLI command documentation

The complete CLI reference is now in the separate CLI section. This page documents MCP tools and protocol.