KNDL

agent
Guvenlik Denetimi
Uyari
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
Purpose
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.
SUMMARY

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.

README.md

KNDL — Knowledge Node Description Language

KNDL — Knowledge Node Description Language

Give your AI agent a memory it can reason over.

CI
CodeQL

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 typesObservation<Code<"LOINC">>, Quantity<°C>
  • Processes & state machinesprocess @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 unitsns, 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)

Sonuc bulunamadi