krusgraph

Your Fabric tables, with every join explained.

Krusgraph reads a lakehouse or warehouse, works out how the tables connect, and shows the rule behind each link. Claude and your apps get a GraphQL API built on joins you can check.

plan · shop lakehouse7 tables · 4 links shown · 1 to confirm
R1 R1 R1 R2 ? ordersorder_idcustomer_id · ship_to_id customerscustomer_idname · country order_itemsorder_id + line_noproduct_id · quantity productsproduct_id · category_id categories audit_log addressesor stores

Every link carries the rule that made it. Point at one to read why.

Four things you say to Claude

It works in the chat you already use. Nothing is created until you ask for it, and asking again updates what is there instead of making a copy.

  1. Which data sources do I have in the sales workspace?

    Lists lakehouses, warehouses and existing GraphQL APIs.

  2. Plan a backend over the shop lakehouse.

    Keys, links, the rule for each, and anything it is unsure about. Nothing is deployed.

  3. Create it as shop_api.

    Makes one API for GraphQL item in your workspace, with nested relationships.

  4. Which customers ordered a trail bike in October?

    Answers from your data with a read-only query.

Rules you can read

A lakehouse has no declared keys, so names are all there is. That is fine as long as you can see which name made which decision, and overrule it in one line.

Keys

K0
Declared primary key. Always wins.
K1
A key you gave, such as order_id + line_no.
K2
A column called id or <table>_id.
K3
No key. The table can be queried, but nothing links to it.

Links

R0
Declared foreign key. Always wins.
R1
A column named after another table.
R2
A column with the same name as another table's key.
?
Two possible targets. Reported, never guessed.

What it does not do

You sign in with your own Microsoft work account, so every call runs with your own Fabric permissions.

Store your data

No tables, no query results, no tokens on disk. Requests are logged with time and status only.

Delete anything

It creates or updates one GraphQL item when you ask. Queries are read-only; mutations are refused.

Guess a join

A column that could mean two things is shown to you and left out until you confirm it.

Start with a trial capacity

Your Entra admin approves the connector once. Then add it in Claude and point it at any workspace you can open. The code is open source under the MIT licence.