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.py — MCPServerStdio 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.
- NOSTR:
npub1hdg932jvwc3jdvkqywgqv0ue4nn60exrf92asy8mtazt3hjg7d2s2yw0nw - Lightning Address:
sovereigncitizens@getalby.com - Shopstr: shopstr.store/marketplace/SOVEREIGN_CITIZENS
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ca00458b0eed922493f11450aa6dc7e2337c4c080fb65a48ba5bb8ffecaaf36
|
|
| MD5 |
84d561acb1bdfbe4df9ea8289d0cf3d8
|
|
| BLAKE2b-256 |
0e7a34c83ff744780bbd93c4bb0ce8fa542d0d4909d62e33a36780f257925449
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f03936baf31bd266078d12538f276bb7cb670a477a3303efc3a137b21fa31f52
|
|
| MD5 |
04eff8ab8206ea4d0d084afd497697cf
|
|
| BLAKE2b-256 |
23112b4174dd00817f9dd470d4a4eb1aece149337e26f1a3ab15e9425dc7c9be
|