together-ai
Server Details
Run Together AI chat, embeddings and images; manage fine-tunes, batches and endpoints.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 23 tools
Tools target clearly distinct resources and lifecycle actions: batches, fine-tunes, endpoints, files, models, hardware, evaluations, chat, embeddings, and image generation. Overlap is minimal, and the one shared chat tool handles dedicated endpoints via the documented model naming convention.
Every tool uses the same together_ prefix and snake_case verb_noun pattern, e.g. together_list_batches, together_create_batch, together_cancel_fine_tune. Singular/plural usage follows normal REST resource naming without inconsistent conventions.
At 23 tools the set is somewhat heavy, but Together AI exposes several distinct sub-APIs (inference, files, fine-tunes, batches, endpoints, evaluations, hardware), and each tool earns its place with no obvious duplicate actions.
The surface is missing file upload/create and delete tools, which are essential prerequisites for batch jobs and fine-tuning; without them, together_create_batch and together_create_fine_tune are dead ends. Evaluations are list-only, with no create/get operations, leaving another notable gap.
Available Tools
23 toolstogether_cancel_batchCancel a batch jobADestructiveInspect
Cancel a batch job that has not finished. Together: POST /batches/{id}/cancel.
| Name | Required | Description | Default |
|---|---|---|---|
| batch_id | Yes | The batch job id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, so the mutation semantics are covered structurally. The description adds a useful constraint (only unfinished jobs can be cancelled) and the underlying REST endpoint, but says nothing about whether a running job is aborted mid-flight, whether cancellation is reversible, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and constraint, with the endpoint given as a compact trailing reference. Nothing wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter destructive tool with no output schema, the description covers purpose and the key state constraint. It could say more about post-cancellation job state, but nothing essential is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema description coverage is 100%, so the schema already documents batch_id fully. The description adds no syntax or format detail beyond what the schema provides, which is the expected baseline for this ratio.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Cancel) and resource (batch job) with a state qualifier ('that has not finished'), so an agent can distinguish it from together_cancel_fine_tune and other siblings. It's clear, though it doesn't explicitly name the sibling it is not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'that has not finished' implies the precondition for use, but there is no explicit when-to-use routing, no mention of alternatives (e.g., get_batch to check status first), and no guidance on what happens if the job is already terminal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_cancel_fine_tuneCancel a fine-tuning jobADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| fine_tune_id | Yes | The job id, e.g. ft-abc123. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
destructiveHint=true already tells the agent this is a destructive operation, and the description adds the crucial non-obvious detail that the cancellation is irreversible and that work can be recovered via from_checkpoint on a new job. It omits what state the job is left in and whether in-flight training steps are lost, so it stops short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with zero filler: the action is front-loaded, followed by the consequence and the recovery path, then the endpoint. Nothing needs trimming and nothing is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter destructive tool with annotations and no output schema, the definition covers the essentials: what it does, that it is irreversible, and how to recover. It could go slightly further by describing the response (e.g., the resulting job status) or any rate/permission constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single documented parameter (fine_tune_id with an example format), so the schema carries the full burden. The description adds no additional meaning about the identifier beyond what the schema already states, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource with scope: 'Cancel a running fine-tuning job.' An agent can immediately distinguish this from siblings like together_stop_endpoint or together_cancel_batch, and it even exposes the underlying REST endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when the tool applies ('running' job) and discloses the irreversibility plus a recovery path via from_checkpoint, which is useful decision context. However, it never states when to prefer this over alternatives, nor any preconditions such as required permissions or whether the job must be idle.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_chat_completionChat completionADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | Seed for reproducible sampling. | |
| stop | No | Stop sequences. | |
| model | Yes | Model name, e.g. meta-llama/Llama-3.3-70B-Instruct-Turbo. | |
| top_k | No | ||
| top_p | No | ||
| messages | Yes | The conversation so far. | |
| max_tokens | No | Maximum tokens to generate. | |
| temperature | No | ||
| reasoning_effort | No | Reasoning effort for reasoning models that support it. | |
| repetition_penalty | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided that usefully describe safety (destructiveHint=true is present but unexplained), so the description carries real burden. It does disclose two behavioral traits beyond the schema: the call is non-streaming and is billed per token. It says nothing about auth, latency, rate limits, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action and billing note, then the endpoint routing tip. No filler or restatement of the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter, no-output-schema tool, the description is adequate but thin: it covers the main action, cost, and streaming behavior, yet omits response shape expectations and any error/failure context. Nothing is misleading, but an agent must lean on the schema for most semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 60%, and several tuning params (top_k, top_p, temperature, repetition_penalty) have no descriptions anywhere. The description compensates partially by explaining the model argument can take a dedicated endpoint slug, but it leaves the sampling parameters unexplained. Baseline 3 is appropriate at this coverage level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (run a chat completion) and resource (Together model), and disambiguates from siblings like together_create_embeddings and together_generate_image by naming the exact operation. The non-streaming qualifier and the Together API path further pin down the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the name rather than stated: there is no when-to-use vs. sibling guidance, and no conditions for choosing this over embeddings or image generation. The one routing hint given ('For a dedicated endpoint pass its <project_slug>/<endpoint_slug> as the model') is about parameter form, not tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_create_batchCreate a batch jobBDestructiveInspect
Start an asynchronous batch job over an uploaded JSONL input file (purpose batch-api), at a discount to real-time inference. Together: POST /batches.
| Name | Required | Description | Default |
|---|---|---|---|
| endpoint | Yes | The API each line of the input file is sent to. | |
| model_id | No | Model to process the requests with. | |
| priority | No | Processing priority. | |
| input_file_id | Yes | File id of the uploaded JSONL request file. | |
| completion_window | No | Time window for completion, e.g. 24h. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide destructiveHint=true, so the description does add context: it discloses asynchronous execution, the JSONL/batch-api file requirement, and the discount tradeoff. It does not cover what happens on cancellation, auth/permission needs, or how to retrieve results, leaving meaningful gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with zero filler, and the core action is front-loaded before the endpoint reference. Nothing redundant is included.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and full schema coverage, the description adequately explains the operation but omits the natural follow-ups an agent needs: what is returned (a batch id), how to poll status via together_get_batch, and how to cancel via together_cancel_batch.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters are already documented in the schema (endpoint enum, input_file_id, model_id, priority, completion_window). The description adds no format or constraint detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Start an asynchronous batch job over an uploaded JSONL input file') and names the underlying endpoint (POST /batches). The create-vs-list/get/cancel distinction is largely inferable from the verb, but the description does not explicitly call out its siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'over an uploaded JSONL input file (purpose batch-api)' implicitly conveys the prerequisite that a file must already exist, and 'at a discount to real-time inference' hints at when to prefer this over together_chat_completion. However, no explicit when-to-use guidance or alternative routing is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_create_embeddingsCreate embeddingsBDestructiveInspect
Generate vector embeddings for one or more texts (billed per token). Together: POST /embeddings.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | A text, or a list of texts, to embed. | |
| model | Yes | Embedding model, e.g. BAAI/bge-large-en-v1.5. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only supply destructiveHint=true, which the description neither confirms nor contradicts, so no contradiction is flagged. The description usefully adds the billing model ('billed per token') and the mapped endpoint, but says nothing about latency, rate limits, or how input array length affects the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the action and scope leading, followed by the endpoint mapping. Zero filler, every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with full schema coverage and no output schema, the definition covers the essentials. The only real gap is that it never hints at the return shape (vectors per input) or how multiple inputs map to multiple embeddings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are documented in the schema, so the schema carries the burden. The phrase 'one or more texts' loosely mirrors the input anyOf, but adds no format or constraint detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Generate') and resource ('vector embeddings for one or more texts'), and anchors it with the underlying REST endpoint POST /embeddings. It is clearly distinguishable from chat_completion and generate_image siblings, though it never names them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose embeddings over the sibling text/image generation tools, nor prerequisites or batching advice. The '(billed per token)' note hints at cost but not usage conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_create_endpointCreate a dedicated endpointADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | The model to deploy. | |
| state | No | Initial state. Pass STOPPED to create without starting (and without billing). | |
| hardware | Yes | Hardware id, e.g. 1x_nvidia_a100_80gb_sxm. | |
| autoscaling | Yes | Replica bounds for autoscaling. | |
| display_name | No | Human-readable name. | |
| inactive_timeout | No | Minutes of inactivity before auto-stop; 0 disables it. | |
| availability_zone | No | Availability zone, e.g. us-central-4b. | |
| disable_speculative_decoding | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only carry destructiveHint=true, so the description must supply the operational picture โ and it does, disclosing that the endpoint STARTS AUTOMATICALLY and bills per minute until stopped, and how to auto-stop it. It does not cover permissions, error modes, or provisioning latency, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight clauses with the cost warning front-loaded and the resource-routing hint last. Every sentence earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter, nested-schema creation tool with no output schema, the description covers the highest-risk facts (billing, auto-start, auto-stop, hardware-id lookup). It omits nothing critical, though listing the initial-state STOPPED trick inline would have made it self-contained against the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 88%, so the schema already documents most parameters. The description adds real meaning for inactive_timeout (auto-stop semantics) and hardware id sourcing, but leaves autoscaling, availability_zone, and disable_speculative_decoding entirely to the schema. Baseline with minor added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Deploy a model on dedicated GPUs') and implicitly distinguishes creation from the sibling lifecycle tools together_start_endpoint and together_stop_endpoint. An agent can tell this creates a new endpoint rather than manipulating an existing one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete routing guidance: 'use together_list_hardware for valid hardware ids' and 'set inactive_timeout to auto-stop it', plus the schema-level guidance to pass STOPPED to avoid billing. It does not explicitly contrast this with together_start_endpoint, but the create-vs-start distinction is clear from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_create_fine_tuneCreate a fine-tuning jobADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Base model to fine-tune. | |
| suffix | No | Suffix for the fine-tuned model's name (max 64 chars). | |
| n_evals | No | Evaluations on the validation set during training. | |
| n_epochs | No | Passes over the training data. | |
| batch_size | No | Batch size, or 'max' (the default). | |
| warmup_ratio | No | ||
| learning_rate | No | ||
| n_checkpoints | No | Intermediate checkpoints to save. | |
| training_file | Yes | File id of an uploaded training file (purpose fine-tune). | |
| training_type | No | Full fine-tune or LoRA. Together defaults to LoRA when omitted. | |
| max_seq_length | No | ||
| from_checkpoint | No | Continue from a previous job: <job_id>, <output_model_name>, optionally with :<step>. | |
| training_method | No | Supervised fine-tuning (sft, the default) or preference tuning (dpo). | |
| validation_file | No | File id of an uploaded validation file. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide destructiveHint=true and a title, so the description carries most of the burden. It adds genuinely useful traits beyond the structured data: the cost model ('billed per token processed'), the input prerequisite, and the lifecycle partner (together_cancel_fine_tune). It still omits that the job is asynchronous/long-running and how it is monitored.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded clauses: the action, the cost caveat, the stop path, and the API route. No filler, and the most important information (what it does and what it costs) comes first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter job-creation tool with nested training_type/training_method objects and no output schema, the description is adequate but thin: it doesn't say a job id is returned, that training runs asynchronously, or which sibling tools (get_fine_tune, list_fine_tune_events) track progress.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 79% with 14 parameters, so the baseline is 3. The description adds nothing about model selection, LoRA vs full tuning, epochs, or validation_file beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Start a fine-tuning job on an uploaded training file') and explicitly names the sibling that stops it, so an agent can distinguish it from together_cancel_fine_tune and together_get_fine_tune without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the prerequisite (a training file already uploaded) and names the cancel counterpart, but it never states when a fine-tune job is the right operation versus siblings like together_create_batch or together_create_endpoint. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_generate_imageGenerate an imageADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | Number of images. | |
| seed | No | ||
| model | Yes | Image model, e.g. black-forest-labs/FLUX.1-schnell. | |
| steps | No | Number of generation steps. | |
| width | No | Width in pixels. | |
| height | No | Height in pixels. | |
| prompt | Yes | What to draw. | |
| image_url | No | Input image URL, for models that support editing. | |
| output_format | No | ||
| guidance_scale | No | Prompt adherence; higher is more literal. | |
| negative_prompt | No | What to steer away from. | |
| response_format | No | url (default here) or base64. base64 can be very large. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are thin (only destructiveHint=true), so the description carries most of the burden and delivers: it discloses per-image/megapixel billing and that URLs are returned by default rather than base64 to keep responses small. It does not mention auth/permission requirements, but the cost and response-shape disclosures are genuinely useful context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, each earning its place: the core action, the billing caveat, the response-format default, and the endpoint. Front-loaded and waste-free.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter generative tool with no output schema, the description covers the cost model, the default output shape, and the default encoding, which is what an agent most needs before invoking. Minor gaps (model selection guidance, editing-vs-generation behavior of image_url) remain but nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, so the schema already documents nearly all 12 parameters (n, model, steps, width/height, prompt, response_format, etc.). The description only echoes the response_format default, adding little param-level meaning beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Generate images from a prompt') plus the underlying endpoint (POST /images/generations). No sibling tool covers image generation, so no differentiation is needed and the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the generation task, and the description notes the default response_format behavior, but it gives no explicit when-to-use guidance, no prerequisites (e.g., which models support image_url editing), and no conditions under which an agent should pick it over a chat completion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_get_batchGet one batch jobARead-onlyInspect
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}.
| Name | Required | Description | Default |
|---|---|---|---|
| batch_id | Yes | The batch job id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds real behavioral context beyond that: the full status lifecycle (VALIDATING through CANCELLED) and the fact that file ids only appear once the job is done, plus the underlying endpoint. It does not mention polling cadence or retention, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence front-loads the verb and payload, followed by a compact API reference line. No filler, and the most decision-relevant information (status values and completion-gated fields) comes first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so adequately by naming the status enum and the conditional file-id fields. Combined with readOnlyHint annotations and a fully documented single parameter, an agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter, batch_id, and schema description coverage is 100%, so the schema fully documents it. The description adds no format, sourcing, or example detail (e.g. where the id comes from) beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Fetch) and resource (one batch job) and enumerates what is returned: status, progress, and the output/error file ids. The qualifier 'one' implicitly separates it from together_list_batches, so an agent can route without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied โ an agent infers this is the polling/status-check tool used after together_create_batch. There is no explicit when-to-use, when-not, or named alternative (e.g. together_list_batches for enumeration), leaving the routing decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_get_endpointGet one endpointARead-onlyInspect
Fetch one dedicated endpoint: state, model, hardware, autoscaling bounds and display name. Together: GET /endpoints/{endpointId}.
| Name | Required | Description | Default |
|---|---|---|---|
| endpoint_id | Yes | The endpoint id, e.g. endpoint-d23901de-.... |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already tells the agent this is a safe, non-mutating read. The description adds the useful detail of what data comes back, but says nothing about auth requirements, error behavior for a missing/invalid id, or pagination (not applicable here).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the payload of returned fields is front-loaded, and the HTTP mapping (GET /endpoints/{endpointId}) is appended with no filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read with no output schema, the description compensates by enumerating the returned fields, so the agent knows what to expect. Auth and error semantics remain unstated, a minor gap for a tool this simple.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single well-documented endpoint_id parameter (including an example format). The description adds no parameter semantics beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Fetch) and resource (one dedicated endpoint) and enumerates the fields retrieved (state, model, hardware, autoscaling bounds, display name). It implicitly contrasts with together_list_endpoints by saying 'one', but does not name a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: fetch a single endpoint when you already have its id. There is no explicit when-to-use versus list_endpoints or when-not guidance, and no prerequisites stated, so the agent must infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_get_fileGet one fileARead-onlyInspect
Fetch one file's metadata, including its processing_status and validation_report (why a fine-tune training file was rejected). Together: GET /files/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| file_id | Yes | The file id, e.g. file-abc123. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered; the description adds valuable behavioral context by naming the returned processing_status and the validation_report (which explains fine-tune file rejections). It stops short of describing error behavior for an invalid/missing id, which would be the remaining useful detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence plus the underlying REST reference; no padding and nothing an agent must skip past to find the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-resource read with one documented required parameter and full annotation coverage, the description is essentially complete; it even compensates for the absent output schema by naming key return fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema description coverage is 100%, with 'file-abc123' example already in the schema, so the description adds no syntax or format meaning beyond it. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Fetch one file's metadata') and enumerates the salient returned fields, letting an agent distinguish it from together_list_files without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: fetch a single file by id versus listing files. There is no explicit when-to-use guidance, no mention of prerequisites, and no named alternative for retrieving metadata in bulk.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_get_fine_tuneGet one fine-tuning jobARead-onlyInspect
Fetch one fine-tuning job: status, progress, hyperparameters, token counts, cost and the output model name. Together: GET /fine-tunes/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| fine_tune_id | Yes | The job id, e.g. ft-abc123. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description goes further by enumerating what is returned (status, progress, hyperparameters, token counts, cost, output model name) and naming the underlying REST call, which is genuinely useful behavioral detail given there is no output schema. It omits auth and rate-limit context, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler, with the resource and return payload front-loaded and the REST mapping as a compact trailing detail. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the return fields, and the single required parameter is fully covered by the schema. It is nearly complete; only the absence of any usage/prerequisite framing keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single fine_tune_id parameter is documented with an example (ft-abc123). The description adds no parameter-level meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (fetch) and resource (one fine-tuning job), and enumerates the returned content, which cleanly separates it from the sibling together_list_fine_tunes. An agent can identify it as the singular read-by-id counterpart without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the singular-by-id form and the sibling list tool, but the description never states when to reach for this versus together_list_fine_tunes or together_list_fine_tune_events, nor any prerequisite such as obtaining the id first. No explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_list_batchesList batch jobsBRead-onlyInspect
List batch inference jobs with status, progress, model and input/output/error file ids. Together: GET /batches.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes this is a safe read, so the description is not obligated to restate that. It adds the returned field set (status, progress, model, file ids), which is useful since no output schema exists, but says nothing about pagination, result ordering, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the resource scope front-loaded, followed by a short endpoint note. Every clause earns its place, though the 'Together: GET /batches' fragment is marginally redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list tool with no output schema, the description adequately conveys what is returned and that it is a read operation. The absence of any pagination or default-ordering note is the only shortfall.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("List batch inference jobs") and enumerates the returned fields, so the agent knows exactly what this tool surfaces. It does not explicitly distinguish itself from the sibling together_get_batch, which is the only real gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no routing to alternatives such as together_get_batch for a single job or together_list_batches vs. sibling list tools. Usage can only be inferred from the verb 'List'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_list_endpointsList endpointsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| mine | No | Only endpoints owned by the caller. | |
| type | No | Filter by endpoint type. | |
| usage_type | No | Filter by usage type. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds useful context about the lifecycle state values and that dedicated running endpoints are billed by the minute, but it says nothing about pagination, result size, or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences lead with the core purpose, followed by a compact flag for the underlying HTTP route. Slightly terse but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with all-optional parameters and no output schema, the description covers purpose, returned fields, and a common invocation pattern. The absence of pagination or ordering notes is a minor gap given the project's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented in the schema. The description only restates the mine/type filters inside a usage example, adding no syntax or format detail beyond what the schema provides; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific verb+resource ('List endpoints') and enumerates the returned fields (model, owner, state), so an agent can distinguish it from sibling get_endpoint/create_endpoint/start_endpoint. It stops short of explicitly naming an alternative sibling, keeping it just below a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete conditional guidance ('Use mine=true and type=dedicated to see what is running on your account and billing by the minute'), which tells the agent when a particular invocation is appropriate. It doesn't state outright exclusions or explicitly route to get_endpoint for single-endpoint lookups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_list_evaluationsList evaluation jobsARead-onlyInspect
List LLM-as-a-judge evaluation jobs (classify, score, compare) with status, parameters and results once completed. Together: GET /evaluation.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of jobs to return. | |
| status | No | Filter by status: pending, queued, running, completed, error, user_error. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, covering the safety profile. The description adds useful context that results only appear 'once completed' and that jobs carry parameters, but says nothing about pagination, ordering, or result volume, so it adds modest value beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences, with the core purpose and return content front-loaded and the API route tacked on last. Nothing is wasted, though the endpoint reference is not strictly necessary for invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read-only list tool with no output schema, the description covers purpose, filterable status semantics, and return content adequately. An agent has enough to call it correctly, with only minor gaps around pagination and ordering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (limit, status) are fully documented, so the schema does the heavy lifting. The description nods at 'status' as a filter dimension but adds no syntax or default-behavior detail beyond the schema, matching the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (List) and resource (LLM-as-a-judge evaluation jobs), and even enumerates the subtypes (classify, score, compare) plus what each job carries (status, parameters, results). No sibling is a plausible confusion for this resource, so the lack of an explicit contrast is not costly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the verb and the read-only listing scope, but the description never states when to reach for this tool versus alternatives, nor any prerequisite such as needing completed jobs to see results. It leaves the agent to infer the call context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_list_filesList filesARead-onlyInspect
List uploaded data files (fine-tune, eval and batch-api inputs, plus job outputs) with size, type, purpose and validation status. Together: GET /files.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description adds genuine context by disclosing the returned fields (size, type, purpose, validation status) and the underlying endpoint (GET /files), which matters since there is no output schema. It stops short of pagination or ordering behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste, front-loaded with the scope and what is returned. The endpoint reference is a useful compact addition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-param read-only list tool with no output schema, the description adequately covers the resource scope and the returned fields. It could mention result limits or pagination, but nothing essential to invoking it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing to disambiguate and the baseline is 4. The description adds no parameter guidance because none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (uploaded data files), and enumerates the exact scope: fine-tune, eval and batch-api inputs plus job outputs. An agent can tell this apart from together_get_file (single file) and the other list_* siblings because the resource is clearly named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: it is the listing entry point for files. There is no explicit statement of when to use it versus together_get_file, nor any prerequisite or exclusion. Adequate but with a clear routing gap given the many list_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_list_fine_tune_eventsList a fine-tuning job's eventsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| fine_tune_id | Yes | The job id, e.g. ft-abc123. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already establishes the safe-read profile, so the bar is lower. The description adds value by naming the event types returned (queued, started, checkpoint saved, epoch completed, errors), but says nothing about pagination, ordering, or volume limits, which matters for a log endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: purpose and event scope first, debugging use case second, API mapping last. No filler and the most decision-relevant information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema, the enumeration of event kinds partially substitutes for a return-value spec. Slightly short of complete because log shape (ordering, timestamps, pagination) remains unspecified, but adequate to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and fine_tune_id is documented in-schema with a format example (ft-abc123). The description adds no additional parameter meaning, so this is the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'List the event log of one fine-tuning job' with the event kinds enumerated, which distinguishes it from siblings like together_get_fine_tune (fetch the job) and together_list_fine_tunes (enumerate jobs). It stops short of explicitly naming those alternatives, so it is clear but not fully sibling-differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'The first place to look when a job failed' gives a concrete usage context and priority ordering, which is genuinely useful routing guidance. It does not name alternatives or state exclusions (e.g., use get_fine_tune for current status only), so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_list_fine_tunesList fine-tuning jobsARead-onlyInspect
List fine-tuning jobs with status, base model, output model name and training settings. Together: GET /fine-tunes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already tells the agent this is a safe read, so the bar is lower. The description adds the field inventory returned per job, which is modest extra context, but says nothing about pagination, ordering, or what an empty result means. It also embeds the raw endpoint (GET /fine-tunes), which is plumbing rather than behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with the action and the returned fields. The trailing 'Together: GET /fine-tunes' is redundant internals that adds no decision value, slightly diluting an otherwise tight description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with no params and no output schema, the description covers the essentials of what it returns. However, with no output schema present, the description is the only place pagination, ordering, and result shape could be conveyed, and those are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the description correctly describes none, so there is no semantic gap to fill. Baseline 4 applies for a no-param tool; nothing here misleads about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (List) plus resource (fine-tuning jobs), and it enumerates the returned fields (status, base model, output model name, training settings), which distinguishes it from sibling getter read_*_fine_tune (singular) and list_fine_tune_events. An agent can route correctly without inspecting the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the verb (list all fine-tunes), and the sibling names make alternatives inferable, but the description never states when to prefer this over together_list_fine_tune_events or together_get_fine_tune. No exclusions or conditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_list_hardwareList hardwareARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Only hardware compatible with this model, with availability. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description adds useful behavioral context beyond that: results reflect live availability, price is expressed in cents per minute, and configurations are scoped to dedicated endpoints. It omits pagination/rate-limit behavior, but adds real value over the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the resource and its returned fields, followed by the optional filter behavior. The trailing 'Together: GET /hardware' endpoint reference is minor filler but harmless.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, yet the description carries the return-value burden by naming the fields returned (GPU type/count/memory, price in cents per minute). With a single fully documented optional parameter and readOnly annotation, an agent has everything needed to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the model parameter is fully documented in the schema; baseline 3 applies. The description restates the parameter's effect and adds the nuance that results carry live availability, but contributes little syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (hardware configurations for dedicated endpoints), and even enumerates what the records contain (GPU type/count/memory, price in cents per minute). This clearly distinguishes it from siblings like together_list_models and together_list_endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent when to pass the model parameter: to restrict to compatible configurations with live availability. It gives clear usage context but does not name an alternative tool or state when-not to use this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_list_modelsList modelsARead-onlyInspect
List Together's models with type (chat, language, code, image, embedding, moderation, rerank), context length, organization, license and per-token pricing. Together: GET /models.
| Name | Required | Description | Default |
|---|---|---|---|
| dedicated | No | Only return models that can run on dedicated endpoints. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes this as a safe read operation. The description adds the underlying HTTP method (GET /models) and enumerates return fields, which is useful context, but it does not discuss pagination, authentication requirements, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the core listing action and return fields. The trailing HTTP mapping is brief and informative, with no wasted wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the fields returned. Annotations cover the safety profile and the schema fully documents the sole parameter. Pagination behavior is not addressed, but overall this is sufficiently complete for a simple list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the single 'dedicated' parameter. The description does not mention this parameter at all, so it adds no meaning beyond the schema; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('Together's models') and enumerates the fields returned, including model type categories. The resource name clearly distinguishes it from sibling list tools for endpoints, files, batches, and fine-tunes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the purpose: an agent should use this when it needs to enumerate available models. However, the description gives no explicit when-to-use guidance, no exclusions, and does not point to any alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_start_endpointStart a dedicated endpointADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| endpoint_id | Yes | The endpoint id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only destructiveHint=true in annotations, the description adds important behavior: billing accrues per minute of uptime until stopped, and the action is reversible via together_stop_endpoint. This gives the agent cost and reversibility context that annotations do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: purpose first, then billing, reversibility, and backend operation. All sentences are short and none are redundant for the decision to invoke the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with full schema coverage, no output schema, and a destructive hint, the description supplies the key missing context: what it does, cost implications, and how to undo it. Nothing essential for correct invocation is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single endpoint_id parameter is already documented in the schema. The description references endpointId in the API path but adds no meaningful semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Start a stopped dedicated endpoint.' It clearly distinguishes the action from siblings, especially by naming together_stop_endpoint as the reversal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage when an endpoint is stopped and names the alternative reverse action, together_stop_endpoint. However, it does not explicitly state when not to use it or route to create/get alternatives for other endpoint states.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_stop_endpointStop a dedicated endpointADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| endpoint_id | Yes | The endpoint id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only carry destructiveHint=true, so the description adds substantial value: it discloses the billing side effect, the request-failure behavior, and the reversibility of the action. It stops short of stating required permissions or whether in-flight requests are drained first.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and its effect, followed by the failure behavior and the underlying API mapping. Every sentence carries distinct information with no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter mutation tool with no output schema, the description covers the trigger, the billing consequence, the failure mode, and the endpoint mapping an agent needs. Nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single endpoint_id parameter is already documented in the schema. The description adds no syntax, format, or example beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('Stop') and resource ('dedicated endpoint') and states the immediate effect ('stops its per-minute billing'), which distinguishes it from the sibling together_start_endpoint. An agent can select it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for when this applies: a running endpoint whose billing should cease, with the resulting failure mode of inbound requests. It implies the counterpart action ('until it is started again') but never names together_start_endpoint as the alternative, so exclusions are left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
together_whoamiWho am IARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered, but the description adds real value beyond that: it discloses the returned identity tuple, the derived `<project_slug>/<endpoint_slug>` model-name convention, and the fact that it is a low-cost validation call. It does not describe auth failure modes or rate-limit behavior, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core purpose, then the derived slug usage, then a practical framing. Every sentence carries information and none is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by enumerating the returned fields (organization, project, project slug) and explaining their downstream significance, plus the underlying GET /whoami route. Nothing an agent needs to call and interpret this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify; the baseline for a parameterless schema applies. The description correctly adds no spurious parameter discussion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (identify) and resource (the API key), and enumerates the returned identity fields (organization, project, project slug), which no sibling tool covers. An agent can distinguish this key-introspection tool from the inference/listing siblings at a glance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"A cheap way to confirm the key works" gives an explicit when-to-use context, and the project-slug note explains a downstream use case for the result. It stops short of naming alternatives or when-not-to-use conditions, but the tool is uniquely scoped so that gap is minor.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
23 tool updates
- First observed
together_cancel_batch - First observed
together_cancel_fine_tune - First observed
together_chat_completion - First observed
together_create_batch - First observed
together_create_embeddings - First observed
together_create_endpoint - First observed
together_create_fine_tune - First observed
together_generate_image - First observed
together_get_batch - First observed
together_get_endpoint - First observed
together_get_file - First observed
together_get_fine_tune - First observed
together_list_batches - First observed
together_list_endpoints - First observed
together_list_evaluations - First observed
together_list_files - First observed
together_list_fine_tune_events - First observed
together_list_fine_tunes - First observed
together_list_hardware - First observed
together_list_models - First observed
together_start_endpoint - First observed
together_stop_endpoint - First observed
together_whoami
Related MCP Connectors
Manage your Mistral platform โ models, files, batch jobs, agents and RAG document libraries.
Run AI models, create deployments, and manage predictions via cloud API
LLM chat, text tools, image generation, editing, batch image jobs, and asynchronous video generation
run any ai model. compose agents, stack knowledge, connect tools. one api, pay per run.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to run open models such as Flux, Llama, and Whisper and to manage the resulting predictions, deployments, and model metadata. Supports starting, polling, streaming, and cancelling runs, with webhook notifications for completion.35 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables automated LLM red teaming by submitting asynchronous test runs, retrieving aggregated metrics, and accessing artifacts.4CC BY-SA 4.0
- AlicenseNot gradedqualityBmaintenanceEnables chatting with AI models, listing and filtering models, retrieving model details and credit balance, and checking generation costs and provider statistics.170 npmMIT
- AlicenseAqualityFmaintenanceUnified AI compute API gateway for agents. Access 30+ services and 95+ models across 8 backends (Groq, Together AI, DeepInfra, Fireworks, Replicate, RunPod) with native x402 USDC payments, Stripe, and crypto top-up.547 npm2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.