Skip to content

Together AI MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi

Run Together AI chat, embeddings and images; manage fine-tunes, batches and endpoints.

Deletes · 10

23 tools: 10 can delete or cancel things and 13 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http together-ai https://together-ai.usefulapi.io/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

23 tools

Deletes or cancels 10Claude Code: deny
  • together_cancel_batchCancel a batch job that has not finished.No findings

    Why it is in this group

    • The name "together_cancel_batch" says "cancel": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Cancel a batch job that has not finished. Together: POST /batches/{id}/cancel.

    Annotations the server declares

    • title: Cancel a batch job
    • destructiveHint: true
  • together_cancel_fine_tuneCancel a running fine-tuning job.No findings

    Why it is in this group

    • The name "together_cancel_fine_tune" says "cancel": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Cancel a running fine-tuning job. Cannot be resumed, but a new job can continue from its last checkpoint via from_checkpoint. Together: POST /fine-tunes/{id}/cancel.

    Annotations the server declares

    • title: Cancel a fine-tuning job
    • destructiveHint: true
  • together_chat_completionRun a chat completion on a Together model (billed per token).No findings

    Why it is in this group

    • The description's first verb is "run": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Run a chat completion on a Together model (billed per token). Non-streaming. For a dedicated endpoint pass its `<project_slug>/<endpoint_slug>` as the model. Together: POST /chat/completions.

    Annotations the server declares

    • title: Chat completion
    • destructiveHint: true
  • together_create_batchStart an asynchronous batch job over an uploaded JSONL input file (purpose batch-api), at a discount to real-time inference.No findings

    Why it is in this group

    • The name "together_create_batch" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Start an asynchronous batch job over an uploaded JSONL input file (purpose batch-api), at a discount to real-time inference. Together: POST /batches.

    Annotations the server declares

    • title: Create a batch job
    • destructiveHint: true
  • together_create_embeddingsGenerate vector embeddings for one or more texts (billed per token).No findings

    Why it is in this group

    • The name "together_create_embeddings" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Generate vector embeddings for one or more texts (billed per token). Together: POST /embeddings.

    Annotations the server declares

    • title: Create embeddings
    • destructiveHint: true
  • together_create_endpointDeploy a model on dedicated GPUs.No findings

    Why it is in this group

    • The name "together_create_endpoint" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Deploy a model on dedicated GPUs. The endpoint STARTS AUTOMATICALLY and bills per minute of uptime until stopped — set inactive_timeout to auto-stop it, and use together_list_hardware for valid hardware ids. Together: POST /endpoints.

    Annotations the server declares

    • title: Create a dedicated endpoint
    • destructiveHint: true
  • together_create_fine_tuneStart a fine-tuning job on an uploaded training file (billed per token processed).No findings

    Why it is in this group

    • The name "together_create_fine_tune" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Start a fine-tuning job on an uploaded training file (billed per token processed). Stop it with together_cancel_fine_tune. Together: POST /fine-tunes.

    Annotations the server declares

    • title: Create a fine-tuning job
    • destructiveHint: true
  • together_generate_imageGenerate images from a prompt (billed per image/megapixel).No findings

    Why it is in this group

    • The name "together_generate_image" says "generate": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Generate images from a prompt (billed per image/megapixel). Returns image URLs by default rather than base64, to keep responses small. Together: POST /images/generations.

    Annotations the server declares

    • title: Generate an image
    • destructiveHint: true
  • together_start_endpointStart a stopped dedicated endpoint.No findings

    Why it is in this group

    • The name "together_start_endpoint" says "start": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Start a stopped dedicated endpoint. It bills per minute of uptime until stopped. Reversible with together_stop_endpoint. Together: PATCH /endpoints/{endpointId} with state=STARTED.

    Annotations the server declares

    • title: Start a dedicated endpoint
    • destructiveHint: true
  • together_stop_endpointStop a running dedicated endpoint, which stops its per-minute billing.No findings

    Why it is in this group

    • The name "together_stop_endpoint" says "stop": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Stop a running dedicated endpoint, which stops its per-minute billing. Requests to it fail until it is started again. Together: PATCH /endpoints/{endpointId} with state=STOPPED.

    Annotations the server declares

    • title: Stop a dedicated endpoint
    • destructiveHint: true
Only reads 13Claude Code: allow
  • together_get_batchFetch one batch job: status (VALIDATING, IN_PROGRESS, COMPLETED, FAILED, EXPIRED, CANCELLED), progress, and the output_file_id / error_file_id once done.No findings

    Why it is in this group

    • The name "together_get_batch" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one batch job: status (VALIDATING, IN_PROGRESS, COMPLETED, FAILED, EXPIRED, CANCELLED), progress, and the output_file_id / error_file_id once done. Together: GET /batches/{id}.

    Annotations the server declares

    • title: Get one batch job
    • readOnlyHint: true
  • together_get_endpointFetch one dedicated endpoint: state, model, hardware, autoscaling bounds and display name.No findings

    Why it is in this group

    • The name "together_get_endpoint" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one dedicated endpoint: state, model, hardware, autoscaling bounds and display name. Together: GET /endpoints/{endpointId}.

    Annotations the server declares

    • title: Get one endpoint
    • readOnlyHint: true
  • together_get_fileFetch one file's metadata, including its processing_status and validation_report (why a fine-tune training file was rejected).No findings

    Why it is in this group

    • The name "together_get_file" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one file's metadata, including its processing_status and validation_report (why a fine-tune training file was rejected). Together: GET /files/{id}.

    Annotations the server declares

    • title: Get one file
    • readOnlyHint: true
  • together_get_fine_tuneFetch one fine-tuning job: status, progress, hyperparameters, token counts, cost and the output model name.No findings

    Why it is in this group

    • The name "together_get_fine_tune" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one fine-tuning job: status, progress, hyperparameters, token counts, cost and the output model name. Together: GET /fine-tunes/{id}.

    Annotations the server declares

    • title: Get one fine-tuning job
    • readOnlyHint: true
  • together_list_batchesList batch inference jobs with status, progress, model and input/output/error file ids.No findings

    Why it is in this group

    • The name "together_list_batches" says "list": a word for reading.
    Description, as the server wrote it
    List batch inference jobs with status, progress, model and input/output/error file ids. Together: GET /batches.

    Annotations the server declares

    • title: List batch jobs
    • readOnlyHint: true
  • together_list_endpointsList endpoints with model, owner and state (PENDING, STARTING, STARTED, STOPPING, STOPPED, ERROR).No findings

    Why it is in this group

    • The name "together_list_endpoints" says "list": a word for reading.
    Description, as the server wrote it
    List endpoints with model, owner and state (PENDING, STARTING, STARTED, STOPPING, STOPPED, ERROR). Use mine=true and type=dedicated to see what is running on your account and billing by the minute. Together: GET /endpoints.

    Annotations the server declares

    • title: List endpoints
    • readOnlyHint: true
  • together_list_evaluationsList LLM-as-a-judge evaluation jobs (classify, score, compare) with status, parameters and results once completed.No findings

    Why it is in this group

    • The name "together_list_evaluations" says "list": a word for reading.
    Description, as the server wrote it
    List LLM-as-a-judge evaluation jobs (classify, score, compare) with status, parameters and results once completed. Together: GET /evaluation.

    Annotations the server declares

    • title: List evaluation jobs
    • readOnlyHint: true
  • together_list_filesList uploaded data files (fine-tune, eval and batch-api inputs, plus job outputs) with size, type, purpose and validation status.No findings

    Why it is in this group

    • The name "together_list_files" says "list": a word for reading.
    Description, as the server wrote it
    List uploaded data files (fine-tune, eval and batch-api inputs, plus job outputs) with size, type, purpose and validation status. Together: GET /files.

    Annotations the server declares

    • title: List files
    • readOnlyHint: true
  • together_list_fine_tune_eventsList the event log of one fine-tuning job (queued, started, checkpoint saved, epoch completed, errors).No findings

    Why it is in this group

    • The name "together_list_fine_tune_events" says "list": a word for reading.
    Description, as the server wrote it
    List the event log of one fine-tuning job (queued, started, checkpoint saved, epoch completed, errors). The first place to look when a job failed. Together: GET /fine-tunes/{id}/events.

    Annotations the server declares

    • title: List a fine-tuning job's events
    • readOnlyHint: true
  • together_list_fine_tunesList fine-tuning jobs with status, base model, output model name and training settings.No findings

    Why it is in this group

    • The name "together_list_fine_tunes" says "list": a word for reading.
    Description, as the server wrote it
    List fine-tuning jobs with status, base model, output model name and training settings. Together: GET /fine-tunes.

    Annotations the server declares

    • title: List fine-tuning jobs
    • readOnlyHint: true
  • together_list_hardwareList hardware configurations for dedicated endpoints with GPU type/count/memory and price in cents per minute.No findings

    Why it is in this group

    • The name "together_list_hardware" says "list": a word for reading.
    Description, as the server wrote it
    List hardware configurations for dedicated endpoints with GPU type/count/memory and price in cents per minute. Pass a model to get only compatible configurations with live availability. Together: GET /hardware.

    Annotations the server declares

    • title: List hardware
    • readOnlyHint: true
  • together_list_modelsList Together's models with type (chat, language, code, image, embedding, moderation, rerank), context length, organization, license and per-token pricing.No findings

    Why it is in this group

    • The name "together_list_models" says "list": a word for reading.
    Description, as the server wrote it
    List Together's models with type (chat, language, code, image, embedding, moderation, rerank), context length, organization, license and per-token pricing. Together: GET /models.

    Annotations the server declares

    • title: List models
    • readOnlyHint: true
  • together_whoamiIdentify the API key: its organization, project and project slug.No findings

    Why it is in this group

    • The name "together_whoami" says "whoami": a word for reading.
    Description, as the server wrote it
    Identify the API key: its organization, project and project slug. The project slug forms the `<project_slug>/<endpoint_slug>` model name for dedicated-endpoint inference. A cheap way to confirm the key works. Together: GET /whoami.

    Annotations the server declares

    • title: Who am I
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.16.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http together-ai https://together-ai.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__together-ai__together_whoami",
      "mcp__together-ai__together_list_models",
      "mcp__together-ai__together_list_files",
      "mcp__together-ai__together_get_file",
      "mcp__together-ai__together_list_fine_tunes",
      "mcp__together-ai__together_get_fine_tune",
      "mcp__together-ai__together_list_fine_tune_events",
      "mcp__together-ai__together_list_batches",
      "mcp__together-ai__together_get_batch",
      "mcp__together-ai__together_list_endpoints",
      "mcp__together-ai__together_get_endpoint",
      "mcp__together-ai__together_list_hardware",
      "mcp__together-ai__together_list_evaluations"
    ],
    "ask": [],
    "deny": [
      "mcp__together-ai__together_chat_completion",
      "mcp__together-ai__together_create_embeddings",
      "mcp__together-ai__together_generate_image",
      "mcp__together-ai__together_create_fine_tune",
      "mcp__together-ai__together_cancel_fine_tune",
      "mcp__together-ai__together_create_batch",
      "mcp__together-ai__together_cancel_batch",
      "mcp__together-ai__together_create_endpoint",
      "mcp__together-ai__together_start_endpoint",
      "mcp__together-ai__together_stop_endpoint"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as together-ai. Review it before you use it.