okovia-mcp
OkOvia MCP server — ask any MCP client (Claude Desktop, Claude Code, …) about the cost, margin, reliability, and quality of your AI usage, in natural language.
It talks to the OkOvia API with your key and exposes the read dashboards as MCP tools. It runs on your machine; no data beyond the API calls leaves it, and it never sends prompts or content.
What you can ask
- "How much did my AI features cost, highest first?"
- "Which model or provider is driving the cost?"
- "Show the most recent operations and their cost. Detail
op_7K9x." - "What's my reliability — which model has the most errors or timeouts?"
- "Compare the models I use."
Requirements
- Python 3.10+ (run via
uvxorpipx) - An OkOvia secret API key (
vik_sec_…) from the console → Settings → Service accounts
Configure your MCP client
Claude Desktop / Claude Code (mcpServers block):
{
"mcpServers": {
"okovia": {
"command": "uvx",
"args": ["okovia-mcp"],
"env": {
"OKOVIA_API_KEY": "vik_sec_your_key",
"OKOVIA_ENDPOINT": "https://api.okovia.com"
}
}
}
}
OKOVIA_ENDPOINT defaults to https://api.okovia.com — set it only for self-hosted deployments.
Tools
| Tool | What it returns |
|---|---|
check_connection |
API reachable + endpoint |
cost_by_feature |
cost (USD) + op count per feature |
cost_by_model / cost_by_provider / cost_by_channel |
cost grouped by that dimension |
list_operations |
recent operations with total cost (limit, default 20) |
get_operation |
full detail for one operation id |
reliability |
success/error/timeout rates, daily timeline, top error codes |
quality |
client-side eval scores (0..1): totals, timeline, per-evaluator/feature/model with cost per operation |
model_comparison |
models side by side (incl. avg eval score when available) |
Everything is scoped to the workspace/project the API key belongs to — the server passes no ids of its own.
Security
Use a read-only key (vik_read_..., create one on the console's API Keys page): it can query dashboards and reports but can never submit events or manage anything — if it leaks, your data can be read but not touched. Secret keys still work for backwards compatibility, but carry admin scope; prefer rotating to a read key.
Development
pip install -e ".[dev]"
pytest # client tests — stdlib only, no MCP runtime or network needed
client.py is stdlib-only and independently tested; server.py wires those methods as MCP tools via the official mcp SDK.
MIT licensed. Part of OkOvia.
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 okovia_mcp-0.2.1.tar.gz.
File metadata
- Download URL: okovia_mcp-0.2.1.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4e9d8070e83ecefb0952675953be81a76c6e11055009196f124db12ee2f5eb5
|
|
| MD5 |
907ee9a4fb96943d9ac7a88a9df2a1dd
|
|
| BLAKE2b-256 |
3de248b89b7f53f6d5219d7be461dc57d01103ec568977fea5305d2502300b49
|
File details
Details for the file okovia_mcp-0.2.1-py3-none-any.whl.
File metadata
- Download URL: okovia_mcp-0.2.1-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07bf9adc0d5c9430e48523779cad1da7d351a298c3cfe18eb61b2653972fc2c2
|
|
| MD5 |
8e2ab68c02511cb4ad28cba11ce4b5d3
|
|
| BLAKE2b-256 |
e6f88b4f44a61b387b766085abccfb9744f9c4aedbe3cae23b0c2f0174e189ab
|