Skip to main content
Glama

VicSee MCP Server

Generate, edit, and upscale AI video & images from any agent — VicSee as a set of MCP tools.

Works with Hermes Agent, Claude (Desktop / Code), Cursor, OpenClaw, and any MCP-compatible client.

What your agent can do

Tool

What it does

vicsee_list_models

List available models (Seedance, Veo, Kling, FLUX, Nano Banana, …) + their credit costs

vicsee_generate

Text/image → video or image with a chosen model

vicsee_get_task

Poll a task and get the finished media URL

vicsee_upscale_image

Upscale an image

vicsee_upscale_video

Upscale a video

vicsee_get_credits

Check your credit balance

Generation is asynchronous: vicsee_generate (or vicsee_upscale_*) returns a task id immediately — your agent then polls vicsee_get_task until status is completed and reads the URL from result.url.

Related MCP server: Agnes Video MCP Server

Setup

  1. Get an API key at vicsee.com → Settings → API (starts with sk-). API access requires a paid plan or credit pack.

  2. Add the server to your MCP client config with that key:

{
  "mcpServers": {
    "vicsee": {
      "command": "npx",
      "args": ["-y", "@vicsee/mcp-server"],
      "env": { "VICSEE_API_KEY": "sk-your-key-here" }
    }
  }
}

That's the whole setup — drop in your key, and your agent can generate.

Client config locations

  • Claude Desktop: claude_desktop_config.jsonmcpServers

  • Cursor: Settings → MCP → add server (same command/args/env)

  • Hermes Agent / OpenClaw: add to the MCP servers section of your agent config

  • Claude Code: claude mcp add vicsee -e VICSEE_API_KEY=sk-... -- npx -y @vicsee/mcp-server

Optional env

  • VICSEE_BASE_URL — override the API base URL (defaults to https://vicsee.com/api/v1).

Local development

pnpm install
pnpm build
VICSEE_API_KEY=sk-... node dist/index.js   # stdio server
# or run from source: VICSEE_API_KEY=sk-... pnpm dev

Point your MCP client at the local build by using "command": "node", "args": ["/abs/path/to/dist/index.js"].

Example agent flow

"Make me a 5-second video of a kitten chasing a laser."

  1. vicsee_list_models (type: video) → pick e.g. seedance-2-5-text-to-video (up to 30s) or seedance-2-0-text-to-video (adds 1080p/4K)

  2. vicsee_generate (model, prompt, duration: 5) → { id, status: "pending" }

  3. vicsee_get_task (id) … poll … → { status: "completed", result: { url: "https://cdn.vicsee.com/…" } }

Notes

  • Result URLs are served from cdn.vicsee.com — stable VicSee CDN links.

  • Each generation costs credits; see vicsee_list_models for per-model costs and vicsee_get_credits for your balance.

License

MIT

Available Tools

7 tools
vicsee_generateGenerate image or videoAInspect

Create an AI image or video with VicSee. Generation is ASYNCHRONOUS: this returns a task id immediately, then poll vicsee_get_task with that id until status is "completed" (the result URL appears in result.url) or "failed". Use vicsee_list_models to pick a model and see its valid options. For image-to-video / image-to-image, pass source images in image_urls. For reference-to-video models (e.g. "seedance-2-0-reference-to-video"), pass references in reference_image_urls / reference_video_urls / reference_audio_urls and refer to them positionally in the prompt as @Image1, @Image2, … IMAGE inputs (image_urls, reference_image_urls) may be a public https URL, a local file path (this server reads and base64-encodes it for you), or a base64 data URI. VIDEO/AUDIO inputs (reference_video_urls, reference_audio_urls) must be public https URLs. For video-edit models (e.g. "happyhorse-video-edit"), pass the source clip in video_url and optionally set audio_setting ("auto" or "origin").

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesModel id from vicsee_list_models, e.g. "nano-banana-pro-text-to-image" or "seedance-2-0-text-to-video"
promptNoText prompt (required for most models)
image_urlsNoSource image(s) for image-to-video / image-to-image. Each may be a public https URL, a local file path (this server reads and base64-encodes it for you), or a base64 data URI.
reference_image_urlsNoReference-to-video only: up to 7 reference images. Each may be a public https URL, a local file path (this server reads and base64-encodes it for you), or a base64 data URI. Refer to them in the prompt as @Image1, @Image2, …
reference_video_urlsNoReference-to-video only: up to 3 public https video URLs (2-15s each, ≤15s total).
reference_audio_urlsNoReference-to-video only: up to 3 public https audio URLs.
video_urlNoVideo-edit models (e.g. "happyhorse-video-edit") only: one public https video URL, 3-15s, to edit.
audio_settingNoVideo-edit models only: "auto" (regenerate audio) or "origin" (keep the source audio).
durationNoVideo length in seconds (e.g. 5, 6, 10, 15) — video models only
aspect_ratioNoe.g. "16:9", "9:16", "1:1", "landscape", "portrait"
resolutionNoe.g. "1K", "2K", "4K", "720P", "1080P"
output_formatNoImage output format, e.g. "png" or "jpeg"
audioNoEnable native audio (supported video models)
extraNoAny additional model-specific params (see the model's options from vicsee_list_models)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses asynchronous generation, immediate task id return, polling needed for result, and input format rules (public URLs, local paths, base64). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with logical sections (async, model selection, input types). Concise but not terse; every sentence adds value. Could be slightly more compact but effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Comprehensive for a complex tool with 14 parameters: covers async behavior, polling, model selection, input formats, constraints for all model categories, and edge cases like video-edit audio settings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but description adds valuable context: positional referencing for references, constraints on video/audio URLs, and explanation of audio_setting options.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Create an AI image or video with VicSee.' and distinguishes from siblings by mentioning async behavior, polling, and model selection using vicsee_list_models.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance for different model types (image-to-video, reference-to-video, video-edit) and input requirements. Does not explicitly list when not to use, but context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vicsee_get_creditsGet credit balanceA
Read-only
Inspect

Get the current VicSee credit balance for the configured API key.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, indicating a safe, non-mutating operation. The description adds that it targets the 'configured API key', which is useful but does not disclose further behavioral traits beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loading the key action and resource. It contains no filler and is appropriately concise for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description should at least hint at the return format. It only says 'get...balance' without specifying response structure (e.g., numeric value, JSON object). This yields a moderate gap in completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so schema coverage is 100%. The description does not need to add parameter semantics, and the baseline score of 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get the current VicSee credit balance for the configured API key' with a specific verb (get) and resource (credit balance). It distinguishes from sibling tools like vicsee_generate or vicsee_list_models, which handle different tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool (checking credit balance). While no explicit exclusions or alternatives are given, the sibling tools are distinctly different, so the usage is straightforward.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vicsee_get_taskGet task status / resultA
Read-only
Inspect

Poll a generation or upscale task by its id. status is one of "pending" | "processing" | "queued" | "completed" | "failed". When "completed", the media URL is in result.url (videos/images) or result.songs (music). When "failed", details are in error. Poll every few seconds until completed or failed.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesThe task id returned by vicsee_generate / vicsee_upscale_*

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds behavioral details beyond annotations: status enum values, result fields for completed/failed states, and polling recommendation. Annotations indicate read-only and open-world, which are consistent. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no waste: first states purpose, second lists statuses and result structure, third provides polling guidance. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given one parameter, annotations, and no output schema, the description covers all needed context: status values, result/error handling, and polling frequency. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description restates the parameter's origin (from generate/upscale) but adds no new meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it polls a generation or upscale task by ID, specifies status values, and explains result/error fields. It distinguishes from sibling tools like vicsee_generate (creates tasks) and vicsee_upscale_* (creates tasks) by focusing on polling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description tells when to use (after generation/upscale) and to poll every few seconds until done. It does not explicitly list alternatives or when not to use, but the context from sibling tools makes it clear it's for polling only.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vicsee_list_modelsList VicSee modelsA
Read-only
Inspect

List available VicSee models with their capabilities and credit costs. Call this first to find a model id to pass to vicsee_generate. Optionally filter by media type.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter by media type

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already signal readOnlyHint and openWorldHint, so the agent knows the tool is safe and non-destructive. The description adds useful context by stating the output includes capabilities and credit costs, and reaffirms the read-only nature. No contradictions or missing behavioral traits for a simple list tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two concise sentences. The first clearly states the purpose, and the second provides a crucial usage hint and optional filter. Every word adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional param, no output schema), the description adequately covers the tool's role and output. It mentions that the output includes model id, capabilities, and credit costs. No mention of pagination or error cases, but for a straightforward listing tool, the description is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%; the only parameter 'type' is described in the schema as 'Filter by media type.' The description merely echoes this with 'Optionally filter by media type,' adding no new meaning beyond the schema. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool lists available VicSee models with their capabilities and credit costs. It also explicitly indicates that this should be called first to obtain a model ID for vicsee_generate, distinguishing it from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit guidance to 'Call this first to find a model id to pass to vicsee_generate,' which is a strong when-to-use instruction. It also mentions optional filtering by media type, but does not provide explicit when-not-to-use or alternative tool scenarios, though sibling context makes alternatives clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vicsee_uploadUpload a local fileAInspect

Upload a LOCAL file (image, video, or audio) from this machine and get back a public https URL. Use the returned url as an input for vicsee_generate — e.g. drop it into reference_image_urls for a reference-to-video storyboard, or image_urls for image-to-video. PREFER this over inline base64 for references: large base64 strings get truncated in tool-call output and the model rejects them. The file uploads directly to storage; only its public URL comes back.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesAbsolute path to a local file (image/video/audio) on this machine.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses that file uploads directly to storage and only public URL returns, plus warns about base64 truncation. Could add file size limits or supported formats, but still strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences plus a recommendation. No unnecessary words, front-loaded purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple upload tool with one parameter, description covers purpose, usage pattern, and behavior. Integrates well with sibling tools and explains return value (public URL) despite no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter (file_path). Description adds no additional semantic detail beyond the schema's 'absolute path' description, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly describes uploading a local file (image, video, audio) and returning a public URL. Distinguishes from siblings by mentioning usage in vicsee_generate for reference_image_urls or image_urls.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises preferring this tool over inline base64 due to truncation risks, and specifies how the returned URL is used in vicsee_generate, providing clear when-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vicsee_upscale_imageUpscale an imageAInspect

Upscale a publicly accessible image (JPEG/PNG/WebP). Asynchronous: returns a task id — poll vicsee_get_task until completed. upscale_factor defaults to "2".

ParametersJSON Schema
NameRequiredDescriptionDefault
image_urlYesPublicly accessible image URL
upscale_factorNoUpscale factor (default "2")

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds asynchronous behavior beyond annotations (readOnlyHint=false indicates mutation; description clarifies it returns a task id). However, it does not disclose what happens to the original image or any side effects, and lacks authentication/rate limit details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no extraneous information. Front-loaded with the core action and essential details about async behavior and default parameter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with 2 parameters and no output schema, the description covers the key aspects: input format, async nature, default factor. It could elaborate on what the task response contains, but it directs to poll vicsee_get_task which suffices.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage but description adds value by stating the default value for 'upscale_factor' ("2") which is not in the schema. The description also reinforces the 'publicly accessible' constraint for image_url.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool upscales publicly accessible images, specifying supported formats (JPEG/PNG/WebP) and mentions asynchronous behavior, which distinguishes it from sibling tools like vicsee_upscale_video.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear usage guidance: async operation returns a task id to poll, and upscale_factor has a default of '2'. However, it does not explicitly state when not to use this tool or compare with alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vicsee_upscale_videoUpscale a videoAInspect

Upscale a publicly accessible video (MP4/MOV/MKV, up to 60s). Asynchronous: returns a task id — poll vicsee_get_task until completed. upscale_factor defaults to "2".

ParametersJSON Schema
NameRequiredDescriptionDefault
video_urlYesPublicly accessible video URL
upscale_factorNoUpscale factor (default "2")

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations indicating readOnlyHint=false and openWorldHint=true, the description adds context about async behavior, polling requirement, and constraints (public URL, format, duration). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences efficiently convey purpose, constraints, async behavior, and default. No unnecessary words, front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 params, no output schema), the description covers essential aspects: input constraints, async flow, and parameter default. Does not mention error handling or rate limits, but those are less critical here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already describes both parameters. The description adds the default value for upscale_factor ("2"), which provides additional value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (upscale), resource (video), and constraints (publicly accessible, MP4/MOV/MKV, up to 60s). It effectively distinguishes from sibling tool vicsee_upscale_image.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the asynchronous nature and directs to poll vicsee_get_task for completion. It includes the default for upscale_factor, but does not explicitly state when not to use the tool.

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. Dates show when Glama detected each change.

  1. 7 tool updatesv0.3.3
    • First observedvicsee_generate
    • First observedvicsee_get_credits
    • First observedvicsee_get_task
    • First observedvicsee_list_models
    • First observedvicsee_upload
    • First observedvicsee_upscale_image
    • First observedvicsee_upscale_video

TDQS

A4.4/5.0
Disambiguation5/5

Each tool targets a distinct function: generation, credits, task polling, model listing, file upload, and upscaling (image/video). No overlap in purpose.

Naming Consistency5/5

All tools follow a consistent 'vicsee_verb_noun' pattern in snake_case, making them predictable and easy to distinguish.

Tool Count5/5

7 tools cover the core workflows (generation, upscaling, polling, listing, uploading, credits) without being excessive or sparse.

Completeness4/5

The surface covers generation, upscaling, and account operations. Missing a cancel/delete task endpoint, but the core async workflow is fully supported.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vicseeai/vicsee-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server