Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

ModelsLab

REMOTE · MODELSLAB.COM

Generate images, video, speech and music, and run LLM chat, across 10,000+ models on ModelsLab.

Available components

0 this week 36 Trust /100

Last scanned (19 hours ago)

Scores higher than 23% of remote servers

Reachable. Last reached 23 Oct 2026.

Category Design and Media

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security91
Transport & Reachability0
Schema Quality & AI Usability0
  • Schema blocked by authentication: the endpoint requires auth we don't have to read it. See how to fix → Unverified
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
  • Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Tool Safety0
  • Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Capabilities0
  • Capabilities blocked by authentication: the endpoint requires auth we don't have to read them. See how to fix → Unverified

Unverified: 6 categories

Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm. Claim this server and supply a read-only token to verify it and lift the score.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 7 Oct 26 −30
    • Endpoint reachability: reachable → behind authorisation ▼ security
    • Tool safety: pass → unverified ▼ security
    • Stability: 0.07 → unverified ▼ security
    • Transport: pass → unverified ▼ security
    • Authorization: unverified → pass ▲ security
    • DNSSEC: fail → pass ▲ security
    • First check of Authorization: partial security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Schema quality: 100 → unverified ▼ functional
  • 4 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 3 Oct 26 0
    • Stability: unverified → 0.03 ▲ functional
  • 2 Oct 26 65

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 23 Oct 2026 · Probed https://modelslab.com/mcp/v7

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=modelslab.com CN=WE1,O=Google Trust Services,C=US 13 Oct 2026 11 Jan 2027 ECDSA 256 ECDSA-SHA256 2a4212c7babc3f1a0ea67ea85809fa76
SANs: modelslab.com, *.modelslab.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC secure

Validation of modelslab.com. — Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
modelslab.com. present 2371 13 Verified
modelslab.com. Verified address RRset verified with the apex keys
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On connection
HTTP status 401

WWW-Authenticate challenge Bearer realm="mcp", resource_metadata="https://modelslab.com/.well-known/oauth-protected-resource/mcp/v7"

Bearer realm="mcp", resource_metadata="https://modelslab.com/.well-known/oauth-protected-resource/mcp/v7"
Header Value
www-authenticate Bearer realm="mcp", resource_metadata="https://modelslab.com/.well-known/oauth-protected-resource/mcp/v7"

Protected resource metadata

Document https://modelslab.com/.well-known/oauth-protected-resource/mcp/v7
Retrieved Yes
Resource https://modelslab.com/mcp/v7
Authorisation server https://modelslab.com/oauth

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://modelslab.com/mcp/v7 Auth required 401
http (plaintext) http://modelslab.com/mcp/v7 HTTPS enforced 302 https://modelslab.com/mcp/v7
MCP tools · 23 exposed · ~4,072 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
chat-completion ~338

Chat with AI language models. Send messages to an LLM and receive AI-generated responses. Supports various models and configuration options. A message may carry a PDF as a {"type":"file","file":{"filename":...,"file_data":"data:application/pdf;base64,..."}} content part.

NameTypeReqDescription
frequency_penaltynumber–Penalty for frequent tokens (-2 to 2).
max_tokensinteger–Maximum number of tokens to generate.
messagesarrayyesArray of message objects with "role" (system/user/assistant) and "content" keys.
model_idstringyesThe LLM model ID to use (e.g., "gpt-4", "claude-3").
ninteger–Number of completions to generate (1-10).
pluginsarray–OpenRouter plugins. Send [{"id":"file-parser","pdf":{"engine":"native"}}] alongside a {"type":"file"} content part to have a PDF attachment parsed.
presence_penaltynumber–Penalty for new topics (-2 to 2).
response_formatobject–Response format configuration (e.g., {"type": "json_object"}).
seedinteger–Random seed for reproducible results.
stoparray–Up to 4 sequences where the API will stop generating.
temperaturenumber–Sampling temperature (0-2). Higher values make output more random.
top_kinteger–Top-k sampling parameter.
top_pnumber–Nucleus sampling parameter (0-1).

No output schema declared.

No examples provided.

dubbing ~149

Create dubbed audio content. Takes a video and translates/dubs the audio from one language to another. Returns a request ID that can be used with fetch-audio to retrieve results.

NameTypeReqDescription
init_videostringyesURL or base64 string of the video to dub.
model_idstringyesThe model ID to use for dubbing.
output_langstringyesTarget language code for the dubbed output.
source_langstringyesSource language code (e.g., "en", "es", "fr").
track_idstring–Custom tracking ID for the request.
webhookstring–URL to receive webhook notification when dubbing completes.

No output schema declared.

No examples provided.

fetch-audio ~62

Retrieve the status and results of an audio generation request. Use the request ID returned from text-to-speech, speech-to-text, music-generation, and other audio tools.

NameTypeReqDescription
idintegeryesThe request ID returned from a previous audio generation call.

No output schema declared.

No examples provided.

fetch-generation ~235

Check the status of a queued or processing generation request on the ModelsLab V7 API. Use this tool when a generation tool returns a `status` of `"processing"`, and call it again while the status stays `"processing"`. Image jobs usually finish in seconds; video and music jobs can take several minutes, so tell the user the job is still running if it has not finished after a few polls. Pass the `id` from the original generation response and the `type` matching the category of the original request (e.g. "images" for text-to-image, image-to-image, or inpaint-image). The response will contain: - `status`: "success", "processing", or "error" - `output`: array of URLs when status is "success"

NameTypeReqDescription
idintegeryesThe numeric id returned by a generation tool when status was "processing".
typestringyesThe generation category matching the original request: "images" for image tools, "videos" for video tools, "audios" for audio tools.

No output schema declared.

No examples provided.

fetch-image ~58

Retrieve the status and results of an image generation request. Use the request ID returned from text-to-image, image-to-image, or inpaint-image tools.

NameTypeReqDescription
idintegeryesThe request ID returned from a previous image generation call.

No output schema declared.

No examples provided.

fetch-video ~64

Retrieve the status and results of a video generation request. Use the request ID returned from text-to-video, image-to-video, video-to-video, lip-sync, or motion-control tools.

NameTypeReqDescription
idstringyesThe request ID returned from a previous video generation call.

No output schema declared.

No examples provided.

image-to-image ~227

Transform existing images based on text prompts. Takes an input image and modifies it according to the provided prompt. Returns a request ID that can be used with fetch-image to retrieve results.

NameTypeReqDescription
aspect_ratiostring–Aspect ratio for the output image.
heightinteger–Output image height in pixels (512-1024).
init_imagestringyesInput image URL or base64 string to transform.
model_idstringyesThe model ID to use for image transformation.
negative_promptstring–Text describing what to avoid in the output.
promptstringyesText description of how to transform the image.
samplesinteger–Number of images to generate (1-4).
strengthnumber–Transformation strength (0-1). Higher values mean more change from the original.
track_idstring–Custom tracking ID for the request.
webhookstring–URL to receive webhook notification when generation completes.
widthinteger–Output image width in pixels (512-1024).

No output schema declared.

No examples provided.

image-to-video ~204

Animate static images into videos. Takes input image(s) and creates a video based on the prompt. Returns a request ID that can be used with fetch-video to retrieve results.

NameTypeReqDescription
aspect_ratiostring–Aspect ratio for the video.
durationinteger–Video duration in seconds (minimum 4).
init_audiostring–URL of audio to sync with the video.
init_imagestringyesInput image URL or base64 string to animate.
model_idstringyesThe model ID to use for video generation.
negative_promptstring–Things to avoid in the generated video.
portraitboolean–Generate in portrait orientation.
promptstring–Text description of the video motion/transformation.
resolutionstring–Output resolution preset.
track_idstring–Custom tracking ID for the request.
webhookstring–URL to receive webhook notification when generation completes.

No output schema declared.

No examples provided.

inpaint-image ~199

Edit specific areas of images using masks. Provide an image, a mask indicating the area to edit, and a prompt describing the desired changes. Returns a request ID that can be used with fetch-image to retrieve results.

NameTypeReqDescription
init_imagestringyesURL or base64 string of the input image to edit.
mask_imagestringyesURL or base64 string of the mask image (white areas will be edited, black areas preserved).
model_idstringyesThe model ID to use for inpainting.
negative_promptstring–Things to avoid in the generated content.
promptstringyesText description of what to paint in the masked area.
strengthnumber–Strength of the transformation (0-1). Higher values mean more change.
track_idstring–Custom tracking ID for the request.
webhookstring–URL to receive webhook notification when generation completes.

No output schema declared.

No examples provided.

lip-sync ~139

Sync video with audio for lip movements. Takes a video and audio file and syncs the lip movements to match the audio. Returns a request ID that can be used with fetch-video to retrieve results.

NameTypeReqDescription
init_audiostringyesURL or base64 string of the audio file to sync lips with.
init_videostringyesURL or base64 string of the input video containing the face to sync.
model_idstringyesThe model ID to use for lip sync.
track_idstring–Custom tracking ID for the request.
webhookstring–URL to receive webhook notification when processing completes.

No output schema declared.

No examples provided.

list-models ~288

List available AI models on the ModelsLab platform. Filter by category (imagen, video, audio, llm, 3d), provider, tags, and more. Returns model IDs that can be used with generation tools.

NameTypeReqDescription
categorystring–Filter by model category (e.g., "stable_diffusion", "stable_diffusion_xl", "flux", "llm", "video", "voice_cloning").
featurestring–Filter by product feature: "imagen" (images), "videofusion" (videos), "audiogen" (audio/voice), "llmaster" (LLMs), "threedverse" (3D).
limitinteger–Maximum number of models to return (1-100).
nsfwboolean–Set to false to exclude NSFW models, true to include them. Defaults to user preference.
providerstring–Filter by model provider (e.g., "modelslab", "civitai").
searchstring–Search models by name, ID, description, or tags.
sortstring–Sort order: "recommended" (default), "latest", "most-used".
subcategorystring–Filter by model subcategory (e.g., "lora", "controlnet", "embeddings", "checkpoint").

No output schema declared.

No examples provided.

list-providers ~128

List all available model providers on the ModelsLab platform. Returns provider names with model counts for each. Use provider names to filter models in the list-models tool.

NameTypeReqDescription
categorystring–Filter providers by model category (e.g., "stable_diffusion", "flux", "llm", "video").
featurestring–Filter providers by product feature: "imagen" (images), "videofusion" (videos), "audiogen" (audio/voice), "llmaster" (LLMs), "threedverse" (3D).

No output schema declared.

No examples provided.

motion-control ~192

Control motion in video generation. Uses an image and video to create motion-controlled output. Returns a request ID that can be used with fetch-video to retrieve results.

NameTypeReqDescription
character_orientationstringyesUse character orientation from image or video.
init_imagestringyesURL or base64 string of the input image (character/subject).
init_videostringyesURL or base64 string of the video for motion reference.
keep_original_soundstring–Keep original sound from the video.
modestring–Processing mode: std (standard) or pro (professional).
model_idstringyesThe model ID to use for motion control.
promptstring–Optional text prompt (max 2500 characters).
track_idstring–Custom tracking ID for the request.
webhookstring–URL to receive webhook notification when processing completes.

No output schema declared.

No examples provided.

music-generation ~150

Create music from text prompts. Generates original music based on your description, optional tags, and lyrics. Returns a request ID that can be used with fetch-audio to retrieve results.

NameTypeReqDescription
lyricsstring–Lyrics to include in the generated song.
model_idstringyesThe model ID to use for music generation.
music_length_msnumber–Duration of the music in milliseconds.
promptstringyesText description of the music to generate.
tagsarray–Array of genre/style tags for the music.
track_idstring–Custom tracking ID for the request.
webhookstring–URL to receive webhook notification when generation completes.

No output schema declared.

No examples provided.

song-extender ~198

Extend existing music tracks. Takes an existing audio file and extends it from either the beginning or end. Returns a request ID that can be used with fetch-audio to retrieve results.

NameTypeReqDescription
crop_durationnumber–Duration to crop from the original.
extend_durationnumber–Duration to extend in seconds.
init_audiostringyesURL or base64 string of the audio file to extend.
lyricsstring–Lyrics for the extended portion.
model_idstringyesThe model ID to use for song extension.
promptstring–Optional text description for the extended portion.
sidestringyesWhich side to extend: left (beginning) or right (end).
tagsarray–Array of genre/style tags.
track_idstring–Custom tracking ID for the request.
webhookstring–URL to receive webhook notification when extension completes.

No output schema declared.

No examples provided.

song-inpaint ~208

Edit specific sections of songs. Takes an audio file and regenerates a specific section defined by start and end times. Returns a request ID that can be used with fetch-audio to retrieve results.

NameTypeReqDescription
init_audiostringyesURL or base64 string of the audio file to edit.
instrumentalboolean–Generate instrumental only (no vocals).
lyricsstring–Lyrics for the regenerated section.
model_idstringyesThe model ID to use for song inpainting.
promptstring–Optional text description for the regenerated section.
sectionsarrayyesArray of 2 numbers: [start_time, end_time] in seconds for the section to regenerate.
selection_cropboolean–Return only the regenerated section.
tagsarray–Array of genre/style tags.
track_idstring–Custom tracking ID for the request.
webhookstring–URL to receive webhook notification when inpainting completes.

No output schema declared.

No examples provided.

sound-generation ~117

Generate sound effects from text descriptions. Creates audio sound effects based on your prompt. Returns a request ID that can be used with fetch-audio to retrieve results.

NameTypeReqDescription
durationinteger–Duration of the sound effect in seconds.
model_idstringyesThe model ID to use for sound generation.
promptstringyesText description of the sound effect to generate.
track_idstring–Custom tracking ID for the request.
webhookstring–URL to receive webhook notification when generation completes.

No output schema declared.

No examples provided.

speech-to-speech ~125

Voice conversion and transformation. Takes an audio file and converts it to a different voice. Returns a request ID that can be used with fetch-audio to retrieve results.

NameTypeReqDescription
init_audiostringyesURL or base64 string of the audio file to transform.
model_idstringyesThe model ID to use for voice conversion.
track_idstring–Custom tracking ID for the request.
voice_idstringyesThe target voice ID to convert to.
webhookstring–URL to receive webhook notification when conversion completes.

No output schema declared.

No examples provided.

speech-to-text ~111

Transcribe audio to text. Takes an audio file and converts it to text transcription. Returns a request ID that can be used with fetch-audio to retrieve results.

NameTypeReqDescription
init_audiostringyesURL or base64 string of the audio file to transcribe.
model_idstringyesThe model ID to use for speech-to-text.
track_idstring–Custom tracking ID for the request.
webhookstring–URL to receive webhook notification when transcription completes.

No output schema declared.

No examples provided.

text-to-image ~208

Generate images from text prompts using AI models. Returns a request ID that can be used with fetch-image to retrieve results. Supports various AI image generation models.

NameTypeReqDescription
aspect_ratiostring–Aspect ratio for the image (e.g., "1:1", "16:9", "9:16").
heightinteger–Image height in pixels (512-1024).
model_idstringyesThe model ID to use for image generation (e.g., "flux-dev", "sdxl").
negative_promptstring–Text describing what to avoid in the image.
promptstringyesText description of the image to generate.
samplesinteger–Number of images to generate (1-4).
track_idstring–Custom tracking ID for the request.
webhookstring–URL to receive webhook notification when generation completes.
widthinteger–Image width in pixels (512-1024).

No output schema declared.

No examples provided.

text-to-speech ~138

Convert text to natural speech audio. Takes text and generates realistic speech using the specified voice. Returns a request ID that can be used with fetch-audio to retrieve results.

NameTypeReqDescription
model_idstringyesThe model ID to use for text-to-speech.
promptstringyesThe text to convert to speech.
temperaturenumber–Temperature for voice variation (0-1).
track_idstring–Custom tracking ID for the request.
voice_idstringyesThe voice ID to use for speech generation.
webhookstring–URL to receive webhook notification when generation completes.

No output schema declared.

No examples provided.

text-to-video ~282

Generate videos from text descriptions. Creates AI-generated videos based on your text prompt. Returns a request ID that can be used with fetch-video to retrieve results.

NameTypeReqDescription
aspect_ratiostring–Aspect ratio for the video (e.g., "16:9", "9:16").
camera_fixedboolean–Keep camera position fixed during generation.
durationinteger–Video duration in seconds (minimum 4).
enhance_promptboolean–Use AI to enhance the prompt.
fpsinteger–Frames per second for the output video.
generate_audioboolean–Generate audio for the video.
heightinteger–Video height in pixels (512-1024).
init_audiostring–URL of audio to sync with the video.
model_idstringyesThe model ID to use for video generation.
negative_promptstring–Things to avoid in the generated video.
portraitboolean–Generate in portrait orientation.
promptstringyesText description of the video to generate.
resolutionstring–Output resolution preset.
track_idstring–Custom tracking ID for the request.
webhookstring–URL to receive webhook notification when generation completes.
widthinteger–Video width in pixels (512-1024).

No output schema declared.

No examples provided.

video-to-video ~252

Transform existing videos with AI. Takes input video(s) and modifies them based on the prompt. Returns a request ID that can be used with fetch-video to retrieve results.

NameTypeReqDescription
aspect_ratiostring–Aspect ratio for the output video.
durationinteger–Video duration in seconds (minimum 4).
image_timestampsarray–Optional seconds into the video where each init_image applies, in the same order. Images without a timestamp are spread evenly across the clip.
init_imagearray–Optional guidance image URLs applied in order across the input video.
init_videostringyesInput video URL to transform.
model_idstringyesThe model ID to use for video transformation.
negative_promptstring–Things to avoid in the generated video.
promptstringyesText description of how to transform the video.
public_figure_thresholdstring–Threshold for public figure detection.
seedinteger–Random seed for reproducible results (0-4294967295).
track_idstring–Custom tracking ID for the request.
webhookstring–URL to receive webhook notification when generation completes.

No output schema declared.

No examples provided.

Install

How do I install the ModelsLab MCP server?

ModelsLab is a hosted endpoint at https://modelslab.com/mcp/v7, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · modelslab.com

# add to Claude Code
claude mcp add --transport http modelslab-modelslab 'https://modelslab.com/mcp/v7'
Common questions

What is the ModelsLab MCP server?

ModelsLab is an MCP server listed in the public MCP registry as io.github.ModelsLab/modelslab. Generate images, video, speech and music, and run LLM chat, across 10,000+ models on ModelsLab. This page covers its hosted endpoint (https://modelslab.com/mcp/v7).

Is the ModelsLab MCP server safe to use?

ModelsLab scores 36 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the ModelsLab MCP server expose?

ModelsLab exposes 23 tools: list-models, list-providers, text-to-image, image-to-image, inpaint-image, and 18 more. Their descriptions and schemas cost roughly 4,072 tokens of context every time the server is loaded.

Does the ModelsLab MCP server require authentication?

Yes. ModelsLab asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the ModelsLab MCP server still maintained?

ModelsLab is still listed as active in the MCP registry. We last reached this channel on 23 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.