Docs menu

Where it runs

Two choices shape an agent for a task: where it runs, and how capable an agent the task needs. Where it runs should follow where your data access is: files on a laptop, a database in-house, your own Azure tenant or your Fabric through the hosted service. Krusgraph is the same engine in four places, and each place can do a different part of a task.

Where it is: In the browser: krusgraph.com/check. Your files are read in this browser and are not uploaded. The same engine as the hosted service and the CLI, run by the browser itself (Pyodide). On your own computer: The open-source library, the CLI (fabric-backend) and the local MCP server over stdio (fabric-backend-mcp), on your machine over ODBC: run it locally. In your own Azure tenant: The same open-source code and script (deploy/krusgraph.sh), in your tenant and your region. Nothing passes through Kruse Consulting; the answers still go to your AI client. The region is the one you choose: location in your deploy/krusgraph.json. Hosted by Krusgraph: Azure, Sweden Central. Sign-in with your Microsoft Entra work account; every call runs as you. Status: In the browser: Live (/check is live as of 6 November 2026). On your own computer: Available in the open-source package (MIT). fabric-backend-mcp: tried live; the local stdio MCP server over one ODBC connection string; plan_backend, validate_plan, data_dictionary, dbt_schema and answer_query_draft ran (SQL Server 2022 in a container, 28 Oct 2026; not run from Windows/Claude Desktop yet); its other tools are Experimental: unit-tested, not run against a live SQL Server. In your own Azure tenant: Available: deploy/krusgraph.sh deploys the same server. Not yet run by a customer (as of 6 November 2026). Hosted by Krusgraph: Live: Claude as a client since 26 October 2026; status per client and tool in the test status. Check (keys, references with no matching row (orphans), totals a join repeats): In the browser: Counted on your files' rows in the browser: duplicate and empty keys, references with no matching row, and header totals a join with its lines would repeat. A pasted columns list gives the plan without counts: there are no rows to count. On your own computer: validate_plan over ODBC, in the local stdio server and the library. validate_plan → amount_levels (totals a join repeats): tried live. In your own Azure tenant: The same tools as hosted, against your Fabric, as the signed-in person. Hosted by Krusgraph: validate_plan: tested end to end on 27 October 2026. validate_plan → amount_levels (totals a join repeats): tried live. Draft (model, ontology, dbt, notebooks, pipeline): In the browser: Files to download: the Power BI model as a project (.pbip), the ontology as RDF/XML, an app starter and an evidence report; drafts, nothing is created in Fabric. Not in the browser: dbt, the notebooks and the pipeline. On your own computer: Local tools: semantic_model_draft, ontology_draft, dbt_schema, silver_notebook_draft. Hosted only: gold_views_draft, drift_monitor_draft and the pipeline. In your own Azure tenant: The same tools as hosted. Hosted by Krusgraph: semantic_model_draft: tested end to end (a draft; creates nothing); last tried live 27 October 2026: draft from Claude; creates nothing; result: passed (docs/LIVE-TEST.md). ontology_draft: tested end to end (a draft; creates nothing); last tried live 27 October 2026: draft from Claude; creates nothing; result: passed (docs/LIVE-TEST.md). dbt_schema: tested end to end (a draft; creates nothing); last tried live 27 October 2026: draft from Claude; creates nothing; result: passed (docs/LIVE-TEST.md). silver_notebook_draft: tested end to end (a draft; creates nothing); last tried live 27 October 2026: draft from Claude; creates nothing; result: passed (docs/LIVE-TEST.md); still open: the notebook ran on a local PySpark 4.0.1; create_pipeline writes the same notebook and ran it in Fabric on 7 November 2026 (run 9de8bc49). gold_views_draft: tested end to end (a draft; creates nothing); last tried live 27 October 2026: draft from Claude; creates nothing; result: passed (docs/LIVE-TEST.md); still open: the SQL ran on SQLite and a local PySpark 4.0.1; create_pipeline writes the same notebook and ran it in Fabric on 7 November 2026 (run 9de8bc49). drift_monitor_draft: tested end to end (a draft; creates nothing); last tried live 27 October 2026: draft from Claude; creates nothing; result: passed (docs/LIVE-TEST.md); still open: the notebook ran two nights on a local PySpark, not yet in Fabric. The pipeline: draft; create_pipeline creates it (dry run by default; not yet created live), export_item_definitions gives it as files, no tool runs or schedules it. Create and review (Fabric items, and decisions on findings): In the browser: Cannot write to Fabric: nothing on /check calls Fabric. Accept or reject on the guided demo's findings goes into the evidence report you download; the decisions stay in the browser. On your own computer: create_backend, create_views: a dry run unless you pass dry_run=false. review_plan: the plan with your decisions and its checks as a file for your own repository. In your own Azure tenant: The same tools as hosted, each a dry run first. Hosted by Krusgraph: create_backend: updated in place live. create_semantic_model: created live; reviewed in Fabric. create_report: created live; reviewed in Fabric. create_views: dry run tested end to end; not yet created live. create_data_agent: dry run tested end to end; not yet created live. create_ontology: created live; reviewed in Fabric. create_silver_notebook: created live; not yet run in Fabric. create_drift_monitor: created live; not yet run in Fabric. create_gold_views: created live; not yet run in Fabric. create_pipeline: draft; creates nothing. Every creating tool is a dry run unless you pass dry_run=false. review_plan: tested end to end; last tried live 27 October 2026: read-only call from Claude; result: passed (docs/LIVE-TEST.md); still open: reading a file back is unit-tested only.

Where Krusgraph runs, and what each place does with a task
In the browserOn your own computerIn your own Azure tenantHosted by Krusgraph
Where it is
  • krusgraph.com/check. Your files are read in this browser and are not uploaded.
  • The same engine as the hosted service and the CLI, run by the browser itself (Pyodide).
  • The open-source library, the CLI (fabric-backend) and the local MCP server over stdio (fabric-backend-mcp), on your machine over ODBC: run it locally.
  • The same open-source code and script (deploy/krusgraph.sh), in your tenant and your region. Nothing passes through Kruse Consulting; the answers still go to your AI client.
  • The region is the one you choose: location in your deploy/krusgraph.json.
  • Azure, Sweden Central.
  • Sign-in with your Microsoft Entra work account; every call runs as you.
Status
  • Live (/check is live as of 6 November 2026).
  • Available in the open-source package (MIT).
  • fabric-backend-mcp: tried live; the local stdio MCP server over one ODBC connection string; plan_backend, validate_plan, data_dictionary, dbt_schema and answer_query_draft ran (SQL Server 2022 in a container, 28 Oct 2026; not run from Windows/Claude Desktop yet); its other tools are Experimental: unit-tested, not run against a live SQL Server.
  • Available: deploy/krusgraph.sh deploys the same server.
  • Not yet run by a customer (as of 6 November 2026).
  • Live: Claude as a client since 26 October 2026; status per client and tool in the test status.
Checkkeys, references with no matching row (orphans), totals a join repeats
  • Counted on your files' rows in the browser: duplicate and empty keys, references with no matching row, and header totals a join with its lines would repeat.
  • A pasted columns list gives the plan without counts: there are no rows to count.
  • validate_plan over ODBC, in the local stdio server and the library.
  • validate_plan → amount_levels (totals a join repeats): tried live.
  • The same tools as hosted, against your Fabric, as the signed-in person.
  • validate_plan: tested end to end on 27 October 2026.
  • validate_plan → amount_levels (totals a join repeats): tried live.
Draftmodel, ontology, dbt, notebooks, pipeline
  • Files to download: the Power BI model as a project (.pbip), the ontology as RDF/XML, an app starter and an evidence report; drafts, nothing is created in Fabric.
  • Not in the browser: dbt, the notebooks and the pipeline.
  • Local tools: semantic_model_draft, ontology_draft, dbt_schema, silver_notebook_draft.
  • Hosted only: gold_views_draft, drift_monitor_draft and the pipeline.
  • The same tools as hosted.
  • semantic_model_draft: tested end to end (a draft; creates nothing); last tried live 27 October 2026: draft from Claude; creates nothing; result: passed (docs/LIVE-TEST.md).
  • ontology_draft: tested end to end (a draft; creates nothing); last tried live 27 October 2026: draft from Claude; creates nothing; result: passed (docs/LIVE-TEST.md).
  • dbt_schema: tested end to end (a draft; creates nothing); last tried live 27 October 2026: draft from Claude; creates nothing; result: passed (docs/LIVE-TEST.md).
  • silver_notebook_draft: tested end to end (a draft; creates nothing); last tried live 27 October 2026: draft from Claude; creates nothing; result: passed (docs/LIVE-TEST.md); still open: the notebook ran on a local PySpark 4.0.1; create_pipeline writes the same notebook and ran it in Fabric on 7 November 2026 (run 9de8bc49).
  • gold_views_draft: tested end to end (a draft; creates nothing); last tried live 27 October 2026: draft from Claude; creates nothing; result: passed (docs/LIVE-TEST.md); still open: the SQL ran on SQLite and a local PySpark 4.0.1; create_pipeline writes the same notebook and ran it in Fabric on 7 November 2026 (run 9de8bc49).
  • drift_monitor_draft: tested end to end (a draft; creates nothing); last tried live 27 October 2026: draft from Claude; creates nothing; result: passed (docs/LIVE-TEST.md); still open: the notebook ran two nights on a local PySpark, not yet in Fabric.
  • The pipeline: draft; create_pipeline creates it (dry run by default; not yet created live), export_item_definitions gives it as files, no tool runs or schedules it.
Create and reviewFabric items, and decisions on findings
  • Cannot write to Fabric: nothing on /check calls Fabric.
  • Accept or reject on the guided demo's findings goes into the evidence report you download; the decisions stay in the browser.
  • create_backend, create_views: a dry run unless you pass dry_run=false.
  • review_plan: the plan with your decisions and its checks as a file for your own repository.
  • The same tools as hosted, each a dry run first.
  • create_backend: updated in place live.
  • create_semantic_model: created live; reviewed in Fabric.
  • create_report: created live; reviewed in Fabric.
  • create_views: dry run tested end to end; not yet created live.
  • create_data_agent: dry run tested end to end; not yet created live.
  • create_ontology: created live; reviewed in Fabric.
  • create_silver_notebook: created live; not yet run in Fabric.
  • create_drift_monitor: created live; not yet run in Fabric.
  • create_gold_views: created live; not yet run in Fabric.
  • create_pipeline: draft; creates nothing.
  • Every creating tool is a dry run unless you pass dry_run=false.
  • review_plan: tested end to end; last tried live 27 October 2026: read-only call from Claude; result: passed (docs/LIVE-TEST.md); still open: reading a file back is unit-tested only.
Every status here is read from the code when this page is rendered (the same list as the test status); what the code cannot say is dated, once, under the table.

Data access follows the signed-in person. Hosted and in your own tenant, every call runs with the Microsoft Entra account that signed in, with delegated permissions only, so an agent reaches what that person can reach in Fabric and no more. As the privacy policy says: metadata (workspace, item, table and column names and types), the counts from checks, sample rows and query results pass through Krusgraph to the person’s MCP client and are not kept after the request. On /check your files stay in the browser; on your own computer, what leaves the machine is listed.

You pick the MCP client and the model. Krusgraph itself calls no language model; the checks are counted with SQL, so a smaller model can drive them. The model is the one your MCP client uses, under your organisation's agreement with its provider. One tool writes for a model you run elsewhere: create_data_agent sets up a Fabric data agent's instructions and examples, and that agent answers with Fabric's own model; Krusgraph sends it no questions. MCP clients that have signed in to the hosted service: Claude (at /mcp since 26 October 2026), VS Code (at /mcp/connect since 27 October 2026) and Cursor (at /mcp/connect since 27 October 2026). Experimental as clients: Claude Code and Glama. Each client's status is in the test status.

Not there yet, as of 6 November 2026: Copilot Studio and Azure AI Foundry have not been tried as clients, and there is no packaging per region and none per agent tier. Krusgraph is an independent open-source project of Kruse Consulting AB, not a Microsoft product.