tensorart-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TAMS_APP_ID | No | App ID used with TAMS_PRIVATE_KEY_PATH for signed requests (TAMS-SHA256-RSA) instead of the API key. | |
| TAMS_API_KEY | No | Bearer key for simple authentication. | |
| TAMS_ENDPOINT | No | Your app endpoint (default is https://ap-east-1.tensorart.cloud). | https://ap-east-1.tensorart.cloud |
| TAMS_OUTPUT_DIR | No | Where generated images are saved (default is ~/Pictures/tensorart). | |
| TAMS_API_KEY_FILE | No | Path to a file containing the API key, keeping it out of your MCP config. | |
| TAMS_DEFAULT_MODEL | No | Checkpoint id used when a call has no model_id. | |
| TAMS_PRIVATE_KEY_PATH | No | Path to the private key used with TAMS_APP_ID for signed requests (TAMS-SHA256-RSA). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_imageC | Text-to-image on Tensor.Art (TAMS). model_id: checkpoint id (number from the model page URL). loras: list of {"id": "", "weight": 1.0, "access_key": ""}. model_access_key: for a private checkpoint. extra_diffusion: any additional DIFFUSION fields TAMS accepts (e.g. {"scheduleName": "simple", "guidance": 3.5}). With wait=True it polls until the job ends and saves the images locally. |
| estimate_creditsA | Ask TAMS how many credits a text-to-image job would cost, without running it. |
| image_to_imageC | Image-to-image: uploads a local image and re-renders it with the prompt (and LoRA). |
| run_workflowC | Run a ComfyUI-style workflow on TAMS. params is the node map {"": {"classType": "...", "inputs": {...}}}; private models need "access_key" in the loader inputs. |
| run_workflow_templateC | Run a saved Tensor.Art workflow template. fields: [{"nodeId": "27", "fieldName": "text", "fieldValue": "..."}]. |
| get_jobC | Status of a job; with download=True saves its images locally. |
| cancel_jobB | Cancel a pending or running job. |
| get_modelB | Info on a model (checkpoint or LoRA) by id: type, base model, whether it can be used. |
| upload_imageA | Upload a local image to TAMS and return its resource id (for workflows or img2img). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Most tools target clearly distinct operations: generation (generate_image, image_to_image), workflow execution (run_workflow, run_workflow_template), and job/model management (get_job, cancel_job, get_model, upload_image, estimate_credits). The only mild overlap is run_workflow vs run_workflow_template, but descriptions distinguish raw node maps from saved templates.
All names use snake_case and mostly follow a verb_noun pattern (get_job, generate_image, estimate_credits, run_workflow, cancel_job, get_model, upload_image). image_to_image is a noun-style domain term that slightly breaks the verb_noun convention, but it's conventional and readable.
Nine tools is well within the ideal 3-15 range for an image-generation service. Each tool covers a distinct capability (generation, workflows, job control, model info, upload) without obvious redundancy.
The surface covers the core lifecycle: generate, img2img, workflows, job status/cancel, credit estimation, model info, and upload. The main gap is model/LoRA discovery—get_model requires a known id and there's no list/search tool—but agents can work around this with ids from the web UI.