🔍 Kura
Tool intelligence for AI agents. Analyze, optimize, and harmonize MCP tool descriptions and OpenClaw skills.
Your agents connect to dozens of MCP tools and skills. Their descriptions are inconsistent, conflicting, and unoptimized. The result: wrong tool selection, wasted tokens, unreliable agent behavior.
Kura fixes this.
pip install kura-mcp
kura scan path/to/mcp-config.json
What it does
Detects conflicts — finds tools with overlapping descriptions that confuse your agent's tool selection.
Scores quality — rates every tool description 0-100 and tells you exactly what to fix.
Estimates token waste — shows how much of your token budget goes to tool descriptions and where to cut.
Suggests improvements — optionally uses an LLM to rewrite vague descriptions into precise ones.
Example
$ kura scan ~/.config/claude/claude_desktop_config.json
🔍 Kura — Tool Quality Report
Scanned: 47 tools across 8 MCP servers
Overall catalog health: 64/100
── HIGH CONFLICTS ──────────────────────────────────
⚠ github/create_issue ↔ jira/create_ticket (0.92)
Both describe creating issues/tickets with title and description.
⚠ filesystem/search ↔ browser/find (0.87)
Both describe searching/finding with patterns.
── QUALITY ISSUES ──────────────────────────────────
✗ filesystem/search (23/100)
• Description too vague: "Search for files"
• No parameter descriptions
── TOKEN BUDGET ────────────────────────────────────
Total catalog: 18,400 tokens
Estimated after optimization: ~7,200 tokens (-61%)
Install
# Core (quality scoring + token estimation)
pip install kura-mcp
# With semantic similarity detection + NLP verb detection
pip install kura-mcp[analysis]
# With live MCP server connections + OAuth
pip install kura-mcp[dump]
# With LLM-enhanced scoring (Anthropic, OpenAI, or Google Gemini)
pip install kura-mcp[suggest]
# Everything
pip install kura-mcp[all]
Usage
# Scan a tools JSON file
kura scan tools.json
# Scan an OpenClaw skills directory
kura scan ~/.openclaw/skills/
# JSON output for CI/CD
kura scan tools.json --format json
# Custom similarity threshold
kura scan tools.json --threshold 0.80
# Skip similarity analysis (faster, no model download)
kura scan tools.json --no-similarity
# Approximate similarity + cached embeddings for large catalogs
kura scan big-catalog/ --ann
# Write full run artifacts (JSON, CSV, markdown, PNG charts)
kura scan tools.json --run-dir runs/analysis-2026-04/
# Dump tools from running MCP servers (auto-detects Claude Desktop + Cursor)
kura dump -o tools.json
kura dump --list # show available servers
kura dump -s github -s slack # dump specific servers
kura dump -i # ask before each server
# Then scan the dump
kura scan tools.json
# LLM-enhanced scoring (uses your own API key)
ANTHROPIC_API_KEY=sk-... kura scan tools.json --llm
kura scan tools.json --llm --model openai
kura scan tools.json --llm --model google
Supported formats
- Live MCP servers via
kura dump(stdio, HTTP, SSE — with OAuth support) - Claude Desktop config (
claude_desktop_config.json) - Cursor config (
~/.cursor/mcp.json) - OpenClaw skill directories (
SKILL.mdfiles) - Generic MCP tool list JSON (any
tools/listoutput)
Why "Kura"?
Kura means "curate" — because tool quality is a curation problem, not a configuration problem. Your agents are only as good as the tools they can find.
Roadmap
- CLI quality scanner
- Semantic conflict detection across servers
- OpenClaw skill directory scanning
- Live MCP server dumping with OAuth
- LLM-enhanced quality scoring (Anthropic, OpenAI, Gemini)
- CI/CD integration (GitHub Action)
- LLM-powered rewrite suggestions
See issues for what's next.
License
MIT
Metadata
Release files for kura-mcp 0.2.0
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 | |
|---|---|---|---|---|
| kura_mcp-0.2.0.tar.gz | 52.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kura_mcp-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 101.0 kB
Release files / kura_mcp-0.2.0.tar.gz
| Download URL | kura_mcp-0.2.0.tar.gz |
|---|---|
| Size | 52.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c577c616da678d4513aec1a293610e2e223efa17a0eaf1258561ea650ad03ebd
|
|
BLAKE2b-256 checksum How to use checksums |
31d4ec3ee912dd74abd8845701ae41e16d86b6e880589b34af7bec77f0c2baaf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Release files / kura_mcp-0.2.0-py3-none-any.whl
| Download URL | kura_mcp-0.2.0-py3-none-any.whl |
|---|---|
| Size | 48.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ada0629060a712f5afb9256815e0fecbc1820144483f3d4be8a59897ab898788
|
|
BLAKE2b-256 checksum How to use checksums |
db46b313c4c4ab968b4b665ceee76bf01a1403a7039a0a885c5937196a3f9b66
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Security for kura-mcp 0.2.0
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.