Skip to main content
Glama
hyzhak

Ollama MCP Server

by hyzhak

Ollama MCP Server

This is a rebooted and actively maintained fork.
Original project: NightTrek/Ollama-mcp

This repository (hyzhak/ollama-mcp-server) is a fresh upstream with improved maintenance, metadata, and publishing automation.

See NightTrek/Ollama-mcp for project history and prior releases.

πŸš€ A powerful bridge between Ollama and the Model Context Protocol (MCP), enabling seamless integration of Ollama's local LLM capabilities into your MCP-powered applications.

🌟 Features

Complete Ollama Integration

  • Full API Coverage: Access all essential Ollama functionality through a clean MCP interface

  • OpenAI-Compatible Chat: Drop-in replacement for OpenAI's chat completion API

  • Local LLM Power: Run AI models locally with full control and privacy

Core Capabilities

  • πŸ”„ Model Management

    • Pull models from registries

    • Push models to registries

    • List available models

    • Create custom models from Modelfiles

    • Copy and remove models

  • πŸ€– Model Execution

    • Run models with customizable prompts (response is returned only after completion; streaming is not supported in stdio mode)

    • Vision/multimodal support: pass images to compatible models

    • Chat completion API with system/user/assistant roles

    • Configurable parameters (temperature, timeout)

    • NEW: think parameter for advanced reasoning and transparency (see below)

    • Raw mode support for direct responses

  • πŸ›  Server Control

    • Start and manage Ollama server

    • View detailed model information

    • Error handling and timeout management

Related MCP server: Ollama MCP Server

πŸš€ Quick Start

Prerequisites

  • Ollama installed on your system

  • Node.js (with npx, included with npm)

Configuration

Add the server to your MCP configuration:

For Claude Desktop:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "ollama": {
      "command": "npx",
      "args": ["ollama-mcp-server"],
      "env": {
        "OLLAMA_HOST": "http://127.0.0.1:11434"  // Optional: customize Ollama API endpoint
      }
    }
  }
}

πŸ›  Developer Setup

Prerequisites

  • Ollama installed on your system

  • Node.js and npm

Installation

  1. Install dependencies:

npm install
  1. Build the server:

npm run build

πŸ›  Usage Examples

Pull and Run a Model

// Pull a model
await mcp.use_mcp_tool({
  server_name: "ollama",
  tool_name: "pull",
  arguments: {
    name: "llama2"
  }
});

// Run the model
await mcp.use_mcp_tool({
  server_name: "ollama",
  tool_name: "run",
  arguments: {
    name: "llama2",
    prompt: "Explain quantum computing in simple terms"
  }
});

Run a Vision/Multimodal Model

// Run a model with an image (for vision/multimodal models)
await mcp.use_mcp_tool({
  server_name: "ollama",
  tool_name: "run",
  arguments: {
    name: "gemma3:4b",
    prompt: "Describe the contents of this image.",
    imagePath: "./path/to/image.jpg"
  }
});

Chat Completion (OpenAI-compatible)

await mcp.use_mcp_tool({
  server_name: "ollama",
  tool_name: "chat_completion",
  arguments: {
    model: "llama2",
    messages: [
      {
        role: "system",
        content: "You are a helpful assistant."
      },
      {
        role: "user",
        content: "What is the meaning of life?"
      }
    ],
    temperature: 0.7
  }
});

// Chat with images (for vision/multimodal models)
await mcp.use_mcp_tool({
  server_name: "ollama",
  tool_name: "chat_completion",
  arguments: {
    model: "gemma3:4b",
    messages: [
      {
        role: "system",
        content: "You are a helpful assistant."
      },
      {
        role: "user",
        content: "Describe the contents of this image.",
        images: ["./path/to/image.jpg"]
      }
    ]
  }
});

Note: The images field is optional and only supported by vision/multimodal models.

Create Custom Model

await mcp.use_mcp_tool({
  server_name: "ollama",
  tool_name: "create",
  arguments: {
    name: "custom-model",
    modelfile: "./path/to/Modelfile"
  }
});

🧠 Advanced Reasoning with the think Parameter

Both the run and chat_completion tools now support an optional think parameter:

  • think: true: Requests the model to provide step-by-step reasoning or "thought process" in addition to the final answer (if supported by the model).

  • think: false (default): Only the final answer is returned.

Example (run tool):

await mcp.use_mcp_tool({
  server_name: "ollama",
  tool_name: "run",
  arguments: {
    name: "deepseek-r1:32b",
    prompt: "how many r's are in strawberry?",
    think: true
  }
});
  • If the model supports it, the response will include a <think>...</think> block with detailed reasoning before the final answer.

Example (chat_completion tool):

await mcp.use_mcp_tool({
  server_name: "ollama",
  tool_name: "chat_completion",
  arguments: {
    model: "deepseek-r1:32b",
    messages: [
      { role: "user", content: "how many r's are in strawberry?" }
    ],
    think: true
  }
});
  • The model's reasoning (if provided) will be included in the message content.

Note: Not all models support the think parameter. Advanced models (e.g., "deepseek-r1:32b", "magistral") may provide more detailed and accurate reasoning when think is enabled.

πŸ”§ Advanced Configuration

  • OLLAMA_HOST: Configure custom Ollama API endpoint (default: http://127.0.0.1:11434)

  • Timeout settings for model execution (default: 60 seconds)

  • Temperature control for response randomness (0-2 range)

🀝 Contributing

Contributions are welcome! Feel free to:

  • Report bugs

  • Suggest new features

  • Submit pull requests

πŸ“ License

MIT License - feel free to use in your own projects!


Built with ❀️ for the MCP ecosystem

Available Tools

9 tools
chat_completionChat completionC

OpenAI-compatible chat completion API. Supports optional images per message for vision/multimodal models.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYes
messagesYes
temperatureNo
thinkNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While it mentions API compatibility and image support, it fails to describe critical behaviors: whether this is a read/write operation, authentication requirements, rate limits, cost implications, response format, or error handling. For a complex AI tool with 4 parameters, this leaves significant 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 perfectly concise with two sentences that each earn their place. The first establishes core functionality, the second adds important capability details. No wasted words, well-structured, and front-loaded with the essential purpose.

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?

For a complex AI completion tool with 4 parameters, 0% schema coverage, no annotations, and no output schema, the description is insufficiently complete. It covers basic purpose and one feature (images) but misses critical context: expected inputs beyond images, output format, error conditions, cost/rate limits, and differentiation from sibling tools. The agent would struggle to use this effectively without additional documentation.

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?

With 0% schema description coverage and 4 parameters, the description must compensate but only partially does so. It mentions 'optional images per message' which relates to the 'images' parameter and 'vision/multimodal models' which hints at 'model' selection. However, it doesn't explain 'messages' structure, 'temperature' effect, or 'think' parameter purpose. The description adds minimal semantic value beyond what's inferable from parameter names.

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 tool provides an 'OpenAI-compatible chat completion API' with specific mention of vision/multimodal support through images. It uses specific verbs ('completion API', 'supports') and identifies the resource (chat functionality). However, it doesn't explicitly differentiate from sibling tools like 'run' or 'create' which might have overlapping AI capabilities.

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. It doesn't mention any prerequisites, constraints, or comparison with sibling tools like 'run' (which might execute code) or 'create' (which might create resources). The agent receives no contextual direction about appropriate use cases.

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

cpCopy modelD

Copy a model

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYes
destinationYes

TDQS

D1.9/5.0
Behavior1/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. 'Copy a model' implies a mutation/write operation, but the description doesn't disclose any behavioral traits: it doesn't mention whether this requires specific permissions, whether it overwrites existing models at the destination, what happens on failure, or if there are rate limits. This is inadequate for a tool that presumably modifies data.

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 extremely concise at just three words ('Copy a model'), with zero wasted text. It's front-loaded with the core action, though this brevity comes at the cost of completeness. Every word earns its place by stating the basic operation.

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

Completeness1/5

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

Given the complexity of a copy operation (likely involving data mutation), no annotations, no output schema, and 2 undocumented parameters, the description is completely inadequate. It doesn't explain what 'model' means in this context, how the copy behaves, what gets returned, or any error conditions. This leaves critical gaps for an AI agent to use the tool correctly.

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

Parameters1/5

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

The input schema has 2 parameters (source, destination) with 0% description coverage in the schema itself. The tool description 'Copy a model' adds no meaning about what these parameters representβ€”it doesn't explain that 'source' is the model to copy from and 'destination' is where to copy it to, nor does it provide format examples (e.g., model IDs, paths). With low schema coverage, the description fails to compensate.

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

Purpose2/5

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

The description 'Copy a model' is a tautology that essentially restates the tool name 'cp' (copy) and title 'Copy model'. It specifies the verb 'copy' and resource 'model', but provides no differentiation from sibling tools like 'create', 'push', or 'pull' which might also involve model manipulation. The purpose is clear at a basic level but lacks specificity about what kind of copying this performs.

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. With sibling tools like 'create' (for new models), 'push' (for uploading), and 'pull' (for downloading), there's no indication whether 'cp' is for local duplication, cross-workspace copying, or version control operations. No prerequisites, exclusions, or contextual recommendations are mentioned.

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

createCreate model (remote only supports 'from')B

Create a model from a base model (remote only, no Modelfile support)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
fromYes

TDQS

B3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'remote only' and 'no Modelfile support', which adds some context about limitations, but fails to describe critical behaviors like whether this is a mutating operation, what permissions are required, error handling, or what the response looks like. For a creation tool with zero annotation coverage, this leaves significant 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 extremely conciseβ€”a single sentence that efficiently conveys the core action and key constraints. Every word earns its place, with no wasted text, making it easy to parse quickly.

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 complexity of a model creation tool with no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It lacks details on behavioral traits, parameter usage, error conditions, and return values, leaving the agent with insufficient information to use the tool effectively beyond basic intent.

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?

The schema description coverage is 0%, so the description must compensate for undocumented parameters. It mentions 'from a base model', which hints at the 'from' parameter's purpose, but doesn't explain the 'name' parameter or provide any details on format, constraints, or examples. This adds minimal value beyond what the bare schema provides.

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 ('create a model') and specifies the resource ('from a base model'), which distinguishes it from other creation-like tools. However, it doesn't explicitly differentiate from all sibling tools like 'pull' or 'run' that might also involve model creation in some contexts.

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 context with 'remote only, no Modelfile support', suggesting this tool is for remote operations without local configuration. However, it doesn't provide explicit guidance on when to use this versus alternatives like 'pull' or 'run', nor does it mention prerequisites or exclusions beyond the remote-only constraint.

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

listList modelsB

List all models in Ollama

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the action without disclosing behavioral traits. It doesn't mention whether this is a read-only operation, if it requires authentication, rate limits, or what the output format might be (e.g., list format, pagination).

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, efficient sentence that directly states the tool's purpose without any wasted words. It's front-loaded and appropriately sized for a simple tool with no parameters.

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 (0 parameters, no output schema, no annotations), the description is adequate but has clear gaps. It doesn't explain the return values or behavioral context, which is important even for a list operation, making it minimally viable but not fully helpful.

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 0 parameters, and the schema description coverage is 100%, so there's no need for parameter details in the description. The baseline for this scenario is 4, as the description appropriately doesn't add unnecessary parameter information.

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 verb ('List') and resource ('all models in Ollama'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'show' which might also display model information, so it doesn't reach the highest score.

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 like 'show' or 'run'. It lacks context about prerequisites, timing, or exclusions, leaving the agent to infer usage from the tool name alone.

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

pullPull modelC

Pull a model from a registry

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'Pull a model from a registry' implies a read operation that retrieves content, but doesn't specify whether this downloads files, caches locally, requires authentication, has rate limits, or what happens on success/failure. The description is minimal and lacks important behavioral context.

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 extremely concise at just 6 words, with zero wasted language. It's front-loaded with the core action and resource, making it immediately understandable at a basic level.

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?

For a tool with no annotations, no output schema, and 0% schema description coverage, the description is insufficiently complete. It doesn't explain what 'pulling' entails operationally, what the parameter means, what happens after execution, or how this differs from related registry operations among the sibling tools.

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?

The schema has 0% description coverage for its single parameter 'name', and the tool description provides no information about what this parameter represents. The description doesn't clarify whether 'name' refers to a model identifier, registry path, version tag, or other specification needed to pull the correct model.

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 ('pull') and resource ('model from a registry'), providing a specific verb+resource combination. However, it doesn't differentiate this tool from its sibling 'push', which would be the logical counterpart for registry operations.

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. With sibling tools like 'push', 'list', 'show', and 'rm' that likely operate on the same registry/models, there's no indication of when pulling is appropriate versus other operations.

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

pushPush modelC

Push a model to a registry

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'Push' implies a write/mutation operation, but it doesn't specify permissions required, whether it's idempotent, rate limits, or what happens on success/failure. This leaves significant gaps for a tool that likely modifies remote state.

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, direct sentence with zero wasted words. It's appropriately sized for a simple tool and front-loads the core action, making it easy to parse quickly.

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 no annotations, 0% schema coverage, no output schema, and a likely state-changing operation, the description is inadequate. It lacks details on behavior, parameters, outputs, and context needed for reliable use, especially compared to siblings like 'pull'.

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?

Schema description coverage is 0%, and the description adds no information about the 'name' parameter beyond what the bare schema indicates. It doesn't explain what the name refers to (e.g., model identifier, file path), expected format, or constraints, failing to compensate for the lack of schema documentation.

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 ('push') and resource ('a model to a registry'), making the purpose understandable. However, it doesn't differentiate this tool from its sibling 'pull' (which likely retrieves models) beyond the directional verb, missing explicit sibling distinction.

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 like 'pull' or 'create'. It lacks context about prerequisites (e.g., needing an existing model), exclusions, or comparisons with sibling tools, offering minimal usage direction.

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

rmRemove modelD

Remove a model

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

D1.7/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Remove a model' implies a destructive mutation, but it doesn't specify if this is permanent, requires confirmation, affects related resources, or has side effects. The description fails to add any behavioral context beyond the basic 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 extremely concise with just three words, front-loading the core action. There is zero waste or redundancy, making it efficient for quick parsing, though this brevity contributes to its inadequacy in other dimensions.

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

Completeness1/5

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

Given the complexity of a destructive tool with no annotations, 0% schema coverage, and no output schema, the description is completely inadequate. It lacks essential details like behavioral risks, parameter meaning, or usage context, leaving the agent ill-equipped to invoke it correctly.

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

Parameters1/5

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

Schema description coverage is 0%, meaning the single parameter 'name' is undocumented in the schema. The description 'Remove a model' adds no information about the parameter, such as what 'name' refers to, format expectations, or examples. It doesn't compensate for the lack of schema documentation.

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

Purpose2/5

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

The description 'Remove a model' restates the title 'Remove model' almost verbatim, making it tautological. While it does specify the verb 'remove' and resource 'model', it lacks specificity about what type of model or what removal entails. It doesn't distinguish from siblings like 'create' or 'list', which is a missed opportunity for clarity.

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

Usage Guidelines1/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. It doesn't mention prerequisites (e.g., needing an existing model), exclusions, or comparisons to siblings like 'create' or 'list'. This leaves the agent without context for appropriate tool selection.

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

runRun modelC

Run a model with a prompt. Optionally accepts an image file path for vision/multimodal models and a temperature parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
promptYes
imagesNo
temperatureNo
thinkNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions optional parameters but fails to describe critical behaviors such as rate limits, authentication needs, error handling, or what the tool returns. For a tool that likely involves AI model execution, this lack of detail is a significant gap.

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 appropriately sized and front-loaded in a single sentence, efficiently stating the core purpose and optional parameters without unnecessary words. Every part earns its place by conveying essential information concisely.

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 complexity of running AI models, no annotations, no output schema, and low parameter coverage, the description is incomplete. It lacks details on return values, error cases, model compatibility, or prerequisites, making it inadequate for safe and effective tool invocation by an agent.

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 description adds some meaning by specifying that 'images' are for vision/multimodal models and 'temperature' is a parameter, but with 0% schema description coverage and 5 parameters total, it doesn't fully compensate. Key parameters like 'name', 'prompt', and 'think' are undocumented in both schema and description, leaving semantics unclear.

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 verb ('run') and resource ('model'), specifying it accepts a prompt and optionally image files and temperature. However, it doesn't distinguish this tool from sibling tools like 'chat_completion' or 'cp', which might have overlapping functionality with models.

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 like 'chat_completion' or 'create'. It mentions optional parameters but doesn't explain scenarios where this tool is preferred or excluded, leaving the agent without context for selection.

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

showShow model infoC

Show information for a model

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

C2.2/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 for behavioral disclosure. It doesn't indicate whether this is a read-only operation, if it requires authentication, what happens on failure, or if there are rate limits. The description only states what the tool does at a surface level without revealing implementation behavior.

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 extremely concise at just 5 words, which is efficient for such a simple tool. However, this conciseness comes at the cost of being under-specified rather than appropriately detailed. The single sentence is front-loaded but lacks necessary elaboration.

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?

For a tool with no annotations, no output schema, and 0% schema description coverage, the description is inadequate. It doesn't explain what information is returned, what format it's in, or how to interpret results. Given the sibling tools suggest this is part of a model management system, more context about the tool's role is needed.

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?

The input schema has 1 parameter with 0% description coverage. The description provides no information about the 'name' parameter - what format it accepts, what models are available, or if it's case-sensitive. With low schema coverage, the description fails to compensate by explaining parameter meaning or constraints.

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

Purpose2/5

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

The description 'Show information for a model' restates the tool name 'show' and title 'Show model info' without adding specificity. It uses the verb 'show' which is generic and doesn't distinguish this tool from other 'show'-type operations. No details about what kind of information is shown or what constitutes a 'model' are provided.

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 given about when to use this tool versus alternatives. With sibling tools like 'list', 'create', 'run', and 'chat_completion' available, the description doesn't clarify if this is for metadata, configuration, or status information. There's no mention of prerequisites or when-not-to-use scenarios.

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

TDQS

C2.7/5.0
Disambiguation4/5

Most tools have distinct purposes, but 'chat_completion' and 'run' could cause confusion as both involve generating responses from models. 'chat_completion' is for OpenAI-compatible API calls with optional images, while 'run' is for simpler prompts with temperature control, but the overlap in functionality might lead to misselection in some scenarios.

Naming Consistency2/5

Naming is inconsistent with a mix of styles: 'chat_completion' uses snake_case, while others like 'cp', 'rm', and 'run' are abbreviated or single words, and 'list', 'pull', 'push', 'create', 'show' are simple verbs. There's no uniform pattern, making it harder to predict or remember tool names.

Tool Count5/5

With 9 tools, the count is well-scoped for managing Ollama models, covering operations like listing, creating, copying, running, and removing models, as well as registry interactions. Each tool serves a clear purpose without bloat, fitting the server's domain effectively.

Completeness4/5

The tool set provides good coverage for model management, including CRUD-like operations (create, list, rm), registry actions (pull, push), and usage (run, chat_completion, show). A minor gap is the lack of update or modify tools for existing models, but agents can work around this by recreating or using other methods.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables seamless integration between Ollama's local LLM models and MCP-compatible applications, supporting model management and chat interactions.
    13
    1,144
    170
    AGPL 3.0
  • A
    license
    B
    quality
    F
    maintenance
    A bridge that enables seamless integration of Ollama's local LLM capabilities into MCP-powered applications, allowing users to manage and run AI models locally with full API coverage.
    10
    1,144
    74
    AGPL 3.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hyzhak/ollama-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server