loading…
Search for a command to run...
loading…
Enables full CRUD control of Ontology items in Microsoft Fabric, including entity types, relationships, data bindings, and workspace discovery through natural l
Enables full CRUD control of Ontology items in Microsoft Fabric, including entity types, relationships, data bindings, and workspace discovery through natural language.
Production-ready MCP server for full CRUD control of Ontology items in Microsoft Fabric.
az) installed and logged in (az login)cd "Ontology MCP Server"
pip install -e .
# Run via entry point
fabric-ontology-mcp
# Or directly
python -m src
{
"servers": {
"fabric-ontology": {
"command": "python",
"args": ["-m", "src"],
"cwd": "/path/to/Ontology MCP Server"
}
}
}
| Tool | Description |
|---|---|
list_workspaces |
List all Fabric workspaces accessible to you |
list_workspace_items |
List items in a workspace (filter by type: Eventhouse, Lakehouse, etc.) |
| Tool | Description |
|---|---|
list_ontologies |
List ontologies in a workspace |
get_ontology |
Get ontology metadata |
create_ontology |
Create a new ontology |
update_ontology |
Update display name / description |
delete_ontology |
Delete an ontology (soft or hard) |
get_ontology_definition |
Get full decoded definition (entities, relationships, bindings) |
update_ontology_definition_raw |
Replace entire definition from JSON |
| Tool | Description |
|---|---|
list_entity_types |
List all entity types in an ontology |
get_entity_type |
Get a single entity type with its bindings, documents, overviews, links |
add_entity_type |
Create a new entity type with properties |
update_entity_type |
Rename an entity type or change its display name property / ID parts |
remove_entity_type |
Delete an entity type (and its relationships) |
| Tool | Description |
|---|---|
add_property |
Add a property to an entity type |
update_property |
Rename a property or change its value type |
remove_property |
Remove a property from an entity type |
| Tool | Description |
|---|---|
list_relationship_types |
List relationships in an ontology |
get_relationship_type |
Get a single relationship with its contextualizations |
add_relationship_type |
Create a relationship between entity types (validates both exist) |
update_relationship_type |
Rename a relationship type |
remove_relationship_type |
Delete a relationship type |
| Tool | Description |
|---|---|
list_data_bindings |
List bindings for an entity type |
add_data_binding |
Bind an entity type to a Lakehouse or Eventhouse table |
remove_data_binding |
Remove a data binding |
| Tool | Description |
|---|---|
add_document |
Attach a document URL to an entity type |
list_documents |
List all documents attached to an entity type |
remove_document |
Remove a document by URL |
get_overview |
Get the current overview configuration |
set_overview |
Configure overview widgets for an entity type |
get_resource_links |
Get the current resource links |
set_resource_links |
Link Power BI reports to an entity type |
| Tool | Description |
|---|---|
list_contextualizations |
List contextualizations for a relationship type |
add_contextualization |
Define how a relationship is materialized from data |
remove_contextualization |
Remove a contextualization |
| Tool | Description |
|---|---|
get_kql_database_details |
Get cluster URI, database name, and parent Eventhouse |
list_kql_tables |
List tables in a KQL database |
get_kql_table_schema |
Get column names and types for a table |
| Tool | Description |
|---|---|
discover_lakehouse_tables |
List all tables in a Lakehouse (via OneLake Table API) |
get_lakehouse_table_schema |
Get columns with types and Ontology valueType mapping |
discover_workspace_data |
Full scan — discover all Lakehouses + Eventhouses, all tables and schemas |
Ontology planning workflow: Call
discover_workspace_datato scan a workspace, then use the returned schemas to design entity types, properties, relationships, and data bindings using the CRUD tools above.
| Tool | Description |
|---|---|
preview_kql_table |
Preview first N rows from an Eventhouse table |
profile_kql_table |
Row count, distinct counts, null rates, sample values, min/max per column |
preview_lakehouse_table |
Preview first N rows from a Lakehouse table (Spark SQL via Livy) |
profile_lakehouse_table |
Row count, distinct counts, null rates, sample values, min/max per column |
Note: First Lakehouse profiling call takes ~30-60s for Spark session startup. Subsequent queries reuse the session and are fast.
src/
├── __init__.py
├── __main__.py # python -m src entry point
├── auth.py # Azure CLI token acquisition (per-resource caching)
├── definition_utils.py # Base64 encode/decode for ontology definition parts
├── fabric_client.py # Async Fabric REST API client
├── kusto_client.py # Async Kusto REST query client
└── server.py # MCP server with all tools
All tools validate inputs before calling the Fabric API:
^[a-zA-Z][a-zA-Z0-9_-]{0,127}$ (entity types, properties, relationships)String, Boolean, DateTime, Object, BigInt, DoubleUses Azure CLI tokens. Make sure you're logged in:
az login
Tokens are cached per resource (Fabric API and Kusto clusters are separate audiences) and automatically refreshed when near expiry.
MIT
Выполни в терминале:
claude mcp add fabric-ontology-mcp-server -- npx Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development