# TokenLab MCP Server (npm · @tokenlabai/mcp-server)

TokenLab MCP server: 31 default and 80 full-profile tools for models, media, tasks, and files.

- Trust score: 76/100 (medium)
- Change this week: +45
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@tokenlabai/mcp-server`: 76/100 (this document), [markdown](https://verifymcp.io/servers/hedging8563-tokenlab/tokenlabai-mcp-server.md), [page](https://verifymcp.io/servers/hedging8563-tokenlab/tokenlabai-mcp-server)

## Channel facts

- Registry: `npm`
- Package: `@tokenlabai/mcp-server`
- Version: `0.6.17`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 86/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to hedging8563/tokenlab-mcp-server).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 8 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 64/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (fair).
  - Context-footprint check failed: tool/resource definitions use about 7208 tokens (~212/item across 34 items; 31 tools + 3 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 89/100
  - 97% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 73% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add hedging8563-tokenlab -- npx -y @tokenlabai/mcp-server
```

### Codex

```bash
codex mcp add hedging8563-tokenlab -- npx -y @tokenlabai/mcp-server
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "hedging8563-tokenlab": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@tokenlabai/mcp-server"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add hedging8563-tokenlab --command npx --arg -y --arg @tokenlabai/mcp-server
```

### Hermes

```yaml
mcp_servers:
  hedging8563-tokenlab:
    command: "npx"
    args: ["-y", "@tokenlabai/mcp-server"]
```

### Other

```json
{
  "mcpServers": {
    "hedging8563-tokenlab": {
      "command": "npx",
      "args": [
        "-y",
        "@tokenlabai/mcp-server"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 76, +1)

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

### 2026-08-02 (score 75, +19)

- [security regression] Known CVEs: partial → unverified
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- [functional regression] Security disclosure: fail → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Tool coverage: 97 → unverified
- [functional improvement] Schema quality: unverified → fair
- [functional improvement] Stability: unverified → 0.23

### 2026-08-01 (score 56, +51)

- [security improvement] Install scripts: unverified → pass
- [security improvement] Provenance: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [security] The attested source repository moved: hedging8563/tokenlab-mcp-server
- [functional improvement] License: unverified → pass
- [functional improvement] Schema quality: unverified → 100
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Tool coverage: unverified → 97
- [functional] Licence: MIT

### 2026-07-31 (score 5, −26)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-27 (score 31)

First indexed and scored.

## MCP tools (31)

### `cancel_task` (~114 tokens)

Cancel async task

Cancel async task Cancels a queued asynchronous task when cancellation is supported for the selected task. Cancellation currently supports queued Seedance video tasks (`seedance-1.5-pro`, `seedance-2.0`, and `seedance-2.0-fast`) while they are still waiting to run. Tasks that are already processing, completed, failed, expired, or unsupported are not cancelled.

Input parameters:

- `id` (string, required): The async task ID returned by `id` / `task_id`, or embedded in `poll_url`

### `create_3d_model` (~134 tokens)

Create 3D model generation task

Create 3D model generation task Creates a 3D model generation task using Tripo3D. Returns a task ID for polling.

Input parameters:

- `format` (string)
- `image` (string): Base64 image for image-to-3D
- `image_url` (string)
- `model` (string)
- `prompt` (string, required): 3D model description
- `quality` (string)
- `seed` (integer): Seed for deterministic-compatible providers.
- `style` (string): Style hint for compatible 3D model families.
- `user` (string): End-user identifier.

### `create_anthropic_message` (~232 tokens)

Create message (Anthropic-compatible)

Create message (Anthropic-compatible) Creates a model response using Anthropic's native request format. Supports Claude models with vision and streaming. **Authentication:** Use `x-api-key` header or `Authorization: Bearer` header.

Input parameters:

- `max_tokens` (integer, required): Maximum number of tokens to generate
- `messages` (array, required): Messages in the conversation
- `metadata` (object): Request metadata echoed into downstream logs or traces when supported.
- `model` (string, required): Model to use (e.g., claude-sonnet-4-6)
- `service_tier` (string): Service tier hint for compatible providers.
- `stop_sequences` (array)
- `stream_options` (object): Streaming options such as usage chunk inclusion.
- `system` (string): System prompt
- `temperature` (number)
- `thinking` (object): Thinking configuration for compatible Anthropic-style models.
- `tool_choice`: Tool choice policy or explicit tool selection.
- `tools` (array): Tool definitions available to the model.
- `top_k` (integer)
- `top_p` (number)

### `create_chat_completion` (~516 tokens)

Create chat completion

Create an OpenAI-compatible chat completion. For inline image_url data URLs, declare the byte-accurate image MIME type. The MCP boundary corrects recognized PNG, JPEG, WebP, and GIF payloads declared as application/octet-stream and rejects unrecognized generic binary image payloads before sending a billable request.

Input parameters:

- `audio` (object): Audio output configuration when requesting audio modality.
- `frequency_penalty` (number): Frequency penalty (-2 to 2)
- `function_call`: Deprecated function-call selection retained by the official Chat Completions contract.
- `functions` (array): Deprecated function definitions retained by the official Chat Completions contract.
- `logit_bias` (object): Per-token logit bias map.
- `logprobs` (boolean): Whether to return log probabilities for output tokens.
- `max_completion_tokens` (integer): Maximum completion tokens for newer reasoning-enabled model families
- `max_tokens` (integer): Maximum number of tokens to generate
- `messages` (array, required): A list of messages comprising the conversation
- `modalities` (array): Requested output modalities such as text or audio.
- `model` (string, required): ID of the model to use (e.g., gpt-5.4, claude-sonnet-4-6)
- `n` (integer): Number of completions to generate
- `parallel_tool_calls` (boolean): Whether the model may issue parallel tool calls.
- `prediction` (object): Prediction hints for providers that support draft or speculative decoding.
- `presence_penalty` (number): Presence penalty (-2 to 2)
- `reasoning_effort` (string): Reasoning effort hint for compatible model families.
- `response_format` (object): Response format specification
- `seed` (integer): Seed for deterministic generation
- `service_tier` (string|null): Service tier hint for compatible providers.
- `stop`: Stop sequences
- `stream_options` (object): Streaming options such as usage chunk inclusion.
- `temperature` (number): Sampling temperature (0-2)
- `tool_choice`: Controls which function is called
- `tools` (array): List of tools the model may call
- `top_logprobs` (integer): Number of most likely tokens to return at each position when logprobs is enabled.
- `top_p` (number): Nucleus sampling probability
- `translation_options` (object): Language settings for models that translate audio or video through Chat Completions.
- `user` (string): End-user identifier for abuse detection

### `create_embedding` (~78 tokens)

Create embeddings

Create embeddings Creates an embedding vector representing the input text.

Input parameters:

- `dimensions` (integer): Output vector dimensions
- `encoding_format` (string): Output format
- `input` (required): Input text(s) or token array(s) to embed.
- `model` (string, required): ID of the model to use
- `user` (string): End-user identifier

### `create_gemini_content` (~295 tokens)

Generate content (Gemini-compatible)

Generate content (Gemini-compatible) Generates content using the native Gemini GenerateContent shape. This route is exposed only when the model details advertise Gemini requests and a same-protocol route is currently available. ProtoJSON lowerCamelCase and original proto snake_case field names are preserved. Unknown fields are forwarded best-effort and support is determined by the selected provider. **Authentication:** Use `?key=` query parameter, `x-goog-api-key` header, or `Authorization: Bearer` header.

Input parameters:

- `cachedContent` (string): Gemini cached content resource name for compatible models.
- `cached_content` (string): Original proto field-name spelling of cachedContent.
- `contents` (array, required): Conversation contents
- `generationConfig` (object)
- `generation_config` (object): Original proto field-name spelling of generationConfig.
- `model` (string, required): Model name (e.g., gemini-2.5-pro)
- `safetySettings` (array)
- `safety_settings` (array): Original proto field-name spelling of safetySettings.
- `systemInstruction` (object)
- `system_instruction` (object): Original proto field-name spelling of systemInstruction.
- `toolConfig` (object): Gemini tool configuration such as functionCallingConfig.
- `tool_config` (object): Original proto field-name spelling of toolConfig.
- `tools` (array): Gemini tools. Tool types and combinations are interpreted by the selected service.

### `create_image` (~565 tokens)

Create image

Create image Creates an image given a prompt.

Input parameters:

- `aspect_ratio` (string): Aspect-ratio selector for compatible image model families.
- `async` (boolean): Return a task before the final image is ready when the selected model supports public async execution.
- `background` (string): Background handling for compatible image flows. For gpt-image-2 generation and edits, accepted values are auto and opaque; transparent is not supported. Other models may support different values.
- `compression` (integer): Alias for output_compression when supported by the selected model
- `expand_prompt` (boolean): Ask compatible models to expand or enhance the prompt.
- `image_url` (string): Single reference image URL for compatible image-to-image models.
- `image_urls` (array): Reference image URLs for compatible image-to-image models.
- `mask_url` (string): Optional mask URL for compatible image operations.
- `model` (string, required): Model to use. Send this explicitly; query GET /v1/models?recommended_for=image for current recommendations.
- `moderation` (string): Moderation strictness for compatible image models such as gpt-image-2
- `n` (integer): Number of images to generate
- `negative_prompt` (string): Content to avoid for compatible image models.
- `operation` (string): Public image operation family. Reference-image models use image-to-image with image_url, image_urls, or reference_image_urls.
- `output_compression` (integer): Output compression level from 0 to 100 for compressed formats
- `output_format` (string): Output image format for compatible image models such as gpt-image-2
- `prompt` (string, required): Image description
- `quality` (string): Image quality. Defaults and accepted values are model-specific. For gpt-image-2, omit this field or use auto for automatic quality, or send low, medium, or high. Other image families may use provider…
- `reference_image_urls` (array): Alias used by compatible reference-image model families.
- `resolution` (string): Resolution selector for compatible image model families.
- `response_format` (string): Response format
- `seed` (integer): Seed for deterministic-compatible image models.
- `size` (string): Image size. Defaults are model-specific. For gpt-image-2, omit this field or use auto for automatic sizing, or send WIDTHxHEIGHT; custom dimensions must both be multiples of 16, longest edge <= 3840p…
- `style` (string): Optional model-specific style selector. Only send when the selected model documents support for this parameter.
- `user` (string): End-user identifier

### `create_image_file` (~237 tokens)

Create image

Create image Creates an image given a prompt.

Input parameters:

- `aspect_ratio` (string)
- `async` (boolean)
- `background` (string)
- `compression` (integer)
- `expand_prompt` (boolean)
- `image` (string): Local reference image upload for compatible image-to-image models. Pass local file path.
- `image_urls` (string): Comma-separated reference image URLs.
- `mask_url` (string)
- `model` (string, required): Model to use. Send this explicitly.
- `moderation` (string)
- `n` (integer)
- `negative_prompt` (string)
- `operation` (string)
- `output_compression` (integer)
- `output_format` (string)
- `prompt` (string, required): Image description
- `quality` (string)
- `reference_image_urls` (string): Comma-separated reference image URLs for compatible model families.
- `resolution` (string)
- `response_format` (string)
- `seed` (integer)
- `size` (string)
- `style` (string)
- `user` (string)

### `create_multimodal_embedding` (~73 tokens)

Create multimodal embeddings

Create multimodal embeddings Creates embeddings for multimodal input items. Text input is generally available; image input may require feature enablement.

Input parameters:

- `dimensions` (integer): Optional embedding dimensionality when supported by the selected model
- `input` (required)
- `model` (string, required): Model to use for multimodal embeddings

### `create_music` (~253 tokens)

Create music generation task

Create music generation task Creates a music generation task using Suno. Returns a task ID for polling.

Input parameters:

- `action` (string)
- `audio_operation` (string): Uploaded-audio mode. upload-extend requires continue_at; add-instrumental requires audio_url, title, tags, and negative_tags.
- `audio_url` (string): Publicly reachable reference or uploaded audio URL. Defaults to upload-cover when audio_operation is omitted.
- `continue_at` (number): Timestamp in seconds for continuation flows. Required when audio_operation is upload-extend.
- `continue_clip_id` (string): Clip ID to continue when extending an existing generation.
- `make_instrumental` (boolean): Generate instrumental output without vocals.
- `model` (string)
- `mv` (string): Official Suno model version. Required when creating music (action omitted or MUSIC); omit for lyrics-only requests.
- `negative_tags` (string): Styles to avoid. Required when audio_operation is add-instrumental.
- `prompt` (string): Music description. Required for music, lyrics, upload-cover, and upload-extend requests; omit for add-instrumental.
- `tags` (string)
- `title` (string)

### `create_response` (~339 tokens)

Create response (OpenAI Responses API)

Create response (OpenAI Responses API) Creates a response using the native OpenAI Responses API shape. The model details must advertise the Responses request format and a same-protocol route must be currently available; model names and providers do not imply availability. Unknown request fields are forwarded on a best-effort basis and remain subject to the selected provider's support.

Input parameters:

- `background` (boolean): Whether to run the response asynchronously.
- `include` (array): Additional response sections to include when supported.
- `input`: Input content as a string or structured item array.
- `instructions` (string): System instructions
- `max_output_tokens` (integer): Maximum output tokens
- `metadata` (object): Request metadata.
- `model` (string, required): Model to use
- `parallel_tool_calls` (boolean): Whether the model may issue parallel tool calls.
- `previous_response_id` (string): ID of a previous response to continue.
- `prompt` (object): Reference to a reusable prompt template and variables.
- `reasoning` (object): Reasoning configuration.
- `service_tier` (string|null): Service tier hint for compatible providers.
- `store` (boolean): Whether the response is stored for later retrieval.
- `stream_options` (object): Responses streaming options.
- `temperature` (number)
- `text` (object): Text formatting options.
- `tool_choice`: Tool choice policy or explicit tool selection.
- `tools` (array): Tools available to the model. Tool types and combinations are validated by the selected service.
- `top_p` (number): Nucleus sampling probability.
- `truncation` (string): Truncation strategy for long conversations.

### `create_speech` (~267 tokens)

Create speech

Create speech Generates audio from the input text (Text-to-Speech).

Input parameters:

- `input` (string, required): Text to synthesize.
- `instructions` (string): Optional style or delivery instructions for OpenAI-compatible TTS models that support them.
- `language_code` (string): Optional language code for Gemini, xAI, and compatible TTS routes.
- `model` (string): TTS model. Query GET /v1/models?recommended_for=tts for the current shortlist.
- `prompt` (string): Optional speaking style prompt for Gemini TTS models.
- `response_format` (string): Audio format. Common values include mp3, opus, aac, flac, wav, and pcm. Supported values vary by model family.
- `speed` (number): Speech speed for model families that support it.
- `stream_format` (string): TokenLab delivery format. stream_format=sse is not supported for tts-1 or tts-1-hd.
- `temperature` (number): Sampling temperature for Gemini-compatible TTS routes.
- `voice`: Voice selector for OpenAI-compatible, Gemini, xAI, and MiniMax-compatible routes. Some MiniMax routes also accept voice_id.
- `voice_id` (string): Provider-native voice selector for MiniMax-compatible speech models.

### `create_video` (~1991 tokens)

Create video generation task

Create video generation task Creates an asynchronous video generation task. The response returns a canonical task ID and usually a preferred `poll_url`; clients should poll `poll_url` first, or use `/v1/tasks/{id}` as the fixed status endpoint.

Input parameters:

- `aspect_ratio` (string): Canonical video aspect ratio. Seedance defaults to adaptive when omitted. The ratio alias is accepted for compatibility.
- `audio_url` (string): Publicly reachable audio URL for model-specific audio-conditioned video flows.
- `audio_urls` (array): Compatibility array for audio-conditioned flows when multiple audio references are supported by the routed model family. TokenLab currently accepts up to 3 reference audios.
- `camera_fixed` (boolean): Optional fixed-camera selector for compatible video models. Seedance 2.0 models do not support this field.
- `cfg_scale` (number): Prompt adherence strength (0-20) for models that expose CFG-style control.
- `draft` (boolean): Seedance 1.5 Pro draft workflow flag. Only supported by draft-capable Seedance routes; draft=true creates a low-cost draft task.
- `draft_task_id` (string): Seedance 1.5 Pro draft promotion task ID. Provide this instead of draft=true to create the final video from a previous draft task.
- `duration` (integer): Video duration in seconds. Seedance models also accept -1 to let the model choose within its supported duration range; TokenLab estimates billing conservatively for that mode.
- `effect_type` (string): Model-specific effect selector for specialized editing flows.
- `end_image` (string): Last frame image input for start-end-to-video flows. Seedance accepts a public image reference or asset://asset-YYYYMMDDHHMMSS-xxxxx for an ACTIVE TokenLab material owned by the requesting organizati…
- `execution_expires_after` (integer): Optional execution expiry window in seconds for compatible video models. Seedance defaults to 172800 seconds when omitted.
- `extend_at` (integer): Model-specific extension start offset used by some video-extension flows.
- `extend_times` (string): Model-specific extension multiplier or repeat count used by some video-extension flows.
- `fps` (integer): Frames per second
- `frames` (integer): Optional frame count for compatible video models. Seedance 2.0 models and Seedance 1.5 Pro do not support this field.
- `generate_audio` (boolean): Compatibility alias for output_audio. If more than one audio toggle is provided, all values must match.
- `image` (string): Inline image as a data URL (for example, data:image/png;base64,...). Prefer image_url for broader production compatibility. When the selected Seedance model can use the TokenLab material library, Tok…
- `image_url` (string): Publicly reachable image URL for image-to-video generation, or asset://asset-YYYYMMDDHHMMSS-xxxxx for an ACTIVE TokenLab Seedance material used as the first frame. Preferred over inline base64 in pro…
- `image_urls` (array): Image URL array for compatible image-conditioned video flows. This endpoint currently allows up to 9 entries. When the selected Seedance model can use the TokenLab material library, TokenLab prepares…
- `kling_elements` (array): Kling 3.0 element references for kling-3.0-video image-conditioned requests. Define 1-3 elements and reference them in the prompt with @name. Each element requires 2-4 image URLs in element_input_url…
- `material_asset_id` (string): TokenLab Seedance material asset ID returned by /v1/videos/assets, by automatic image preparation, or from a real-person group returned by GetVisualValidateResult. Use it after the asset is ACTIVE wi…
- `material_asset_ids` (array): TokenLab Seedance material asset IDs returned by /v1/videos/assets or by automatic image preparation. They share the Seedance image-reference limit; the selected model must be able to use the TokenLa…
- `model` (string): Model to use (e.g., veo3.1, kling-v1)
- `motion_strength` (number): Motion intensity (0-1) for models that expose it.
- `negative_prompt` (string): What to avoid in the video
- `operation` (string): Requested video operation. If omitted, TokenLab infers the operation from the provided inputs. Explicit operation is recommended for production reliability.
- `outputAudio` (boolean): Compatibility alias for output_audio. If both are provided, they must match.
- `output_audio` (boolean): Canonical model-dependent audio output toggle. Veo 3 and Seedance requests default to true when omitted. Kling 3.0 Video accepts this selector for non-element-reference requests and maps it to the co…
- `priority` (integer): Optional task priority for compatible video models. Do not combine priority with service_tier=flex.
- `prompt` (string): Video description
- `ratio` (string): Compatibility alias for aspect_ratio. If both ratio and aspect_ratio are provided, they must match.
- `reference_image_type` (string): Optional reference image role for models that distinguish between asset and style references. The camelCase alias referenceImageType is accepted for compatibility.
- `reference_images` (array): Canonical public reference-image field for reference-to-video conditioning. This endpoint currently allows up to 9 URLs, compatible data URLs, or for Seedance, asset://asset-YYYYMMDDHHMMSS-xxxxx URIs…
- `resolution` (string): Video resolution. Seedance defaults to 720p when omitted; available values are model-dependent.
- `return_last_frame` (boolean): Return the last generated frame when the selected model supports it. Seedance defaults to false when omitted.
- `safety_identifier` (string): Optional safety/user trace identifier for compatible video models. If omitted for Seedance, TokenLab uses user when provided.
- `seconds` (integer): Alias of duration used by compatible request shapes. Seedance models also accept -1 to let the model choose within its supported duration range; duration and seconds must match when both are provided.
- `seed` (integer): Seed for reproducibility. Seedance uses -1 for random seed when omitted.
- `service_tier` (string): Optional service tier for compatible video models. service_tier=default is accepted as a no-op for Seedance 2.0 models; service_tier=flex is rejected where the selected model does not support it.
- `size` (string): Model-specific size tier for compatible video models.
- `start_image` (string): First frame image input for start-end-to-video flows. Seedance accepts a public image reference or asset://asset-YYYYMMDDHHMMSS-xxxxx for an ACTIVE TokenLab material owned by the requesting organizat…
- `task_id` (string): Task identifier used by some continuation, extension, or derivative flows.
- `user` (string): End-user identifier
- `video_url` (string): Publicly reachable video URL for video-to-video style flows and motion-control models.
- `video_urls` (array): Compatibility array for video-conditioned flows when multiple input videos are supported by the routed model family. TokenLab currently accepts up to 3 reference videos.
- `watermark` (boolean): Optional watermark toggle for models that expose it. Seedance defaults to false when omitted.

### `delete_file` (~93 tokens)

Delete file

Delete file Deletes a batch file or a bound image/reference file. When the request includes anthropic-beta: files-api-2025-04-14, the route uses Anthropic Files API mode for the bound workspace.

Input parameters:

- `anthropic-beta` (string): Include files-api-2025-04-14 to use Anthropic Files API mode.
- `file_id` (string, required): File ID returned by the Files API.

### `edit_image` (~324 tokens)

Edit image

Edit image Edits an image using multipart image uploads, JSON image URLs, or the official JSON images array for supported GPT Image models.

Input parameters:

- `aspect_ratio` (string)
- `async` (boolean): Return a task before the edited image is ready for models that support public async execution.
- `background` (string)
- `compression` (integer)
- `image_url` (string): Single source image URL. Kept for TokenLab compatibility; use images for the official JSON shape.
- `image_urls` (array): Multiple source image URLs. GPT Image edits accept up to 16 source images; xAI Grok Imagine edit models accept at most 3 source images.
- `images` (array): Official JSON image references for image edits. Provide exactly one of image_url or file_id for each item. GPT Image edits accept up to 16 source images; xAI Grok Imagine edit models accept at most 3…
- `mask` (object): Optional JSON mask reference for image edits. Provide exactly one of image_url or file_id. Multipart requests can also send mask as a file part.
- `model` (string, required): Model to use for image edits. Send this explicitly.
- `moderation` (string)
- `n` (integer)
- `output_compression` (integer)
- `output_format` (string)
- `prompt` (string, required)
- `quality` (string)
- `resolution` (string)
- `response_format` (string)
- `size` (string)
- `user` (string)

### `edit_image_file` (~267 tokens)

Edit image

Edit image Edits an image using multipart image uploads, JSON image URLs, or the official JSON images array for supported GPT Image models.

Input parameters:

- `aspect_ratio` (string)
- `async` (boolean)
- `background` (string)
- `compression` (integer)
- `image`: Source image file(s). Repeat image for multiple source images. GPT Image edits accept up to 16 images; xAI Grok Imagine edit models accept at most 3 source images. Pass local file paths.
- `image[]` (array): Alternative repeated multipart field name for multiple source images. The same model-specific limits apply: GPT Image up to 16, xAI Grok Imagine up to 3. Pass local file paths.
- `mask` (string): Pass local file path.
- `model` (string, required): Model to use for image edits. Send this explicitly, for example gpt-image-2.
- `moderation` (string)
- `n` (integer)
- `output_compression` (integer)
- `output_format` (string)
- `prompt` (string, required)
- `quality` (string)
- `resolution` (string)
- `response_format` (string)
- `size` (string)
- `user` (string)

### `get_model` (~59 tokens)

Get model

Get model Retrieves current model details, including supported operations, request parameters, request endpoints, selector limits, and pricing when available. Non-chat integrations should read these current model-specific request details before creating a request.

Input parameters:

- `model` (string, required): The model ID

### `get_model_pricing` (~45 tokens)

Get model pricing

Get model pricing Retrieves pricing-only detail for one model. Use this endpoint for price explanation, not for non-chat request construction.

Input parameters:

- `model` (string, required): The model ID

### `get_pricing` (~50 tokens)

List model pricing

List model pricing Returns the public pricing surface for active models, with optional provider and tag filters.

Input parameters:

- `provider` (string): Filter by provider ID.
- `tag` (string): Filter by model tag.

### `get_task_status` (~87 tokens)

Get async task status

Get async task status Retrieves the status and result of an asynchronous generation task. Prefer the `poll_url` returned by the create response; `/v1/tasks/{id}` is the canonical fixed status endpoint for video, music, and 3D jobs.

Input parameters:

- `id` (string, required): The async task ID returned by `id` / `task_id`, or embedded in `poll_url`

### `list_files` (~199 tokens)

List files

List files

Input parameters:

- `after` (string)
- `after_id` (string): Anthropic Files cursor. Return files after this public file id. Requires the Anthropic Files beta header and cannot be combined with before_id.
- `anthropic-beta` (string): Include files-api-2025-04-14 to use Anthropic Files API mode.
- `before_id` (string): Anthropic Files cursor. Return files before this public file id. Requires the Anthropic Files beta header and cannot be combined with after_id.
- `limit` (integer)
- `purpose` (string): Optional file purpose filter. batch and batch_output cover Batch API files; user_data and vision cover TokenLab image/reference file bindings. Anthropic Files API mode is selected by Anthropic header…
- `scope_id` (string): Reserved Anthropic Files scope cursor. TokenLab currently returns an explicit unsupported error rather than silently ignoring this value.

### `list_models` (~170 tokens)

List models

List models Lists the currently available models. Use `view=compact` for model selection and `view=full` for the existing OpenAI-compatible discovery shape. Native API calls default to `full`; integrations may choose `compact` as their default. Non-chat recommendations are available through `recommended_for`.

Input parameters:

- `category` (string): Filter by model category.
- `provider` (string): Filter by public model provider, for example openai, anthropic, google, or minimax.
- `recommended_for` (string): Sort supported non-chat models for a task category and include recommendation evidence.
- `tag` (string): Filter by a public capability tag.
- `view` (string): Compact model-selection output is the MCP default. Set view to full only when the complete OpenAI-compatible list shape is required.

### `rerank_documents` (~82 tokens)

Rerank documents

Rerank documents Reranks documents by relevance to a query using semantic similarity.

Input parameters:

- `documents` (array, required): Documents to rerank
- `model` (string, required): Reranker model to use
- `query` (string, required): Query to rank against
- `return_documents` (boolean)
- `top_n` (integer): Number of results to return

### `retrieve_file` (~45 tokens)

Retrieve file

Retrieve file

Input parameters:

- `anthropic-beta` (string): Include files-api-2025-04-14 to use Anthropic Files API mode.
- `file_id` (string, required)

### `retrieve_file_content` (~21 tokens)

Retrieve file content

Retrieve file content

Input parameters:

- `file_id` (string, required)

### `transcribe_audio` (~121 tokens)

Create transcription

Create transcription Transcribes audio into text (Speech-to-Text).

Input parameters:

- `file` (string, required): Audio file to transcribe Pass local file path.
- `language` (string): ISO-639-1 language code
- `model` (string, required): Model to use (whisper-1)
- `prompt` (string): Optional prompt text
- `response_format` (string): Response format
- `temperature` (number): Sampling temperature
- `timestamp_granularities` (array): Timestamp granularity selection. Requires verbose_json output when requesting word-level timestamps.

### `translate_audio` (~60 tokens)

Translate audio

Translate audio Transcribes audio and translates the result to English.

Input parameters:

- `file` (string, required): Pass local file path.
- `model` (string)
- `prompt` (string)
- `response_format` (string)
- `temperature` (number)

### `translate_text` (~69 tokens)

Translate text

Translate text Translates text into a target language using the current translation request format.

Input parameters:

- `mime_type` (string)
- `model` (string, required)
- `source_language` (string)
- `target_language` (string, required)
- `text` (string, required)
- `user` (string)

### `upload_file` (~168 tokens)

Upload file

Upload file Uploads a TokenLab/OpenAI-compatible batch or image file. With anthropic-beta: files-api-2025-04-14, uploads an Anthropic Files resource without a purpose field and returns Anthropic file metadata.

Input parameters:

- `anthropic-beta` (string): Include files-api-2025-04-14 to use Anthropic Files API mode.
- `file` (string, required): Pass local file path.
- `model` (string): Optional TokenLab extension for image file uploads. Defaults to gpt-image-2 and binds the returned file_id to the selected image-edit configuration.
- `purpose` (string): Required in TokenLab/OpenAI-compatible mode: use batch for Batch API JSONL files, or user_data/vision for image edits. Omit in Anthropic Files mode.

### `compare_models` (~36 tokens)

Compare TokenLab Models

Compare public TokenLab model details and pricing for several model IDs.

Input parameters:

- `include_raw` (boolean)
- `models` (array, required)

### `get_api_overview` (~19 tokens)

Get TokenLab API Overview

Fetch TokenLab's agent-readable API overview.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/hedging8563-tokenlab/tokenlabai-mcp-server#diagnostics

## Score history

- 2026-08-03: 76
- 2026-08-02: 75
- 2026-08-01: 56
- 2026-07-31: 5
- 2026-07-30: 31
- 2026-07-28: 31
- 2026-07-27: 31

## Links

- npm package: https://www.npmjs.com/package/@tokenlabai/mcp-server
- Socket report: https://socket.dev/npm/package/@tokenlabai/mcp-server
- Repository: https://github.com/hedging8563/tokenlab-mcp-server
- Website: https://tokenlab.sh/mcp
- Changelog RSS feed: https://verifymcp.io/servers/hedging8563-tokenlab/tokenlabai-mcp-server/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/hedging8563-tokenlab/tokenlabai-mcp-server/changelog.json
- HTML version of this page: https://verifymcp.io/servers/hedging8563-tokenlab/tokenlabai-mcp-server
