Skip to main content

Reference Python agent for the LLMOps.Pro sovereign-AI substrate. Consumes the five MCP servers (nwc-mcp, nostr-ops-mcp, marketplace-mcp, albyhub-admin-mcp, paywall-mcp) and demonstrates the agent-pays-paid-MCP loop end-to-end. Ollama-first, API-pluggable. Built on pydantic-ai — no LangChain. MIT.

Project description

llmops-agent

Reference Python agent for the LLMOps.Pro sovereign-AI substrate. Consumes the five MCP servers (nwc-mcp, nostr-ops-mcp, marketplace-mcp, albyhub-admin-mcp, paywall-mcp) and demonstrates the agent-pays-paid-MCP loop end-to-end.

Ollama-first, API-pluggable. Built on pydantic-ai — no LangChain. MIT.

v0.1 operational. All six CLI commands wired. Agent layer enforces a budget-and-audit safety pipeline on top of every MCP server's own safety stack. Self-paying research workflow runs end-to-end given a working LLM backend (Ollama / Anthropic / OpenAI). Full design at ../03-python-reference-agent-design.md.


Status

Layer State
Design doc ✅ Done — ../03-python-reference-agent-design.md
Package scaffold (uv init, pyproject.toml, ruff/mypy/pytest config) ✅ Done
config.py — env-driven Pydantic Settings ✅ Done
budget.py — persistent rolling-window tracker ✅ Done
audit.py — NDJSON writer ✅ Done
mcp_servers.pyMCPServerStdio launch + doctor probe ✅ Done
agent.py — Pydantic AI agent + process_tool_call middleware ✅ Done
workflows/research.py — self-paying research workflow ✅ Done
cli.py — typer entry-point with ask / doctor / budget / audit / config-print / version ✅ Done
Live LLM smoke test against Ollama / Anthropic ⏳ User-driven (needs the LLM backend running)

Usage

# from this directory, with uv-installed venv
uv run llmops-agent --help
uv run llmops-agent version
uv run llmops-agent budget                # snapshot, no LLM needed
uv run llmops-agent config-print          # effective config, secrets masked
uv run llmops-agent doctor                # ping each configured MCP server
uv run llmops-agent ask "What time is it?"   # the main demo loop
uv run llmops-agent audit --tail 20       # recent audit entries

ask requires a working LLM backend. Default is Ollama at localhost:11434/v1 with model qwen3:8b. Override via LLMOPS_MODEL env var (e.g. anthropic:claude-haiku-4-5-20251001).


Dev loop

uv sync                 # install deps + dev deps into .venv
uv run ruff check       # lint
uv run mypy             # type check
uv run pytest           # tests

Build wheel for distribution:

uv build

License

MIT — see LICENSE.

Contact

Built by LLMOps.Pro.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llmops_agent-0.1.0.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llmops_agent-0.1.0-py3-none-any.whl (24.2 kB view details)

Uploaded Python 3

File details

Details for the file llmops_agent-0.1.0.tar.gz.

File metadata

  • Download URL: llmops_agent-0.1.0.tar.gz
  • Upload date:
  • Size: 19.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Kali GNU/Linux","version":"2026.2","id":"kali-rolling","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for llmops_agent-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4ca00458b0eed922493f11450aa6dc7e2337c4c080fb65a48ba5bb8ffecaaf36
MD5 84d561acb1bdfbe4df9ea8289d0cf3d8
BLAKE2b-256 0e7a34c83ff744780bbd93c4bb0ce8fa542d0d4909d62e33a36780f257925449

See more details on using hashes here.

File details

Details for the file llmops_agent-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: llmops_agent-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 24.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Kali GNU/Linux","version":"2026.2","id":"kali-rolling","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for llmops_agent-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f03936baf31bd266078d12538f276bb7cb670a477a3303efc3a137b21fa31f52
MD5 04eff8ab8206ea4d0d084afd497697cf
BLAKE2b-256 23112b4174dd00817f9dd470d4a4eb1aece149337e26f1a3ab15e9425dc7c9be

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page