MCPcopy Index your code
hub / github.com/NightTrek/Ollama-mcp

github.com/NightTrek/Ollama-mcp @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
18 symbols 48 edges 1 files 0 documented · 0% updated 18mo ago★ 752 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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

🚀 Getting Started

Prerequisites

  • Ollama installed on your system
  • Node.js and npm/pnpm

Installation

  1. Install dependencies:
pnpm install
  1. Build the server:
pnpm run build

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": "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

Extension points exported contracts — how you extend this code

OllamaGenerateResponse (Interface)
(no doc)
src/index.ts

Core symbols most depended-on inside this repo

formatError
called by 12
src/index.ts
setupToolHandlers
called by 1
src/index.ts
handleServe
called by 1
src/index.ts
handleCreate
called by 1
src/index.ts
handleShow
called by 1
src/index.ts
handleRun
called by 1
src/index.ts
handlePull
called by 1
src/index.ts
handlePush
called by 1
src/index.ts

Shape

Method 14
Class 2
Function 1
Interface 1

Languages

TypeScript100%

Modules by API surface

src/index.ts18 symbols

For agents

$ claude mcp add Ollama-mcp \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page