Skip to main content
Glama

ollama_pull_model

Idempotent

Download models from the Ollama library to your local machine. Use this tool to install models needed for AI tasks when they aren't already available locally.

Instructions

Download a model from the Ollama library to the local machine. Use this tool when a model is needed but not yet installed locally. Do not use this if the model is already available — call ollama_list_models first to check. Do not use this to run inference — use ollama_chat or ollama_generate after pulling. Behavior: WRITE operation — downloads large files (1–100+ GB) and stores them on disk. Idempotent — re-pulling an already-installed model is safe and verifies integrity. No authentication required. No rate limits. Execution time ranges from seconds to hours depending on model size and network bandwidth. Not destructive (does not delete existing data). On network failure, returns an error object without throwing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modelYesModel identifier to download from the Ollama library. Use the format 'name:tag' (e.g., 'llama3.1:8b', 'mistral:latest', 'codellama:13b-instruct'). The tag selects a specific size or quantization variant. Omitting the tag defaults to ':latest'.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusNoDownload result status (e.g., 'success'). Indicates the model is now available for inference.
errorNoError message if the download failed (e.g., network error, model not found in library). Only present on failure.
Behavior5/5

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

The description adds substantial behavioral context beyond annotations: it discloses the operation as a WRITE that downloads large files (1–100+ GB), specifies idempotency details (safe re-pull with integrity verification), notes no authentication or rate limits, describes execution time variability, clarifies it's not destructive, and explains error handling on network failure. This enriches the annotations (which cover idempotency and non-destructive hints) with practical implementation details.

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 well-structured and front-loaded with the core purpose, followed by usage guidelines and behavioral details. Each sentence adds distinct value without redundancy, and the length is appropriate for the tool's complexity. It efficiently covers multiple aspects in a compact form.

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

Completeness5/5

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

Given the tool's complexity (a write operation with large downloads), rich annotations, and the presence of an output schema, the description is highly complete. It covers purpose, usage, behavioral traits, and constraints, leaving no significant gaps. The output schema handles return values, so the description appropriately focuses on operational context.

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?

With 100% schema description coverage, the baseline is 3. The description adds value by implicitly reinforcing the parameter's purpose ('Model identifier to download') and providing context about model availability and installation, though it doesn't elaborate on parameter syntax beyond what the schema already details (e.g., format examples). This slightly exceeds the baseline.

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 specific action ('Download a model from the Ollama library to the local machine') and distinguishes it from siblings by specifying it's for downloading, not for listing models (ollama_list_models), running inference (ollama_chat/ollama_generate), or other operations. It explicitly identifies the resource as 'model' and the scope as 'from the Ollama library to the local machine'.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use ('when a model is needed but not yet installed locally'), when not to use ('Do not use this if the model is already available'), and alternatives ('call ollama_list_models first to check', 'use ollama_chat or ollama_generate after pulling'). It clearly differentiates this tool from its siblings with specific conditions.

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

Install Server

Other Tools

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/VrtxOmega/Ollama-Omega'

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