dare-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port for HTTP transport. | |
| DARE_SERVER_URL | No | Dare RPC base. | https://api.trydare.com |
| DARE_SESSION_ID | No | Pin a specific sess_... id instead of auto-detecting. | |
| DARE_CLIENT_TOKEN | Yes | Required. The __client cookie from clerk.trydare.com. | |
| DARE_UPLOAD_ROOTS | No | Comma-separated directories dare_upload_media may read local files from. Empty means local file reads are refused. | |
| DARE_ALLOWED_HOSTS | No | Allowed hosts for DNS rebinding protection when deploying behind a domain. | |
| DARE_SESSION_TOKEN | No | A ready-made 60s session JWT. Testing only. | |
| DARE_CLERK_FAPI_URL | No | Clerk Frontend API base. | https://clerk.trydare.com |
| DARE_ALLOWED_ORIGINS | No | Allowed origins for CORS when deploying behind a domain. | |
| DARE_MAX_UPLOAD_BYTES | No | Largest upload accepted. | 536870912 |
| DARE_MCP_BEARER_TOKEN | No | Bearer token required for remote HTTP transport (at least 24 characters). | |
| DARE_ALLOW_URL_UPLOADS | No | Allow uploading from a public URL. Private and link-local addresses are always refused. | true |
| DARE_REQUEST_TIMEOUT_MS | No | Per-request timeout. | 120000 |
| DARE_MAX_CREDITS_PER_CALL | No | Refuse any single generation estimated above this many credits. 0 disables. | 500 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| dare_list_modelsA | List the video and image models available on Dare with their supported durations, aspect ratios, quality tiers and reference limits. Call this before generating so parameters are valid for the chosen model, and dare_estimate_cost for prices. Makes no network request and spends no credits. |
| dare_estimate_costA | Estimate the credit cost of a generation before running it, using Dare's own pricing table. Purely local arithmetic: no network request, no credits spent. Use this to check affordability, compare quality tiers, or size a batch. |
| dare_get_credit_balanceA | Fetch the signed-in Dare account's current credit balance. Read-only. Use before a large batch to confirm there is enough headroom. |
| dare_generate_videoA | Generate a video from a text prompt on Dare, defaulting to Seedance 2.5. SPENDS CREDITS from the signed-in Dare account (a 10s 720p Seedance 2.5 clip is ~110 credits; call dare_estimate_cost first). Returns generation ids immediately. Rendering is slow — Seedance 2.5 jobs commonly take 5–15 minutes — so leave wait_seconds at 0 and poll with dare_get_generation, or set it only if your client tolerates long tool calls. Attach reference images, clips or audio by uploading them first with dare_upload_media and passing the storage keys. |
| dare_generate_imageA | Generate a still image on Dare with Nano Banana 2, GPT Image 2 or Seedream 5 Pro. SPENDS CREDITS. Useful for producing a reference frame to feed into dare_generate_video. |
| dare_get_generationA | Fetch one generation by id: its status (queued, processing, succeeded, failed), credits charged, and — once finished — the output asset URL. Read-only. Poll this after dare_generate_video; video jobs commonly take 5–15 minutes. Use wait_seconds to block for up to that long per call, sized to what your client's tool timeout allows (e.g. 45 for desktop apps, 300+ for Claude Code), and call again until status is terminal. |
| dare_list_generationsA | List recent items in the Dare library — generations and uploads, newest first — with cursor pagination. Read-only. Use it to find an earlier video's id or an upload's storage key. |
| dare_cancel_generationA | Cancel an in-flight generation. Use when a job was started by mistake, to stop it consuming credits. |
| dare_delete_generationA | Permanently delete a generation and its output from the Dare library. Destructive and irreversible — confirm with the user first. Does not refund credits. |
| dare_upload_mediaA | Upload an image, video or audio file to Dare and return its storage key, for use as a reference in dare_generate_video or dare_generate_image. Accepts a local file path, a public URL, or base64 bytes. Spends no credits. |
| dare_list_uploadsA | List previously uploaded reference media with their storage keys. Read-only, cursor-paginated. |
| dare_delete_uploadA | Permanently delete an uploaded reference asset from the Dare library. Destructive and irreversible — confirm with the user first. Generations that already used it are unaffected. |
| dare_list_projectsA | List the account's Dare projects, for filing generations under a project id. Read-only. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Each tool targets a distinct resource and action: models, costs, balance, video generation, image generation, generation lifecycle, media uploads, and projects. Even generation and upload operations are clearly separated by resource type, leaving no realistic ambiguity.
All tools follow the same dare_<verb>_<noun> pattern with consistent verb choices like list, get, create/generate, cancel, delete, and upload. The naming is uniform and predictable across the entire tool set.
13 tools is well-scoped for a media generation API: it covers model discovery, cost estimation, account balance, generation creation/status/listing/cancellation/deletion, media uploads, and project listing. Each tool earns its place without the set feeling bloated or thin.
The tool surface covers the full generation workflow: estimate cost, check balance, generate, poll status, list, cancel, and delete. Uploads and projects are also covered for their supporting roles. No critical gap prevents an agent from completing a realistic task.