Skip to content
Agentmart
Submit a tool

Knowledge Graph RDBMS

A label property graph on SQLite/Postgres with multi-ontology routing and a gated MCP server.

Connector by cunicopia-dev · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 1
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/cunicopia-dev-knowledge-graph-rdbms

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

A label property graph on SQLite/Postgres with multi-ontology routing and a gated MCP server.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
6 read · 7 write · 5 delete · 10 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Python package

Tools by what they do 28

Read from the source code; the running server may list different tools.

Read 6 · Look things up without changing anything.

  • kg_events_tail
  • kg_find
  • kg_node_get
  • kg_ontologies_list
  • kg_prefix_resolve
  • kg_virtual_edges_list

Write 7 · Create, change, send or run things.

  • kg_edge_add
  • kg_import
  • kg_node_upsert
  • kg_ontology_create
  • kg_prefix_add
  • kg_rdf_import
  • kg_virtual_edge_add

Delete 5 · Delete, drop, revoke or wipe things.

  • kg_edge_remove
  • kg_event_revert
  • kg_node_delete
  • kg_ontology_delete
  • kg_virtual_edge_remove

Not yet classified 10 · We could not tell from the name and description.

  • kg_descendants
  • kg_edges
  • kg_identity
  • kg_link
  • kg_links_of
  • kg_neighborhood
  • kg_rdf_export
  • kg_replay
  • kg_schema
  • kg_shortest_path

Secrets and settings it asks for

Other settings (environment variables or headers).

  • KGRDBMS_DEFAULT_ONTOLOGY
  • KGRDBMS_HOME

Files it touches

  • Any path the agent passes to its tools

Tools (28)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • kg_descendants

    All nodes reachable from `id` by following only `edge_type` edges.

  • kg_edge_add

    Add an edge. Triples (from, type, to) are unique; repeats update properties.

  • kg_edge_remove

    Remove a specific edge by (from, type, to). Idempotent. Logged + reversible.

  • kg_edges

    Edges of a node, optionally filtered by `edge_type`. `direction` is "out" (default), "in", or "both". Each result is the edge plus the node on the other end: {direction, id, from, to, type, properties, node}. Stored edges and *virtual* edges (resolved live from an external SQL source — see kg_virtual_edge_add) are unioned transparently; a virtual edge carries `"_virtual": true` in its properties.

  • kg_event_revert

    Reverse an event by emitting a compensating event. The original is never deleted.

  • kg_events_tail

    The most recent events from the append-only log.

  • kg_find

    Find nodes by `kind` and/or `label`, each tagged with its source ontology ([{ontology, node}]). Give a kind, a label, or both (both = nodes of that kind that also carry that label). Scope: omit `ontologies` for a single graph; pass `ontologies=[...]` to search across many at once (multithreaded fan-out). Replaces the old by-kind/by-label and federated variants.

  • kg_identity

    The materialized SAME_AS cluster of a node — every leaf node explicitly asserted (transitively) to be the same real-world entity, fetched live and tagged by ontology ([{ontology, node}]). Pairs with kg_link(type=SAME_AS).

  • kg_import

    Bulk-create many nodes and edges in ONE call (one gated + logged transaction). Use this instead of dozens of kg_node_upsert / kg_edge_add calls when composing an ontology from a document — pass the whole graph at once: nodes = [{"id": "person:ada", "kind": "Person", "name": "Ada Lovelace", "labels": ["Person"], "properties": {"born": 1815}}, ...] edges = [{"from": "person:ada", "to": "field:cs", "type": "FOUNDED", "properties": {"year": 1843}}, ...] # from_node/to_node also accepted Every node and edge is still individually gated (invariants then policy…

  • kg_link

    Assert a typed relationship between nodes in two DIFFERENT ontologies (impossible as a normal edge — those can't cross files). For "same real-world entity", use type="SAME_AS" with symmetric=True (read the cluster back with kg_identity). symmetric=True also writes the reverse. Gated + logged.

  • kg_links_of

    Every cross-ontology link touching a node (both directions).

  • kg_neighborhood

    Undirected BFS from a node within `depth` hops (inclusive of self).

  • kg_node_delete

    Delete a node (cascade removes its edges/properties). Captures the full node + its incident edges in the event so the delete can be compensated (restored) later.

  • kg_node_get

    Fetch a node by id. One graph: returns the node, or null if absent. Pass `ontologies=[...]` to look the id up across the federation, identity-aware: returns {id, occurrences:[{ontology, node}], shared, merged} where copies in shared-identity ontologies are merged into one `merged` entity.

  • kg_node_upsert

    Create or update a node — also the way to add labels or set properties (pass `labels=[...]` / `properties={...}`; both merge into the existing node). Properties are JSON-serializable. Gated by invariants then policy. Logged as a reversible NODE_UPSERT event (the node's prior state is captured so the upsert can be compensated).

Show 13 more tools
  • kg_ontologies_list

    List registered ontologies: name, backend engine, extraction stance, path. The registry is itself a knowledge graph; this is a query over it. Use the returned `name` as the `ontology` argument on any other tool.

  • kg_ontology_create

    Register a new ontology (or update an existing one's metadata). `backend` routes the engine ("sqlite" and "postgres" are live; "neo4j" is a registered stub). `location` is the backend location — a DSN (postgresql://…) for postgres; omit for a managed sqlite file. `stance` is the ontology's own extraction opinion ("literal" vs "inferential") that a composing agent should honor. The ontology is immediately addressable via the `ontology` argument on any tool.

  • kg_ontology_delete

    Remove an ontology from the registry (inverse of kg_ontology_create). By default only deregisters — the data file is left on disk and the ontology can be recreated intact. purge=True also deletes the on-disk SQLite file (destructive, irreversible). External (postgres) databases are never dropped from here. Returns {name, deregistered, purged}.

  • kg_prefix_add

    Bind a CURIE prefix to an IRI base (e.g. person -> https://kg.local/person/).

  • kg_prefix_resolve

    Resolve the prefix/IRI registry. With `curie`, expand it to its full IRI ({curie, iri}); without, return every prefix -> IRI-base binding.

  • kg_rdf_export

    Serialize an ontology to RDF text (dependency-free). Hand the result to any RDF store (Stardog, rdflib, Jena) to run SPARQL — the LPG stays the store of record; RDF is just the boundary format. format — "turtle" (human-readable, default) or "ntriples" (lossless) edge_strategy — how edge properties cross: "rdf-star" (quoted triples, default), "reification" (rdf:Statement), or "lossy" (bare triples; dropped count returned, never silent) Node ids round-trip as CURIEs (person:ada <-> <https://kg.local/person/ada>). Returns {ontology, format, triple…

  • kg_rdf_import

    Load RDF text into an ontology through the gated + logged path (replayable). N-Triples import is dependency-free; Turtle import needs the [rdf] extra (rdflib). `edge_strategy` must match how the RDF encoded its edges, so the edge properties decode back onto the right edges. Returns {ontology, nodes_imported, edges_imported}.

  • kg_replay

    Rebuild the graph projection from the event log. With upto_ts (ISO 8601) the graph is projected to that point in time. The event log is never cleared.

  • kg_schema

    The observed schema — CALL THIS FIRST when you don't know what an ontology contains, before kg_find / kg_node_get. Returns the exact vocabulary so you never guess: kinds, edge types, labels, property keys per kind (+counts), and node/edge totals. Scope: omit `ontologies` (optionally set a single `ontology`) for one graph. Pass `ontologies=[...]` to fan out across many at once (multithreaded) — you get a unioned `merged` schema plus each member's own under `by_ontology`. samples=True adds example ids + enum-like property values per kind.

  • kg_shortest_path

    Shortest undirected path between two node ids, or None if no path.

  • kg_virtual_edge_add

    Bind an edge TYPE to a query that resolves its instances live from an external source — no rows are copied into the graph (Ontology-Based Data Access). At traversal time kg_edges runs `query`, parameterized by the node you're standing on, and synthesizes the edges; results carry `_virtual: true`. `query` must hold exactly one placeholder bound to the source value — the driver's native marker ('?' for sqlite *and* iceberg/duckdb, '%s' for postgres). The value is always *bound*, never string-formatted, so the query is injection-safe. Source of the bound value (`source`): "id" (default), "id_sl…

  • kg_virtual_edge_remove

    Remove a virtual-edge binding by type. The external source is untouched.

  • kg_virtual_edges_list

    List the ontology's virtual-edge bindings (edge type, source, directions, target shape, and the query). The connection string is shown by reference (`dsn_env`) or literal (`dsn`) exactly as stored.

Signals

Stars
1
Forks
0
Open issues
0
Weekly downloads
27
Last commit
Jun 27, 2026 (4 months ago)
Last release
Jun 25, 2026 (4 months ago)
Last package publish
Jun 27, 2026 (4 months ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.cunicopia-dev/knowledge-graph-rdbms
Version
0.1.9
Auth
No auth
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from cunicopia-dev

Cite this page

Knowledge Graph RDBMS MCP server. Agent Mart. https://agentmart.dev/connectors/cunicopia-dev-knowledge-graph-rdbms (last updated 2026-10-24)