Choose your assistant
Connect with Streamable HTTP athttps://mcp.evolink.ai/mcp. Authorize through the client’s own entry point, not a documentation URL.
Claude
Add a remote connector and authorize in the browser.
Codex
Register the remote server and complete MCP OAuth.
Claude Code
Add HTTP MCP and authenticate with /mcp.
ChatGPT
Add a custom MCP connection, sign in, and enable tools.
Cursor
Configure the server URL and authorize in the client.
OpenClaw
Configure OAuth-capable Gateway versions.
Hermes
Merge MCP configuration, sign in, and reload tools.
Other MCP clients
Generic Streamable HTTP and OAuth setup.
Local MCP
Start stdio with npx and verify using a personal Key.
Quickstart: remote MCP
1
Add the server
Add a custom MCP/connector named EvoLink at https://mcp.evolink.ai/mcp. Follow the client guide above; a local MCP package is not required.
2
Sign in and authorize in the browser
Select OAuth, sign in to EvoLink, inspect the account and permissions, approve, and return. Enable the connection and tools. CLI sign-in does not replace host MCP authorization.
3
Verify actual tools for free
Send this and confirm actual balance and model results:Successful check_balance and search_models calls establish access; a tool list alone does not. This check creates no paid media task.
Your first generation
After connecting, describe your goal:- Image
- Video
- Audio
How it works
Remote MCP followsyour assistant → EvoLink MCP → platform API. The host manages OAuth sign-in; the remote service executes tools. Browser chat clients do not need Node.js or EvoLink CLI.
Local stdio follows your assistant → local MCP process → platform API. Install Node.js 18+ on the machine that runs the assistant, let the host launch the process, and provide a platform API Key. See other MCP clients for configuration.
Both modes expose the main model, estimate, generation, and task tools. Remote MCP additionally exposes prepare_upload and get_upload. Optional skills and plugins provide operating instructions; they do not replace server registration, account authorization, or host tool permissions.
These tools do not provide code development, local video editing, or website building. An agent host may have those capabilities of its own; attribute them to the host when describing EvoLink.
Step 1: select a model and validate its inputs
Usesearch_models or recommend_models for current candidates, then get_model for exact IDs, supported capabilities, required fields, and limits. Use search_docs for additional guidance. A family name is not necessarily a valid submission ID.
See models, costs, and quotas for selection order, newer families to compare, and pricing rules. Check the current account catalog and inputs; example models are not default recommendations.
The following example uses z-image-turbo. Check parameters before using any model:
Step 2: prepare references
Skip uploads for text-only inputs. For reference images, video, or audio, first check supported types, counts, and size limits.- Accessible URL: call
upload_filewithfile_url. The server must be able to fetch the URL; a path on the user’s computer is not a public URL. - Small inline file: remote
upload_fileaccepts up to 1 MiB of base64 content and needs a matching MIME type. Keep large files out of tool messages. - Local file for remote MCP: call
prepare_upload, upload from an environment with file access and HTTP capabilities, then inspect the receipt withget_upload. The upload limit is 95 MiB, subject to model restrictions. Upload authorization is single-use and expires after about 15 minutes; status URLs last about one hour. - Local stdio:
upload_filesupports a localfile_path. This is an absolute path on the MCP process machine, not automatically on the chat user’s computer. File-service and model limits still apply.
upload_id when the outcome is unknown; do not immediately upload again. Receipt compatibility depends on file-service deployment. References usually last 72 hours; re-upload expired inputs and update the request.
Step 3: estimate, approve, and generate an image
Prepare final inputs before estimating. Show the model, image count, size, content, and estimated cost. An estimate is not a guarantee of final settlement. See costs for released pricing coverage and limitations.client_request_id is a stable 16–96 character request identifier; retries of the same submission must retain its identifier and inputs. The budget below only illustrates the parameter; set it from the user’s explicit budget:
max_cost_usd is a pre-submission check, not an enforced final charge cap. estimate_cost does not accept it. Host permission to call a tool does not by itself approve the purchase.
Video: check duration, resolution, sound, and references
Useget_model to find the exact text-to-video or image-to-video ID. Duration, resolution, sound options, and reference video can affect price; do not reuse an estimate from different inputs. Tasks within the same family may use different IDs.
Validate parameters → upload references → call estimate_cost with final inputs → show the plan and obtain explicit approval → call generate_video with those inputs → query the original task → deliver the original video.
When media_seconds is needed, use measured input duration. Pause when required measurements are unknown, pricing is incomplete, or a budget comparison cannot be completed. Do not repair a gray thumbnail by automatically editing or regenerating the finished video.
Audio: distinguish music from speech
Compare available Suno v6 models for music; use an appropriate speech model for narration or voiceover. Check model parameters, prepare text, language, voice, lyrics, duration, or reference audio, then estimate final inputs, get approval, and callgenerate_audio.
Incomplete audio pricing is not free usage. Deliver original audio URLs from the completed task, retain all returned outputs, and explain their actual format and how to save them.
Step 4: wait, query, and recover the original task
Generation may return a result or atask_id. Query that task instead of submitting generation again. get_task.wait_seconds waits within one call and accepts 0–45 seconds. A wait timeout ends that wait only.
list_tasks with task_ids for batch queries, or use its filters for history. If submission times out before returning an ID, preserve the original request ID, inputs, credentials, and error for recovery. Do not switch identities or identifiers and generate again to troubleshoot.
There is currently no usable public queue-cancellation tool. Stopping an agent’s wait, closing a page, or disconnecting MCP does not cancel the server task and does not establish that no charge occurred or that a refund completed.


