Ollama MCP Server
The Ollama MCP Server integrates Ollama's local LLM capabilities into MCP applications, enabling:
Model Management: Pull, push, list, create, copy, remove, and view model details
Model Execution: Run models with custom prompts and use OpenAI-compatible chat completion API
Server Control: Start and manage the Ollama server
Configuration: Customize API endpoints, timeouts, and parameters like temperature
Provides complete integration with Ollama, allowing users to pull, push, list, create, copy, and run local LLM models. Includes model management, execution of models with customizable prompts, and an OpenAI-compatible chat completion API.
Offers an OpenAI-compatible chat completion API that serves as a drop-in replacement, enabling the use of local Ollama models with the familiar OpenAI chat interface and message structure.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Ollama MCP Serverrun llama2 to summarize this article about AI safety"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Ollama MCP Server
π 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
Chat completion API with system/user/assistant roles
Configurable parameters (temperature, timeout)
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
π Getting Started
Prerequisites
Ollama installed on your system
Node.js and npm/pnpm
Installation
Install dependencies:
pnpm installBuild the server:
pnpm run buildConfiguration
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": "node",
"args": ["/path/to/ollama-server/build/index.js"],
"env": {
"OLLAMA_HOST": "http://127.0.0.1:11434" // Optional: customize Ollama API endpoint
}
}
}
}π 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"
}
});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
}
});Create Custom Model
await mcp.use_mcp_tool({
server_name: "ollama",
tool_name: "create",
arguments: {
name: "custom-model",
modelfile: "./path/to/Modelfile"
}
});π§ 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
10 toolschat_completionB
OpenAI-compatible chat completion API
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Name of the Ollama model to use | |
| messages | Yes | Array of messages in the conversation | |
| temperature | No | Sampling temperature (0-2) | |
| timeout | No | Timeout in milliseconds (default: 60000) |
TDQS
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 'OpenAI-compatible' but doesn't specify key traits like whether it's read-only or destructive, authentication needs, rate limits, or response formats. This leaves significant gaps for a tool that likely involves API calls and text generation.
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 a single, efficient sentence that directly states the tool's function without unnecessary details. It's appropriately sized and front-loaded, with zero waste, making it easy for an agent to grasp the core purpose quickly.
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?
Given the tool's complexity (involving model interactions and multiple parameters) and no output schema, the description is incomplete. It lacks details on return values, error handling, or behavioral traits. However, the high schema coverage provides some compensation, resulting in an adequate but minimal score.
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 input schema has 100% description coverage, so the schema fully documents all parameters. The description adds no additional meaning beyond the schema, such as explaining the 'OpenAI-compatible' context for parameters. This meets the baseline score of 3, as the schema handles the heavy lifting.
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 clearly states the tool's purpose as an 'OpenAI-compatible chat completion API,' which indicates it generates text responses in a conversational format. It specifies the verb 'completion' and resource 'chat,' though it doesn't differentiate from siblings like 'run' or 'serve' that might also involve model interactions, keeping it from a perfect score.
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?
No guidance is provided on when to use this tool versus alternatives. The description lacks context about scenarios like generating text, handling conversations, or comparisons with other tools such as 'run' or 'serve,' leaving the agent without usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cpC
Copy a model
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | Source model name | |
| destination | Yes | Destination model name |
TDQS
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. 'Copy a model' implies a read and write operation, but it doesn't specify whether this requires permissions, if it overwrites existing models, what happens on failure, or any rate limits. For a mutation tool with zero annotation coverage, this leaves critical behavioral traits undisclosed.
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 a single, efficient sentence with zero waste. It's front-loaded and appropriately sized for a simple tool, making it easy to parse quickly. Every word earns its place without redundancy.
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?
Given the complexity of copying a model (a mutation operation), the lack of annotations, and no output schema, the description is incomplete. It doesn't explain what a 'model' entails, the copy mechanism, success/failure behaviors, or return values. For a tool with 2 required parameters and no structured safety hints, more context is needed.
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 input schema has 100% description coverage, with clear documentation for 'source' and 'destination' parameters. The description adds no additional meaning beyond what the schema provides (e.g., no details on model naming conventions or path structures). Since the schema does the heavy lifting, the baseline score of 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?
The description 'Copy a model' clearly states the verb (copy) and resource (model), which is better than a tautology. However, it lacks specificity about what kind of model is being copied (e.g., machine learning model, data model) and doesn't distinguish this tool from potential siblings like 'create' or 'pull' that might also involve models. The purpose is understandable but vague.
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 provides no guidance on when to use this tool versus alternatives. With siblings like 'create', 'pull', 'push', and 'rm' available, there's no indication of whether 'cp' is for duplicating models locally, copying between repositories, or other contexts. No prerequisites, exclusions, or comparisons are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createC
Create a model from a Modelfile
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name for the model | |
| modelfile | Yes | Path to Modelfile |
TDQS
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. It states the action ('Create a model') but fails to describe key traits: whether this is a write operation (implied but not explicit), what permissions or authentication are needed, if it's idempotent or destructive, rate limits, or what happens on success/failure. For a creation tool with zero annotation coverage, this is a significant gap in transparency.
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 a single, efficient sentence: 'Create a model from a Modelfile'. It is front-loaded with the core action, has zero wasted words, and is appropriately sized for the tool's complexity. Every part of the sentence contributes essential information, making it highly concise and well-structured.
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?
Given the complexity of a model creation tool, the description is incomplete. No annotations exist to cover behavioral aspects, and there is no output schema to explain return values. The description alone lacks details on success criteria, error handling, or output format, leaving gaps that could hinder an agent's ability to use the tool effectively in context.
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 input schema has 100% description coverage, with clear docs for 'name' and 'modelfile' parameters. The description adds no additional semantic meaning beyond the schema, such as format details (e.g., what constitutes a valid name or path) or constraints. Given the high schema coverage, the baseline score of 3 is appropriate, as the schema handles the parameter documentation adequately.
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 clearly states the tool's purpose: 'Create a model from a Modelfile'. This specifies the verb ('Create'), resource ('model'), and source ('Modelfile'), making the action distinct. However, it doesn't explicitly differentiate from sibling tools like 'pull' or 'run', which might also involve model creation or usage, leaving room for ambiguity in sibling context.
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 provides no guidance on when to use this tool versus alternatives. It lacks context on prerequisites (e.g., needing a Modelfile), exclusions (e.g., not for updating existing models), or comparisons to siblings like 'pull' (which might fetch models) or 'run' (which might use models). This absence leaves the agent without usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listC
List models
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'List models' implies a read-only operation but doesn't disclose any behavioral traits such as pagination, sorting, filtering, error handling, or what happens if no models exist. This leaves significant gaps for an agent to understand how to use it effectively.
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 extremely concise with just two words, front-loaded with the action ('List') and object ('models'). There is no wasted text, making it efficient for quick scanning, though this brevity contributes to its lack of detail.
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?
Given the complexity of listing models (which could involve various types and contexts), the description is incomplete. With no annotations, no output schema, and minimal description, it fails to provide enough context for an agent to use it correctly, especially compared to siblings that might handle similar data.
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 input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate, but it could have mentioned if any implicit parameters (like context or filters) are involved. Baseline is 4 for zero parameters.
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 'List models' restates the tool name 'list' with a generic object ('models'), making it tautological. It doesn't specify what kind of models (e.g., AI models, data models) or from what context, nor does it differentiate from sibling tools like 'show' or 'run' that might also display information.
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?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention any context, prerequisites, or exclusions, and with siblings like 'show' or 'run' that might overlap in functionality, the lack of differentiation is misleading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pullC
Pull a model from a registry
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the model to pull |
TDQS
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. It states the action but doesn't explain what 'pull' entailsβsuch as whether it downloads, caches, or modifies data, requires authentication, has side effects, or handles errors. This leaves significant gaps in understanding the tool's 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?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to grasp quickly.
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?
Given the lack of annotations and output schema, the description is incomplete. It doesn't cover behavioral aspects like what happens after pulling (e.g., where the model is stored, success/failure indicators) or usage context, which is insufficient for a tool that likely involves network operations or data handling.
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 input schema has 100% description coverage, with the 'name' parameter documented as 'Name of the model to pull'. The description adds no additional meaning beyond this, so it meets the baseline score of 3 for high schema coverage without extra param info.
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 clearly states the action ('pull') and resource ('a model from a registry'), making the purpose understandable. However, it doesn't differentiate this tool from its siblings like 'push', 'list', or 'rm', which likely operate on similar resources, 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.
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 prerequisites, context for pulling models, or when to choose other tools like 'push' or 'list', leaving usage ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pushC
Push a model to a registry
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the model to push |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the action ('push') but doesn't disclose behavioral traits such as whether this is a write operation, what permissions are required, if it overwrites existing models, or any rate limits. The description is minimal and misses key operational details.
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 a single, efficient sentence with no wasted words. It's front-loaded and appropriately sized for the tool's apparent simplicity, making it easy to parse quickly.
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?
Given the lack of annotations and output schema, and the description's minimalism, it's incomplete. For a tool that likely involves writing to a registry (implied by 'push'), more context is needed on behavior, outcomes, and error handling. The description doesn't compensate for the missing structured data.
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 input schema has 100% description coverage, with the parameter 'name' documented as 'Name of the model to push'. The description doesn't add any meaning beyond this, such as format constraints or examples. With high schema coverage, the baseline score of 3 is appropriate as the schema handles the parameter documentation.
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 action ('push') and resource ('a model to a registry'), which is clear but vague. It doesn't specify what 'push' entails (e.g., upload, publish) or what 'registry' refers to, and doesn't distinguish it from sibling tools like 'pull' or 'create' beyond the verb difference.
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?
No guidance is provided on when to use this tool versus alternatives. For example, it doesn't explain when to push versus pull, or how it relates to tools like 'create' or 'run' in the context of model management. The description lacks any context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rmC
Remove a model
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the model to remove |
TDQS
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. 'Remove' implies a destructive operation, but the description doesn't specify whether this is permanent, reversible, requires confirmation, affects dependencies, or has side effects. For a destructive tool with zero annotation coverage, this is a significant gap in transparency.
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 extremely concise at just three words, with zero wasted language. It's front-loaded with the core action and resource, making it immediately scannable and efficient for an AI agent.
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 destructive tool with no annotations and no output schema, the description is incomplete. It doesn't explain what 'remove' entails (deletion, uninstallation, etc.), what happens after removal, error conditions, or confirmation requirements. The agent lacks crucial context for safe and effective tool 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?
The input schema has 100% description coverage, with the single parameter 'name' documented as 'Name of the model to remove'. The description adds no additional parameter information beyond what the schema provides, so it meets the baseline score of 3 when schema coverage is high.
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 'Remove a model' clearly states the action (remove) and the resource (model), making the purpose immediately understandable. However, it doesn't differentiate this tool from potential alternatives like 'delete' or explain what type of model is being removed, which prevents a perfect score.
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 provides no guidance on when to use this tool versus alternatives. With sibling tools like 'create', 'list', 'show', and 'run', there's no indication whether 'rm' is for local models, remote models, or specific contexts. The agent must 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.
runC
Run a model
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the model | |
| prompt | Yes | Prompt to send to the model | |
| timeout | No | Timeout in milliseconds (default: 60000) |
TDQS
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. 'Run a model' gives no information about what the tool actually does - whether it's a read or write operation, what permissions might be required, whether it's resource-intensive, what happens on timeout, or what the expected output format might be. This is completely inadequate for a tool with 3 parameters and no output schema.
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 extremely concise at just three words. While this represents under-specification rather than ideal conciseness, according to the scoring framework, 'Process' received a 2 for conciseness while this is even more minimal. However, every word earns its place - 'Run' specifies the action, 'a' is necessary grammar, and 'model' identifies the resource. There's zero waste or redundancy.
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?
Given that this is a 3-parameter tool with no annotations and no output schema, the description 'Run a model' is completely inadequate. It doesn't explain what 'running' entails, what happens when you run a model, what the expected behavior is, or what kind of result to expect. For a tool that likely performs model inference or execution, this minimal description fails to provide the necessary context.
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 parameters are documented in the schema itself. The description adds no additional parameter information beyond what's already in the schema. According to the scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description, which applies here.
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 'Run a model' is a tautology that essentially restates the tool name 'run'. While it mentions a model, it doesn't specify what 'run' means in this context - whether it's executing inference, training, evaluation, or something else. It doesn't distinguish this tool from sibling tools like 'chat_completion' or 'serve' which might also involve models.
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 provides absolutely no guidance on when to use this tool versus alternatives. With sibling tools like 'chat_completion', 'create', 'list', 'pull', 'push', 'rm', 'serve', and 'show' available, there's no indication of when 'run' is appropriate versus these other operations. No context, prerequisites, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
serveB
Start Ollama server
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 starts a background process, requires specific permissions, has side effects, or what happens if the server is already running, leaving 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, directly stating the tool's purpose without any fluff or redundant 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?
Given the complexity of starting a server (a potentially significant operation) with no annotations and no output schema, the description is incomplete. It lacks details about what the tool returns, error conditions, or operational context, making it inadequate for safe use.
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 has 0 parameters with 100% schema description coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, earning a baseline score of 4 for not adding unnecessary information.
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 clearly states the action ('Start') and target ('Ollama server'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'run' or 'create' which might also initiate processes, missing full sibling differentiation.
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 provides no guidance on when to use this tool versus alternatives like 'run' or 'create' from the sibling list. It lacks context about prerequisites, timing, or exclusions, offering only basic functional information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
showC
Show information for a model
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the model |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states 'show information' which implies a read-only operation, but doesn't disclose behavioral traits such as whether it requires authentication, what happens if the model doesn't exist, rate limits, or the format of returned information. This leaves significant gaps for a tool with no annotation coverage.
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 a single, clear sentence with zero waste: 'Show information for a model.' It's appropriately sized and front-loaded, efficiently conveying the core purpose without unnecessary details. Every word 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?
Given the tool's complexity (simple read operation with 1 parameter), no annotations, and no output schema, the description is incomplete. It doesn't explain what information is shown, potential errors, or return values, leaving the agent with insufficient context to use the tool effectively beyond basic 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?
Schema description coverage is 100% (the 'name' parameter is fully described in the schema), so the baseline is 3. The description doesn't add meaning beyond the schema, as it doesn't elaborate on the 'name' parameter (e.g., format, examples, or constraints). With 1 parameter and high schema coverage, this is adequate but not additive.
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 'Show information for a model' states a general purpose (verb 'show' + resource 'model'), but it's vague about what specific information is shown and doesn't distinguish from siblings like 'list' (which might list models) or 'run' (which might execute a model). It avoids tautology by not restating the tool name 'show' directly.
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?
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 compare to siblings like 'list' for overviews or 'run' for execution. The description implies usage for viewing details but lacks explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes, such as list, pull, push, rm, and show, which clearly target different operations on models. However, 'run' and 'chat_completion' could be confused, as both involve executing models, though 'chat_completion' is more specific to API interactions. Overall, the descriptions help clarify boundaries, but there is some overlap in execution-related tools.
The naming is mixed with some inconsistencies: most tools use simple verb forms like list, pull, push, rm, run, and serve, which are consistent. However, 'chat_completion' uses snake_case and is more descriptive, while 'cp' and 'create' are shorter forms that deviate slightly. This creates a readable but not fully uniform pattern across all tools.
With 10 tools, the count is well-scoped for managing Ollama models, covering essential operations like listing, creating, pulling, pushing, removing, running, and serving. Each tool serves a clear purpose in the model lifecycle, making the set comprehensive without being overwhelming or too sparse for the domain.
The tool set provides complete coverage for Ollama model management, including CRUD operations (create, list, rm), lifecycle actions (pull, push, run, serve), and informational tools (show, chat_completion). There are no obvious gaps; agents can perform all core workflows from model acquisition to execution and maintenance seamlessly.
Maintenance
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
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors β no code.
Connect MCP clients to 2,000+ AI models without managing provider API keys.
Talk to your public-facing AI from any MCP client β Claude, ChatGPT, Cursor, Cline, Windsurf.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables seamless integration between Ollama's local LLM models and MCP-compatible applications, supporting model management and chat interactions.131,144170AGPL 3.0
- FlicenseNot gradedqualityDmaintenanceA server that enables seamless integration between local Ollama LLM instances and MCP-compatible applications, providing advanced task decomposition, evaluation, and workflow management capabilities.6
- AlicenseCqualityDmaintenanceA bridge that integrates Ollama's local LLM capabilities into MCP-powered applications, enabling users to run, manage, and interact with AI models locally with full control and privacy.94885MIT
- AlicenseAqualityDmaintenanceIntegrates Ollama's local AI models with MCP clients, enabling listing models, viewing model details, and asking questions to models.3MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/NightTrek/Ollama-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server