1. Conduid
  2. Agents
  3. Nuntius MCP
MCP server · Agents

Nuntius MCP

MCP server that delegates agentic tasks to Ollama models — giving them access to all Claude Code tools

Unclaimed agents
34Low

Scored 4 months ago · breakdown

About Nuntius MCP

Nuntius MCP is an MCP server in the Agents category: mCP server that delegates agentic tasks to Ollama models — giving them access to all Claude Code tools. It has been installed 0 times through Conduid.

Install

Clone
git clone https://github.com/speedyfoxai/nuntius-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Nuntius MCP

Powered by Claude · Grounded in docs

I know everything about Nuntius MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • ·Scoped permissionsNot checked yet.

README

nuntius-mcp

nuntius (Latin) — messenger, herald; one who carries word between those who cannot speak directly.

nuntius-mcp is an MCP server for Claude Code that delegates agentic tasks to local or cloud Ollama models. Claude invokes a single run_agent tool; the Ollama model runs autonomously in a tool-use loop with access to all MCP tools configured in Claude Code — web search, vector memory, browser automation, file I/O, bash, and more. When it's done, the result comes back to Claude as a string.

Claude offloads the heavy lifting. The local model does the work.


How It Works

Claude Code  ──run_agent──▶  nuntius-mcp (MCP server)
                                  │
                                  ├─ reads ~/.claude.json + plugin caches
                                  ├─ discovers all configured MCP tools
                                  └─▶  Ollama model (agentic loop)
                                            │
                                   ┌────────┴────────┐
                                   │  tool call?      │
                                   │  yes → execute   │
                                   │  no  → return ◀──┘
                                            │
Claude Code  ◀──── final answer ────────────┘

On each run_agent call, nuntius-mcp reads your Claude Code MCP configuration, proxies every enabled tool to the Ollama model under a server__tool namespace (e.g. searxng__search, playwright__browser_screenshot), then runs the model in a tool-use loop until it produces a final answer or hits the iteration limit.


Features

  • Full MCP proxy — automatically surfaces every MCP tool Claude Code has configured; no manual wiring
  • Server namespacing — tools are named server__tool so there are never collisions
  • Opt-in or opt-out — include/exclude specific MCP servers per call or globally in config
  • Model aliases — short names (gpt, fast, etc.) resolve to full Ollama model strings
  • Built-in fallbacks — file I/O and bash tools when no MCP server covers the capability
  • Run logging — every completed run appended to logs/runs.jsonl
  • Dual-mode — same package runs as an MCP stdio server or a web UI config manager
  • Optional web UI — dashboard, model aliases, tool defaults, and endpoint settings

Requirements

  • Python 3.11+
  • Ollama running and reachable
  • Claude Code (the MCP server is invoked as a subprocess by Claude Code)
  • Optional: SearXNG for web search, Qdrant for vector memory

Installation

# Development install (recommended)
uv pip install -e ".[dev]"

# Or with pip
pip install -e ".[dev]"

Configuration

Edit config/config.toml. The file is hot-reloaded on each run_agent call — no restart needed after UI changes.

[server]
log_level = "info"
max_iterations = 20

[ollama]
base_url = "http://your-ollama-host:11434"

[searxng]
base_url = "http://your-searxng-host:8888"

[ui]
host = "127.0.0.1"   # set "0.0.0.0" to expose on LAN (no auth implemented)
port = 7860

[models]
default = "gpt"      # alias used when model="" in run_agent

[models.aliases]
gpt  = "gpt-oss:120b"
glm  = "glm-5:cloud"
kimi = "kimi-k2.5:cloud"
max  = "minimax-m2.7:cloud"
qwen = "qwen3-coder:480b-cloud"

[tools]
enable_all = false   # set true to enable all tools for every call
allowed = []         # pre-enable specific tools globally, e.g. ["searxng__search"]

[mcp]
# exclude = ["some-server"]   # opt-out specific servers from being proxied
# include = ["searxng"]       # uncomment to switch to opt-in mode (only named servers)

Claude Code Integration

Add to ~/.claude/settings.json under mcpServers:

{
  "mcpServers": {
    "nuntius-mcp": {
      "command": "python",
      "args": ["-m", "src"],
      "cwd": "/path/to/nuntius-mcp",
      "env": { "NUNTIUS_MODE": "mcp" }
    }
  }
}

Or with uv:

{
  "mcpServers": {
    "nuntius-mcp": {
      "command": "uv",
      "args": ["run", "python", "-m", "src"],
      "cwd": "/path/to/nuntius-mcp"
    }
  }
}

After saving, restart Claude Code. The run_agent tool will appear in Claude's tool list.


run_agent Parameters

Parameter Type Default Description
prompt str required The task or question for the agent
model str "" Model alias or raw Ollama model name. Empty = config default
enable_all bool false Enable every discovered tool
tools list[str] [] Tool names or server prefixes to enable. "searxng" enables all searxng__* tools
max_iterations int 0 Agentic loop iteration limit. 0 = use config value
system_prompt str "" Optional system prompt override

Example — web research with a local model:

run_agent(
  prompt="Summarise the three most recent papers on speculative decoding",
  model="smart",
  tools=["searxng"]
)

Example — file task with bash:

run_agent(
  prompt="Find all TODO comments in src/ and write a summary to docs/todos.md",
  enable_all=true
)

Example — Ollama cloud model:

Ollama supports cloud-hosted models via the :cloud tag. These work identically to local models — just pass the full model name or a configured alias:

run_agent(
  prompt="Review this codebase for security issues and write a findings report",
  model="kimi-k2.5:cloud",
  tools=["searxng", "qdrant"],
  system_prompt="You are a security-focused code reviewer. Be thorough and cite line numbers."
)

MCP Tool Proxy

At startup, nuntius-mcp reads MCP server configurations from:

  1. ~/.claude.json — global and project-level servers synced by Claude Code
  2. ~/.claude/plugins/cache/**/.mcp.json — plugin-installed servers

Each server is connected via stdio and its tools are listed. Tools are registered as server__tool_name (double underscore). The ollama-mcp and nuntius-mcp servers are always excluded to prevent recursion.

Scoping tools per call:

# Enable all tools from the searxng server
tools=["searxng"]

# Enable specific tools by full name
tools=["searxng__search", "qdrant__search"]

# Enable everything
enable_all=true

Note: Large tool lists (40–60 tools across many servers) can degrade smaller Ollama models. Use tools=["server_name"] to scope what the model sees.


Optional Web UI

Start the UI server alongside the MCP server:

NUNTIUS_MODE=ui python -m src
# Serves on http://127.0.0.1:7860

The MCP server itself has zero dependency on the UI — it runs fine without it.

Page Description
Dashboard Recent agent runs — model, prompt snippet, status, duration, iterations
Models Add/edit/delete model aliases; set the default model
Tools Toggle per-tool global defaults
Settings Ollama endpoint, max iterations, log level

Config changes via the UI write directly to config/config.toml and take effect on the next run_agent call.


Docker

# MCP server only
docker compose up nuntius-mcp -d

# MCP server + web UI
docker compose --profile ui up -d

Important: Claude Code invokes the MCP server as a local subprocess via stdio. The Docker container cannot receive that stdio connection and is not used for normal operation. It is provided for integration testing and self-hosted UI deployments.

network_mode: "host" is used so the container can reach LAN services (Ollama, SearXNG, etc.). This requires Linux — it does not work on Docker Desktop (Mac/Windows).

Copy .env.example to .env and set APP_UID / APP_GID to match your user before starting.


Development

# Run all tests
pytest tests/ -v

# Run a single test
pytest tests/test_agent.py::test_agent_no_tools_returns_content -v

# Inspect the MCP tool list interactively
mcp dev src/server.py

Project structure:

nuntius-mcp/
├── config/
│   └── config.toml          # runtime config (edit or use UI)
├── logs/
│   └── runs.jsonl           # one JSON line per agent run
├── src/
│   ├── __main__.py          # entrypoint — routes to mcp or ui mode
│   ├── server.py            # FastMCP stdio server + run_agent tool
│   ├── agent.py             # Ollama agentic loop
│   ├── config.py            # config loading + model alias resolution
│   └── tools/
│       ├── registry.py      # tool registry + enable/disable logic
│       ├── mcp_proxy.py     # MCP server discovery + tool forwarding
│       ├── file_ops.py      # read_file, write_file, edit_file, glob_files, grep_content
│       └── bash.py          # bash (off by default)
├── tests/
├── docker-compose.yml
├── Dockerfile
└── pyproject.toml

README mirrored from the source repository 4 months ago. The original is authoritative.

Questions

About Nuntius MCP

How do I install Nuntius MCP?

Run git clone https://github.com/speedyfoxai/nuntius-mcp, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Nuntius MCP safe to use with an AI agent?

Its trust score is 34 out of 100 (low). Conduid hasn't run static security checks on this repository yet, so review the source yourself before granting it credentials. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Nuntius MCP still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.