KNDL
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Gecti
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
This tool provides a specialized language and Python library for defining knowledge graphs. It enables AI agents to store and reason over structured facts, tracking data confidence, provenance, and temporal decay over time. It includes an MCP server for seamless integration with clients like Claude Desktop.
Security Assessment
The overall security risk is Low. The automated code scan checked 12 files and found no dangerous patterns, hardcoded secrets, or requests for excessive permissions. The tool itself is designed as a data parser and graph storage engine. While the MCP server reads and writes this structured memory via standard input/output, it does not appear to execute arbitrary shell commands or make unauthorized external network requests.
Quality Assessment
The project is actively maintained, with its most recent code push occurring today. It is protected by standard CI and CodeQL automated security workflows, which is a positive sign for code quality. The tool uses the highly permissive MIT license, making it safe for commercial and private use. The only notable drawback is its low community visibility. With only 6 GitHub stars, the tool is in its early stages, meaning it has not yet been broadly battle-tested by a large user base.
Verdict
Safe to use, though it is an early-stage project with limited community vetting.
Knowledge Node Description Language. KNDL is a small language for describing knowledge as a graph. Each fact is a node with typed fields. Relationships between facts are edges. Every piece of data carries a confidence score and can expire or decay over time — so your AI agent always knows how much to trust what it knows.
KNDL — Knowledge Node Description Language
Give your AI agent a memory it can reason over.
KNDL is a language for describing knowledge as a directed graph. Every fact is a node with typed fields. Relationships are edges with types and weights. Every assertion carries a confidence score, optional provenance, and a temporal validity window — so agents always know how much to trust what they know.
node @sensor_t001 :: Temperature<°C> {
value = 22.5
unit = "°C"
location -> @building_7
~confidence 0.94
~source "sensor://bldg-7/t-001"
~valid 2026-04-10T14:00Z .. *
~decay 0.95 / 1h
~uncertainty Gaussian { mean = 22.5 stddev = 0.3 }
}
intent @overheat :: Action {
trigger = @sensor_t001.value > 28.0
do { emit node :: Alert { severity = "critical" } }
~priority 0.9
~cooldown 5m
}
Why KNDL
Existing formats were designed for humans (Markdown), machines (JSON), or documents (XML). None were designed for agents — entities that need to reason about knowledge, track certainty, attribute provenance, and traverse relationships.
| Feature | JSON / YAML | KNDL |
|---|---|---|
| Confidence scores | ✗ | ✓ native |
| Temporal decay | ✗ | ✓ native |
| Provenance tracking | ✗ | ✓ native |
| Typed graph edges | ✗ | ✓ native |
| Trigger-action intents | ✗ | ✓ native |
| Uncertainty distributions | ✗ | ✓ native |
| Parameterised types | ✗ | ✓ native |
Packages
| Package | Version | Description |
|---|---|---|
packages/python |
1.0.0 | Reference implementation — parser, compiler, graph API, storage |
packages/mcp-server |
1.0.0 | MCP server — use KNDL from Claude Desktop and any MCP client |
website |
— | Documentation site (React + Vite) |
Quickstart
Python library
pip install kndl
import kndl
graph = kndl.compile("""
node @alice :: Person {
name = "Alice"
role = "Engineer"
~confidence 0.95
~source "agent://hr"
}
edge @alice -[works_at]-> @acme { ~weight 1.0 }
""")
engineers = graph.query_nodes(type_name="Person", min_confidence=0.9)
print(kndl.serialize(graph))
MCP server (Claude Desktop)
pip install kndl-mcp
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"kndl": { "command": "uvx", "args": ["kndl-mcp"] }
}
}
Restart Claude Desktop, then ask: "Remember that Alice is a senior engineer with confidence 0.95."
Features
- Parameterised types —
Observation<Code<"LOINC">>,Quantity<°C> - Processes & state machines —
process @sm :: StateMachine { ... } - Uncertainty distributions —
~uncertainty Gaussian { mean = X stddev = Y } - Multi-hop query patterns —
-[T*]->,-[T*3]->,-[T*2..5]-> - Undirected typed edges —
-[T]-in addition to->and<- - Expanded meta-annotations —
~recorded,~observed,~negated,~deadline,~classification,~retention - Extended duration units —
ns,us,mo,y
Repository layout
packages/
python/ Python reference implementation (kndl)
mcp-server/ MCP server (kndl-mcp)
website/ Documentation site
spec/ KNDL language specification (Markdown)
.github/ CI workflows
Development
# Python library
cd packages/python
uv sync --all-extras
uv run pytest -v # 245 tests
uv run ruff check src tests
uv run mypy src
# MCP server
cd packages/mcp-server
uv sync --all-extras
uv run pytest tests/ -v # 80 tests
# Website
cd website
pnpm install
pnpm dev
License
MIT
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi
