# VLM Run — MCP server on mcp.ai > Connect your VLM Run account and use 11 tools for document data extraction straight from your AI agent. Connect with your own API key. VLM Run provides multimodal agents, structured extraction, predictions, files, skills, feedback, and evaluation APIs. By: mcp.ai · official Page: https://mcp.ai/vlm_run ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_vlm_run?ms=1787293560000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/vlm_run/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/vlm_run/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/vlm_run/skill.md Postman collection (v2.1): https://mcp.ai/vlm_run/postman.json ## Tools - vlm_run_create_skill(name?: string, prompt?: string, file_id?: string, is_public?: boolean, session_id?: string, description?: string, json_schema?: object) — Create a reusable skill from exactly one uploaded zip, prompt, or chat session. - vlm_run_discover_extraction_schemas(config?: object, domain?: string) — List supported structured-extraction domains, or return the full JSON schema for one domain when domain is provided. - vlm_run_execute_agent(batch?: boolean, model?: string, config?: object, inputs?: object, metadata?: object, agent_name?: string, request_id?: string, callback_url?: string) — Start a VLM Run agent execution from an existing agent name or inline configuration over multimodal inputs. Execution may consume credits and is asynchronous by default; poll the returned ID with VLM_ - vlm_run_extract_structured_json(url?: string, batch?: boolean, model?: string, config?: object, domain?: string, images?: string[], file_id?: string, metadata?: object, modality: string, request_id?: string, callback_url?: string) — Start structured JSON extraction from images, a document, a video, or audio using a domain, custom schema, or skill. Extraction may consume credits; document, video, and audio runs are asynchronous by - vlm_run_find_files(limit?: integer, offset?: integer, file_id?: string, md5_hash?: string, generate_public_url?: boolean) — List uploaded files or find one by file ID or MD5 hash. In list mode, use offset and limit until has_more is false. - vlm_run_find_skills(name?: string, limit?: integer, offset?: integer, grouped?: boolean, version?: string, order_by?: string, skill_id?: string, descending?: boolean) — List VLM Run skills or find one exact skill by ID, name, and optional version. In list mode, continue from next_offset while has_more is true. - vlm_run_get_run(run_id: string, run_type: string) — Get the current status and result of one structured-extraction prediction or agent execution; call repeatedly to poll asynchronous work. - vlm_run_list_agents() — Return agents available to the connected account for selection before execution. - vlm_run_list_artifacts(limit?: integer, offset?: integer, session_id?: string, execution_id?: string) — List artifact metadata belonging to exactly one chat session or agent execution. Use offset and limit to traverse pages until has_more is false. - vlm_run_list_runs(limit?: integer, offset?: integer, run_type: string) — List structured-extraction predictions or agent executions for the connected account. Use offset and limit to traverse pages until has_more is false. - vlm_run_upload_file(file: object, purpose?: string, generate_public_url?: boolean) — Upload a local file to VLM Run for extraction, agent input, or skill creation. Retain the returned file ID for tools that consume uploaded files. ## Example prompts - "What can I do in VLM Run?" - "Show me a summary of my VLM Run account" ## Links Docs: https://mcp.ai/docs/mcps/vlm_run Website: https://mcp.ai/mcps/vlm_run