Skip to main content
Glama

Venice MCP Server

npm version CI License: MIT MCP

A Model Context Protocol (MCP) server for Venice AI. Gives AI assistants like Claude access to Venice's text generation, image creation, text-to-speech, embeddings, and account management APIs.

What It Does

This MCP server lets Claude (or any MCP-compatible assistant) use Venice AI's features directly:

  • Chat with Llama, DeepSeek, Qwen, and other open models

  • Generate images using Stable Diffusion, FLUX, and more

  • Create speech from text with natural-sounding voices

  • Generate embeddings for search and RAG applications

  • Manage API keys and monitor rate limits

Related MCP server: sora-mcp-server

Quick Start

1. Get a Venice API Key

Sign up at venice.ai and create an API key in Settings → API.

2. Install

npm install -g venice-mcp

3. Configure Claude Desktop

Add to your config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "venice": {
      "command": "npx",
      "args": ["-y", "venice-mcp"],
      "env": {
        "VENICE_API_KEY": "your-api-key-here"
      }
    }
  }
}

Restart Claude Desktop. You'll see Venice tools available in the đź”§ menu.

Available Tools

Generation

Tool

Description

venice_chat

Chat with Venice AI language models

venice_generate_image

Generate images from text descriptions

venice_upscale_image

Upscale and enhance images

venice_text_to_speech

Convert text to spoken audio

venice_create_embeddings

Generate text embeddings

Discovery

Tool

Description

venice_list_models

List available models (text, image, code)

venice_list_characters

List character personas

Account Management

Requires an admin-level API key:

Tool

Description

venice_list_api_keys

List all API keys

venice_create_api_key

Create a new API key

venice_retrieve_api_key

Get details for a key

venice_delete_api_key

Delete an API key

venice_get_rate_limits

View rate limits and usage

venice_get_rate_limit_logs

View rate limit history

Examples

Ask Claude to generate an image:

"Use Venice to create an image of a sunset over mountains"

Chat with a specific model:

"Ask Venice's DeepSeek model to explain quantum computing"

Check your usage:

"Show my Venice API rate limits"

Supported Models

Language Models: Llama 3.3 70B, DeepSeek R1, Qwen 3, Mistral, and more
Image Models: Stable Diffusion 3.5, FLUX, Fluently XL
Embeddings: BGE-M3 (1024 dimensions)
TTS: Kokoro with multiple voice options

Run venice_list_models to see all currently available models.

Requirements

  • Node.js 18+

  • Venice AI API key

Development

Setup

git clone https://github.com/georgeglarson/venice-mcp.git
cd venice-mcp
npm install
npm run build

Testing

npm test              # Run tests
npm run test:watch    # Watch mode
npm run test:coverage # Coverage report

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

License

MIT - see LICENSE

Available Tools

13 tools
venice_chatB

Send a message to Venice AI and get a response from an LLM

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel ID (e.g., llama-3.3-70b, deepseek-r1-llama-70b)llama-3.3-70b
messageYesThe user message to send
max_tokensNoMaximum tokens to generate
temperatureNoSampling temperature (0-2)
system_promptNoOptional system prompt

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only states basic functionality without disclosing behavioral traits such as statelessness, rate limits, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no superfluous words, but it could be structured to include more helpful context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, no output schema), the description is minimally adequate but lacks explanation of overall behavior, such as the stateless nature of requests.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents parameters. The description adds no additional meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'send a message' and resource 'Venice AI get a response from an LLM', which is distinct from sibling tools like image generation or text-to-speech.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, nor any context about when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

venice_create_api_keyC

Create a new API key

ParametersJSON Schema
NameRequiredDescriptionDefault
expiresAtNoOptional expiration date (ISO 8601 format)
apiKeyTypeNoAPI key type (ADMIN or INFERENCE)INFERENCE
descriptionYesDescription for the new API key
consumptionLimitNoOptional consumption limits

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, and the description does not disclose behavioral traits such as permissions, reversibility, rate limits, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short but lacks necessary detail. It is concise but not effectively structured to aid selection or invocation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 parameters including a nested object and no output schema, the description is minimally complete—it does not explain usage context or return value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 100%, the description adds no additional meaning to the parameters—it does not mention the required description parameter or clarify optional ones like consumption limits.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Create a new API key' is clear, specific, and distinguishes from sibling tools like delete or list API keys.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

venice_create_embeddingsB

Generate text embeddings for semantic search and RAG

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesText or array of texts to embed
modelNoEmbedding modeltext-embedding-ada-002

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states 'generate', implying a non-destructive operation, but omits details like output format, rate limits, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 7 words, which is concise but lacks important information like usage context and behavioral details. It is functional but too brief for optimal clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema and annotations, the description does not explain return values, constraints, or any additional context needed for proper use. It is incomplete for a tool with two parameters and no other structured documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with clear descriptions for both 'input' and 'model'. The description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates text embeddings and specifies the use cases (semantic search and RAG). It uniquely identifies the tool among siblings, which include chat, image generation, and API key management.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions. Agents receive no help in deciding between this and sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

venice_delete_api_keyC

Delete an API key

ParametersJSON Schema
NameRequiredDescriptionDefault
key_idYesThe API key ID to delete

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the burden. It only says 'Delete' with no mention of whether deletion is irrevocable, permission requirements, or side effects like cascading to associated sub-resources.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: one short sentence. No filler, but arguably too minimal. Efficient but front-loads the action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple deletion with a single parameter, the description covers the basic function. However, it lacks information about success/failure responses or error conditions, which would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already describes the parameter as 'The API key ID to delete'. The description adds no additional meaning beyond that. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Delete) and the resource (an API key), distinguishing it from sibling tools like create, list, and retrieve. It is specific but lacks detail on whether deletion is permanent or immediate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives (e.g., when to delete versus deactivate). No prerequisites or context provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

venice_generate_imageB

Generate an image from a text prompt using Venice AI

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNoImage size (e.g., 512x512, 1024x1024, 1792x1024)1024x1024
modelNoImage model (e.g., fluently-xl, flux-dev)fluently-xl
promptYesText description of the image to generate
style_presetNoStyle preset name
negative_promptNoWhat to avoid in the image

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must cover behavioral traits. It only says 'generate an image' without disclosing processing time, rate limits, cost, or safety considerations. Very minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise but borderline under-specified. For a tool with 5 parameters, more detail could be helpful without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, no output schema, and no annotations, the description is incomplete. It does not explain return value, error handling, or prerequisites.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters. The description adds no extra meaning beyond what's in the schema, earning a baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it generates an image from a text prompt using Venice AI, with a specific verb and resource. It distinguishes from sibling tools like venice_chat and venice_upscale_image.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., upscaling, chatting). No mention of prerequisites or conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

venice_get_rate_limit_logsB

Get rate limit usage history logs

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description should disclose behavioral traits like read-only or authentication needs. It merely restates the name without any operational details, such as whether logs are private or cumulative.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single clear sentence with no unnecessary words. It is efficient but could be slightly expanded to include a brief note on usage context without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations, output schema, and parameters, the description provides minimal context. It does not explain what the logs contain (e.g., timestamps, limits) or typical scenarios, leaving the agent with incomplete information for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema coverage is 100%, so the description does not need to add parameter details. The baseline for no parameters is 4, which is appropriate since no additional meaning is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and the resource ('rate limit usage history logs'), making the tool's purpose unambiguous. It differs from sibling venice_get_rate_limits, which deals with current limits, by focusing on historical logs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like venice_get_rate_limits. There are no prerequisites, context, or exclusion criteria mentioned, leaving the agent without decision support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

venice_get_rate_limitsA

Get current rate limits, usage, and account information

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description implies a read-only operation with 'Get', but does not explicitly confirm no side effects or disclose any behavioral traits such as authentication requirements or rate limit frequency. With no annotations, more transparency would be ideal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, clear sentence with no unnecessary words. Efficiently communicates the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema, the description adequately covers the functionality. It does not elaborate on return values, but output schema is missing and not required by the rubric.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so per the rubric baseline is 4. The description adds no parameter details, but no parameters exist, so it's acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and the resources ('rate limits, usage, and account information'), providing specific and distinct purpose from sibling tools like venice_chat or venice_generate_image.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidelines on when to use this tool versus alternatives. While it's a straightforward getter, the description does not mention best practices like checking limits before requests, but it's minimally acceptable given the tool's simplicity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

venice_list_api_keysA

List all API keys on the account (requires admin API key)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It mentions the admin API key requirement, which is important, but lacks details on side effects (read-only implied), pagination, 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that effectively conveys the tool's purpose and a key constraint. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema, the description is mostly complete, covering purpose and an important prerequisite. However, it omits details about the output format or any limits.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so baseline is 4. The description does not need to add parameter semantics beyond the schema, which is sufficiently empty.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List all API keys on the account', using a specific verb and resource. It also distinguishes from sibling tools like create, delete, and retrieve by name and action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage with 'requires admin API key' but does not explicitly state when to use this tool versus alternatives (e.g., retrieve vs list). No when-not or exclusion guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

venice_list_charactersA

List available Venice AI character personas for roleplay

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of characters to return (default: 20)

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It only states 'List available' without clarifying pagination, auth requirements, rate limits, or handling of the optional limit parameter. This leaves behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that immediately conveys the tool's purpose. No extraneous words, and the key action is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (one optional parameter, no output schema), the description adequately covers the core functionality. However, it could mention the default limit or result format. The sibling context provides enough differentiation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single parameter 'limit' well-described in the schema. The description adds no additional meaning beyond the schema, meeting the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the verb 'List', the resource 'Venice AI character personas', and the context 'for roleplay'. It clearly distinguishes from sibling tools like venice_chat (chat initiation) and venice_list_models (AI models).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for roleplay preparation but lacks explicit guidance on when to use this tool versus alternatives (e.g., venice_chat) or when not to use it. No exclusion criteria or context are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

venice_list_modelsB

List available Venice AI models by type

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter by model type (text, image, embedding, tts, asr, upscale, inpaint, video, or all)all

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only mentions listing by type, with no disclosure of behavioral traits like authentication requirements, output format, pagination, or potential errors. This is minimal for a tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently conveys the tool's core function without unnecessary words. Every word is purposeful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a simple one-parameter tool with full schema coverage, the description is adequate for a basic understanding. However, the lack of output schema or any behavioral annotations leaves gaps in what the agent can expect regarding return format or usage constraints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes the 'type' parameter fully (enum with default 'all'), achieving 100% schema description coverage. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'List available Venice AI models by type', which clearly identifies the action (list), the resource (available models), and the main filtering dimension (by type). This distinguishes it from sibling tools like venice_chat or venice_generate_image.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as when a broader list versus filtered list is needed, or what to do if no models are returned. The description lacks explicit context for when to choose this tool over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

venice_retrieve_api_keyB

Get details for a specific API key

ParametersJSON Schema
NameRequiredDescriptionDefault
key_idYesThe API key ID to retrieve

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; the description does not disclose behavioral traits such as read-only nature, idempotency, or authentication requirements beyond the implied retrieval action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise phrase with no wasted words, appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given one parameter, no output schema, and no annotations, the description is too brief; it does not explain what 'details' includes, response format, or error conditions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description repeats the schema's parameter description without adding further meaning, earning a baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Get' and resource 'details for a specific API key', clearly distinguishing it from sibling tools like list, create, and delete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives; no exclusions or prerequisites mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

venice_text_to_speechB

Convert text to speech audio using Venice AI

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to convert to speech
modelNoTTS modeltts-kokoro
voiceNoVoice ID (e.g., af_sky, af_bella, am_adam)af_sky

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description bears full responsibility. It only states the basic function without disclosing audio format, length limits, language support, or any side effects. This is insufficient for an agent to understand behaviors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, well-structured for quick reading. However, it could be slightly expanded to include more context without losing conciseness, hence a 4.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (3 parameters, no output schema), the description covers the main function but misses important details like output media type, typical use cases, or any limitations. It is minimally viable but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond what the schema already provides for each parameter. It does not clarify default behavior, value constraints, or output format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Convert text to speech audio using Venice AI', which directly specifies the action (convert), the input (text), and the output (speech audio). It distinguishes itself from sibling tools like venice_chat or venice_generate_image, which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool vs alternatives (e.g., venice_chat for text responses). There is no mention of context, prerequisites, or use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

venice_upscale_imageB

Upscale an image using Venice AI

ParametersJSON Schema
NameRequiredDescriptionDefault
imageYesBase64-encoded image data or URL
scaleNoUpscale factor (2, 4, etc.)

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must convey behavioral traits. It only states the general purpose without describing side effects, authorization requirements, rate limits, or output characteristics. The agent cannot determine if the operation is destructive or idempotent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, but it lacks critical details that would make it informative for an AI agent. It is not necessarily wasteful, but it sacrifices completeness for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (2 parameters) and lack of output schema or annotations, the description should provide more context about expected output, file size limits, supported formats, or error handling. The current description is insufficient for complete understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides descriptions for both parameters (image type and scale factor) with 100% coverage. The description adds no additional semantic information beyond what the schema offers, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (upscale) and the resource (an image) using a specific provider (Venice AI). It effectively distinguishes from the sibling tool 'venice_generate_image', which creates new images rather than processing existing ones.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'venice_generate_image' or the other sibling tools. There is no mention of prerequisites, limitations, or scenarios where this tool is appropriate or not.

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.

  1. 13 tool updatesv1.2.4
    • Removedvenice_chat
    • Removedvenice_create_api_key
    • Removedvenice_create_embeddings
    • Removedvenice_delete_api_key
    • Removedvenice_generate_image
    • Removedvenice_get_rate_limit_logs
    • Removedvenice_get_rate_limits
    • Removedvenice_list_api_keys
    • Removedvenice_list_characters
    • Removedvenice_list_models
    • Removedvenice_retrieve_api_key
    • Removedvenice_text_to_speech
    • Removedvenice_upscale_image
  2. 13 tool updatesv1.2.1
    • Addedvenice_chat
    • Addedvenice_create_api_key
    • Addedvenice_create_embeddings
    • Addedvenice_delete_api_key
    • Addedvenice_generate_image
    • Addedvenice_get_rate_limit_logs
    • Addedvenice_get_rate_limits
    • Addedvenice_list_api_keys
    • Addedvenice_list_characters
    • Addedvenice_list_models
    • Addedvenice_retrieve_api_key
    • Addedvenice_text_to_speech
    • Addedvenice_upscale_image
  3. 13 tool updatesv1.1.2
    • Removedvenice_chat
    • Removedvenice_create_api_key
    • Removedvenice_create_embeddings
    • Removedvenice_delete_api_key
    • Removedvenice_generate_image
    • Removedvenice_get_rate_limit_logs
    • Removedvenice_get_rate_limits
    • Removedvenice_list_api_keys
    • Removedvenice_list_characters
    • Removedvenice_list_models
    • Removedvenice_retrieve_api_key
    • Removedvenice_text_to_speech
    • Removedvenice_upscale_image
  4. 13 tool updates
    • First observedvenice_chat
    • First observedvenice_create_api_key
    • First observedvenice_create_embeddings
    • First observedvenice_delete_api_key
    • First observedvenice_generate_image
    • First observedvenice_get_rate_limit_logs
    • First observedvenice_get_rate_limits
    • First observedvenice_list_api_keys
    • First observedvenice_list_characters
    • First observedvenice_list_models
    • First observedvenice_retrieve_api_key
    • First observedvenice_text_to_speech
    • First observedvenice_upscale_image

TDQS

A3.6/5.0

Scored across 13 tools

Disambiguation5/5

Each tool has a unique purpose (chat, API key CRUD, embeddings, image generation, TTS, etc.) with no overlap, making it easy for an agent to select the correct tool.

Naming Consistency5/5

All tools follow a consistent 'venice_verb_noun' pattern (e.g., venice_create_api_key, venice_list_models), which is predictable and clear.

Tool Count5/5

13 tools covering chat, image, embeddings, TTS, API key management, and monitoring is well-scoped for an AI API server without being excessive.

Completeness4/5

Core functionalities are covered (chat, images, embeddings, TTS, API key CRUD minus update, rate limits). Minor gaps like no streaming or API key update do not hinder basic workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers