Wallras clients for Python
Two single-file, zero-dependency clients for Wallras, the AI monitoring proxy you run next to your app:
wallras_mcp.py: an MCP server, so Claude Desktop, Claude Code, Cursor or your own agent can check drift, read requests and agent runs, work the review queue, fetch prompts and run regression sets. Read-only unless you pass--enable-writes.wallras_sdk.py: report what Wallras can't see on its own: a self-hosted model's token probabilities and decision records, agent steps (tool runs, lookups), and feedback; fetch prompt versions.
Both talk only to your own Wallras with your token. The Wallras engine itself ships as a Docker image (ghcr.io/wallras/wallras-engine); this repository holds the open-source clients.
Install
pip install git+https://github.com/wallras/wallras-python
Or run the MCP server without installing anything:
uvx --from git+https://github.com/wallras/wallras-python wallras-mcp
Each file also works on its own: copy it next to your code.
MCP server
{"mcpServers": {"wallras": {
"command": "uvx", "args": ["--from", "git+https://github.com/wallras/wallras-python", "wallras-mcp"],
"env": {"WALLRAS_URL": "http://localhost:8080", "WALLRAS_TOKEN": "a viewer or admin token"}}}}
Add "--enable-writes" to args for the tools that change something (feedback, review decisions, saving or promoting prompts, regression runs, optionally graded by a judge_model). Those need an admin token; regression runs call your provider with WALLRAS_PROVIDER_KEY (and WALLRAS_ANTHROPIC_KEY / WALLRAS_GEMINI_KEY), which stay on your machine.
SDK
from wallras_sdk import Wallras
w = Wallras("http://localhost:8080", token="your WALLRAS_APP_TOKEN")
w.report(model="llama-3.1-8b", prompt=prompt, answer=text,
tokens=Wallras.tokens_from_openai(response["choices"][0]["logprobs"]["content"]))
Reports go in the background and never raise into your code. See the docs for traces, decision records and prompts.
Try a hub with two nodes
examples/docker-compose.hub.yml starts one hub and two nodes on your machine:
docker compose -f examples/docker-compose.hub.yml up -d
Send requests to a node (http://localhost:8081/v1 or :8082, with your provider key), then open http://localhost:8080/wallras/ui and the Nodes tab.
Try active-active
examples/docker-compose.active.yml starts Postgres, three Wallras containers and a load balancer. Any container answers any request, and together they keep one tamper-evident record:
docker compose -f examples/docker-compose.active.yml up -d
Send requests to http://localhost:8080/v1, then ask the MCP server's wallras_fleet tool (or GET /wallras/fleet) which containers answered.
Issues
Bugs and ideas for the clients, or for Wallras itself: open an issue. Security reports: see SECURITY.md, not public issues.
MIT licensed. The files here are copies of the ones published with each Wallras release.
Metadata
Release files for wallras 0.20.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| wallras-0.20.1.tar.gz | 13.3 kB | Without provenance | Details for wallras-0.20.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| wallras-0.20.1-py3-none-any.whl | Python 3 | none | any | Details for wallras-0.20.1-py3-none-any.whl |
Total release size: 28.0 kB
Release files / wallras-0.20.1.tar.gz
| Download URL | wallras-0.20.1.tar.gz |
|---|---|
| Size | 13.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8732a009f707d627a0d07433141d894b153fe0b2dc5df5040b287ab680d8b836
|
|
BLAKE2b-256 checksum How to use checksums |
b6f9515a682aa7252eb70c2a1eeed67b563a30d3a325233b5d00f8b746fbee63
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|
Release files / wallras-0.20.1-py3-none-any.whl
| Download URL | wallras-0.20.1-py3-none-any.whl |
|---|---|
| Size | 14.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7bef742037882c4d369ede7e3d8778d317172a709ea5bcb45f4da73d4e6571b3
|
|
BLAKE2b-256 checksum How to use checksums |
9ddc3d48103a326f171a50c7ba6ad2cb5851de1ee239a4f8b165464401acf059
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|
Security for wallras 0.20.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.