Skip to main content
Glama

OLLAMA-OMEGA

MCP server — Ollama bridge for any IDE. Sovereign compute. No cloud dependency.

Status Version Stack License Tests

Ollama-Omega MCP server


Ecosystem Canon

Ollama-Omega is the compute interface layer of the VERITAS & Sovereign Ecosystem (Omega Universe). It surfaces every locally installed Ollama model — and any cloud-hosted model accessible through an Ollama daemon — as a structured MCP tool set inside any MCP-compatible IDE or agent runtime.

Within the Omega Universe, governance flows downward from omega-brain-mcp (the VERITAS gate and approval pipeline) to Ollama-Omega (the inference transport). Ollama-Omega is the final execution node: it issues the prompt, receives model output, and returns a validated, schema-typed response. No inference executes before the upstream gate approves the request.

Ollama-Omega does not perform memory, authentication, persistence, or policy enforcement. Those responsibilities belong to the operators above it in the stack. This node does one thing: connect IDE to Ollama, reliably and without information loss.


Related MCP server: Ollama MCP Server

Overview

What it is:

  • A single-file MCP server (ollama_mcp_server.py) that bridges Ollama into any MCP-compatible client

  • Six validated tools covering health, model listing, chat, generation, model inspection, and model pull

  • Compatible with Claude Desktop, VS Code + Continue, Cursor, Antigravity IDE, and any other client that speaks MCP over stdio

What it is not:

  • A full AI platform, memory layer, or policy engine

  • A replacement for the Ollama daemon — it wraps the daemon's HTTP API over MCP stdio transport

  • A cloud service — all inference is local or routed through your own Ollama daemon


Features

Feature

Detail

6 MCP tools

Health check, list models, chat, generate, show model info, pull model

Stdio transport

JSON-RPC 2.0 over stdin/stdout — no network ports opened by this server

Typed output schemas

Every tool carries a full outputSchema for structured agent consumption

SSRF mitigation

follow_redirects=False on the singleton httpx client

Input validation

_validate_required() gate before any HTTP call; no uncaught KeyError

Safe JSON handling

_safe_json() wrapper — no crash on malformed Ollama responses

Error sanitization

_error() helper — no stack traces, no internals exposed to the client

Cloud model support

Any model accessible on your Ollama daemon is available — no config change required

Docker-ready

Dockerfile included for containerized deployment


Architecture

  IDE / MCP Client
  (Claude Desktop, VS Code + Continue, Cursor, Antigravity, ...)
         |
         |  stdio  JSON-RPC 2.0
         v
  +-----------------------------+
  |    ollama_mcp_server.py     |
  |  Validator  |   Dispatch    |
  |  Singleton httpx AsyncClient|
  +-----------------------------+
         |
         |  HTTP  (default: http://localhost:11434)
         v
  +-----------------------------+
  |       Ollama Daemon         |
  |  Local models  (GPU / CPU)  |
  |  Cloud proxy models         |
  +-----------------------------+
         |
         v
  Local model store
  (~/.ollama/models)

The server process lives for the lifetime of the IDE session. One httpx AsyncClient handles all upstream Ollama HTTP traffic. The MCP client never communicates with Ollama directly.


Quickstart

Prerequisites

  • Python 3.11 or later

  • Ollama daemon installed and running

Install Ollama

Platform

Method

Windows

Download the installer from ollama.com/download/windows and run it. Ollama starts automatically as a system tray service.

macOS

Download from ollama.com/download/mac, or via Homebrew: brew install ollama && ollama serve

Linux

curl -fsSL https://ollama.com/install.sh | sh — starts the daemon via systemd on supported distributions

Verify the daemon is reachable before proceeding:

curl http://localhost:11434
# Expected response: Ollama is running

Install Ollama-Omega

Option A — pip (simplest):

pip install mcp httpx

Then download the server file:

# macOS / Linux
curl -O https://raw.githubusercontent.com/VrtxOmega/Ollama-Omega/master/ollama_mcp_server.py

# Windows (PowerShell)
Invoke-WebRequest -Uri https://raw.githubusercontent.com/VrtxOmega/Ollama-Omega/master/ollama_mcp_server.py -OutFile ollama_mcp_server.py

Option B — clone the repository (recommended for local development):

git clone https://github.com/VrtxOmega/Ollama-Omega.git
cd Ollama-Omega
pip install mcp httpx

Option C — uv (virtual-env isolation, recommended for production):

git clone https://github.com/VrtxOmega/Ollama-Omega.git
cd Ollama-Omega
uv sync

Option D — Docker:

git clone https://github.com/VrtxOmega/Ollama-Omega.git
cd Ollama-Omega
docker build -t ollama-omega .
# Run with stdio transport for IDE integration:
docker run -i --rm -e OLLAMA_HOST=http://host.docker.internal:11434 ollama-omega

Pull a model

ollama pull llama3.2:3b

Configure your MCP client

Edit the configuration file for your IDE and add the ollama server block. Replace /path/to/Ollama-Omega with the actual path to your clone (or the directory containing ollama_mcp_server.py).

Claude Desktop

Config file locations:

Platform

Path

Windows

%APPDATA%\Claude\claude_desktop_config.json

macOS / Linux

~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "ollama": {
      "command": "python",
      "args": ["/path/to/Ollama-Omega/ollama_mcp_server.py"],
      "env": {
        "PYTHONUTF8": "1",
        "OLLAMA_HOST": "http://localhost:11434",
        "OLLAMA_TIMEOUT": "300"
      }
    }
  }
}

With uv (virtual-env isolation):

{
  "mcpServers": {
    "ollama": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/Ollama-Omega",
        "run",
        "python",
        "ollama_mcp_server.py"
      ],
      "env": {
        "PYTHONUTF8": "1",
        "OLLAMA_HOST": "http://localhost:11434",
        "OLLAMA_TIMEOUT": "300"
      }
    }
  }
}

VS Code + Continue / Cursor

Most MCP-compatible VS Code extensions follow the same JSON structure under their own config key. Substitute the command and args block from the Claude Desktop example above. Consult your extension's documentation for the exact config file path.

Antigravity IDE

Config file: ~/.gemini/antigravity/mcp_config.json

{
  "mcpServers": {
    "ollama": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/Ollama-Omega",
        "run",
        "python",
        "ollama_mcp_server.py"
      ],
      "env": {
        "PYTHONUTF8": "1",
        "OLLAMA_HOST": "http://localhost:11434"
      }
    }
  }
}

Restart your IDE after saving the configuration file. Verify connectivity by calling the ollama_health tool from your IDE.


Configuration

Variable

Default

Description

OLLAMA_HOST

http://localhost:11434

Base URL of the Ollama daemon. Override to point at a remote or containerized daemon.

OLLAMA_TIMEOUT

300

HTTP request timeout in seconds. Increase for large model pulls or slow cloud inference.

PYTHONUTF8

(unset)

Set to 1 on Windows to prevent Unicode encoding errors in stdio transport.

Cloud-hosted models exposed by your Ollama daemon (e.g., qwen3.5:397b-cloud via API proxy) are accessible through the same 6 tools with no configuration change. Authenticate first with ollama login.


Troubleshooting

Ollama daemon not running

# Start the daemon
ollama serve

# Verify
curl http://localhost:11434

If OLLAMA_HOST is set to a non-default value, confirm the URL and port match the daemon's bind address.


Port conflict — daemon fails to start

Ollama binds to port 11434 by default. If that port is occupied:

# macOS / Linux — find the occupying process
lsof -i :11434

# Windows (PowerShell)
netstat -ano | findstr :11434

Set OLLAMA_HOST to an alternate port once you have reconfigured the daemon.


Model not found / HTTP 404

The referenced model has not been pulled. Pull it first:

ollama pull <model-name>

# Cloud-hosted models require authentication:
ollama login
ollama pull qwen3.5:397b-cloud

Alternatively, call ollama_pull_model from your IDE once the server is connected.


Tools do not appear in the IDE

  1. Confirm the command path resolves to a working Python 3.11+ interpreter.

  2. Confirm mcp and httpx are installed in that interpreter's environment.

  3. Restart the IDE — MCP servers are discovered at startup, not while running.

  4. Check IDE logs for JSON-RPC handshake errors.


Windows: UnicodeEncodeError or garbled output

Set PYTHONUTF8=1 in the server's env block. This is already shown in the configuration examples above.


Docker: cannot reach localhost:11434

Docker containers run in an isolated network namespace. Replace localhost with host.docker.internal:

docker run -i --rm -e OLLAMA_HOST=http://host.docker.internal:11434 ollama-omega

On Linux hosts, --network=host may be required instead.


Request timed out after 300s

Cold inference on large models (70B+) or cloud-proxied models can exceed the default timeout. Increase it in your MCP client config:

"env": { "OLLAMA_TIMEOUT": "600" }

Security and Sovereignty

Ollama-Omega runs exclusively on localhost by default, communicating with the Ollama daemon over the loopback interface. No data leaves the machine unless your Ollama daemon is configured to proxy to a cloud endpoint.

Hardening applied to this server:

Control

Implementation

SSRF prevention

follow_redirects=False on the httpx singleton

Input sanitization

Required-argument validation before any outbound HTTP call

Error sanitization

Internal errors are never forwarded to the MCP client

Non-root Docker

Container process runs as a dedicated ollama user

Limitations and out-of-scope items:

  • Authentication between the MCP client and this server is not implemented. MCP stdio transport is inherently scoped to the local process boundary.

  • This server does not validate the content of prompts or model outputs. Content policy enforcement is the responsibility of the upstream operator (see omega-brain-mcp).

  • Network isolation, host-level security, and key management are outside the scope of this component.


Omega Universe

Ollama-Omega is one node in the VERITAS & Sovereign Ecosystem. Cross-references:

Repository

Role in the stack

omega-brain-mcp

VERITAS gate + cryptographic audit ledger + Cortex approval pipeline. The governance layer above Ollama-Omega.

veritas-vault

Long-term retention substrate. Stores artifacts, attestations, and approved outputs.

Aegis

Security enforcement layer. Threat surface scanning and sovereign boundary enforcement.

drift

Drift detection and configuration integrity monitoring across Omega operators.

SovereignMedia

Media processing and content pipeline within the Omega framework.

sovereign-arcade

Operator sandbox and demonstration environment for Omega Universe components.


🌐 VERITAS Omega Ecosystem

This project is part of the VERITAS Omega Universe — a sovereign AI infrastructure stack.

License

MIT — see LICENSE.


Available Tools

6 tools
ollama_chatA
Read-only

Send a multi-turn chat completion request to an Ollama model. Use this tool for conversational interactions where message history matters — for example, follow-up questions, multi-step reasoning, or dialogue with context. Do not use this for single-prompt completions without history; use ollama_generate instead to avoid the overhead of the messages array. Prerequisites: The 'model' must already be installed locally. Call ollama_list_models to verify availability; use ollama_pull_model to download if missing. Behavior: Read-only (no state changes on the server), not idempotent — each call generates a new response even with identical inputs. No authentication required. No rate limits. Network-dependent; response time varies from seconds to minutes based on model size and prompt length. Safe to retry on timeout. On model-not-found error, returns an error object without throwing.

Inputs: model (required), messages (required), system, max_tokens, +1 more. Returns: error, model, message, eval_count, +1 more

ollama_generateA
Read-only

Generate a single-turn text completion from an Ollama model without conversation history. Use this tool for one-shot tasks: code generation, text transformation, summarization, translation, or any prompt that does not require prior context. Do not use this for multi-turn conversations where message history matters; use ollama_chat instead. Prerequisites: The 'model' must already be installed. Call ollama_list_models to verify; use ollama_pull_model to download if missing. Behavior: Read-only, not idempotent — each call produces a different generation even with identical inputs. No authentication required. No rate limits. Network-dependent; response time varies with model size and prompt length. Safe to retry on timeout. On model-not-found error, returns an error object without throwing.

Inputs: model (required), prompt (required), system, max_tokens, +1 more. Returns: error, model, response, eval_count, +1 more

ollama_healthA
Read-onlyIdempotent

Check Ollama daemon connectivity and list currently running models. Use this tool as the first call to verify the Ollama service is reachable before calling any other tool in this server. Do not use this to list all installed models — use ollama_list_models instead. Behavior: Read-only, idempotent, safe to retry. No authentication required. No rate limits. Makes a single HTTP GET to the Ollama daemon. On connection failure returns an error object without throwing.

Inputs: no named parameters. Returns: host, error, connected, running_models

ollama_list_modelsA
Read-onlyIdempotent

List all Ollama models installed on the local machine with their memory load status. Use this tool to discover available model names before calling ollama_chat, ollama_generate, or ollama_show_model. Do not use this to check if the Ollama daemon is running — use ollama_health instead. Behavior: Read-only, idempotent, safe to retry. No authentication required. No rate limits. Returns an empty models array if no models are installed.

Inputs: no named parameters. Returns: models

ollama_pull_modelA
Idempotent

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.

Inputs: model (required). Returns: error, status

ollama_show_modelA
Read-onlyIdempotent

Retrieve detailed metadata about a specific installed Ollama model. Use this tool to inspect a model's architecture, license, quantization level, prompt template, and default parameters before using it with ollama_chat or ollama_generate. Do not use this to list all models — use ollama_list_models instead. Do not use this to download new models — use ollama_pull_model instead. Prerequisites: The model must already be installed locally (verify with ollama_list_models). Behavior: Read-only, idempotent, safe to retry. No authentication required. No rate limits. Returns the same metadata for the same model every time. On model-not-found error, returns an error object without throwing.

Inputs: model (required). Returns: error, details, template, modelfile, +1 more

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.8/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool targets a distinct operation: multi-turn chat, single-turn generation, health check, model listing, model pulling, and model metadata. No two tools overlap in purpose.

    Naming Consistency5/5

    All tools follow the 'ollama_' prefix with snake_case and clear verb_noun pattern (chat, generate, health, list_models, pull_model, show_model). Consistent and predictable.

    Tool Count5/5

    Six tools cover the essential operations for interacting with the Ollama service: health check, model management, and inference in two modes. The count is well-scoped for the domain.

    Completeness4/5

    The set covers read operations (health, list, show), inference (chat, generate), and model download. Missing a delete or update tool for models, which is a minor gap but doesn't hinder basic workflows.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      AI agent provenance, trust, and auditability layer. VERITAS multi-gate scoring, Cortex approval gates, S.E.A.L. hash-chain audit ledger, and semantic RAG with cryptographic provenance tracking for every decision an agent makes.
      27
      5
      MIT
    • A
      license
      Not graded
      quality
      A
      maintenance
      Exposes the complete Ollama SDK as MCP tools, enabling MCP-compatible clients such as Claude Desktop and Cline to list, pull, create, and delete models, run chat and text generation, produce embeddings, and perform web search and fetch against local or cloud Ollama instances. It supports hybrid local-plus-cloud configurations with API-key authentication, automatic retries, and type-safe validation.
      923 npm
      AGPL 3.0
    • A
      license
      Not graded
      quality
      A
      maintenance
      Exposes the complete Ollama SDK as MCP tools, letting MCP-compatible clients manage, run, and chat with local or cloud-hosted LLM models, generate embeddings, and perform web search and page fetching. Supports model listing, pulling, creating, and deletion, plus hybrid local-and-cloud configurations.
      923 npm
      AGPL 3.0