TokPort

Generate images and videos (GPT Image, Seedance, Kling, Wan, Qwen) with one API key.

Should I use this

Quality & Safety

A
Description quality
94%
Schema completeness
95%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'get_pricing' description lacks action verbin get_pricing

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~754Tokens (tool definitions)
~727 BTypical response size
Moderate attention impact (0.59% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "tokport": {
      "url": "https://tokport.io/api/mcp"
    }
  }
}

Remote endpoints

https://tokport.io/api/mcpstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡search_models(q, modality, task, available)

Search the model catalog. Returns ids, modality, tasks, pricing and links. Use before calling run_model or submit_job to pick a model id.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Free-text query over id, name, vendor and tags"
    },
    "modality": {
      "type": "string",
      "description": "image or video",
      "enum": [
        "image",
        "video"
      ]
    },
    "task": {
      "type": "string",
      "description": "text-to-image | image-to-image | text-to-video | image-to-video"
    },
    "available": {
      "type": "boolean",
      "description": "Only models live on the gateway"
    }
  }
}
🟢get_model_schema(model)

Input parameters (name, type, allowed values, defaults) and output shape for every task a model supports.

Input Schema

{
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "description": "Model id, e.g. gpt-image-2"
    }
  },
  "required": [
    "model"
  ]
}
🟢get_pricing(model)

Live price per image or per video clip for one model or all models.

Input Schema

{
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "description": "Model id; omit for all models"
    }
  }
}
⚪run_model(model, input, task)

Run a model synchronously with the caller's API key. Images return URLs; videos are queued and this waits up to 60 s before returning the queue status instead.

Input Schema

{
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "description": "Model id"
    },
    "input": {
      "type": "object",
      "description": "Model input: prompt, size, n, image, seconds …",
      "additionalProperties": true
    },
    "task": {
      "type": "string",
      "description": "Force the task kind (inferred otherwise)"
    }
  },
  "required": [
    "model",
    "input"
  ]
}
🟡submit_job(model, input, task, webhook, priority)

Queue a request and return its request_id immediately. Follow with check_job / get_job_result.

Input Schema

{
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "description": "Model id"
    },
    "input": {
      "type": "object",
      "additionalProperties": true
    },
    "task": {
      "type": "string",
      "description": "Force the task kind (inferred otherwise)"
    },
    "webhook": {
      "type": "string",
      "description": "Public http(s) URL to POST the result to"
    },
    "priority": {
      "type": "string",
      "description": "normal or low",
      "enum": [
        "normal",
        "low"
      ]
    }
  },
  "required": [
    "model",
    "input"
  ]
}
🟢check_job(model, request_id, logs)

Status of a queued request (IN_QUEUE / IN_PROGRESS / COMPLETED / FAILED / CANCELLED) with position, logs and metrics.

Input Schema

{
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "description": "Model id"
    },
    "request_id": {
      "type": "string",
      "description": "req_… id"
    },
    "logs": {
      "type": "boolean"
    }
  },
  "required": [
    "model",
    "request_id"
  ]
}
🟢get_job_result(model, request_id, timeout)

Result of a completed request; waits up to `timeout` seconds (max 60) when still running.

Input Schema

{
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "description": "Model id"
    },
    "request_id": {
      "type": "string",
      "description": "req_… id"
    },
    "timeout": {
      "type": "integer",
      "minimum": 0,
      "maximum": 60
    }
  },
  "required": [
    "model",
    "request_id"
  ]
}
🔴cancel_job(model, request_id)

Cancel a request while it is still queued.

Input Schema

{
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "description": "Model id"
    },
    "request_id": {
      "type": "string",
      "description": "req_… id"
    }
  },
  "required": [
    "model",
    "request_id"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools