From 9cc95e576c37fc17b51a8a57b9fb5a835edf2b89 Mon Sep 17 00:00:00 2001 From: Purvi Khurana Date: Wed, 4 Mar 2026 14:45:17 -0800 Subject: [PATCH 1/3] Add Fabric IQ mcp server --- .../servers/a365-fabric-iq-mcp-server.json | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 partners/servers/a365-fabric-iq-mcp-server.json diff --git a/partners/servers/a365-fabric-iq-mcp-server.json b/partners/servers/a365-fabric-iq-mcp-server.json new file mode 100644 index 00000000..b4af5dd6 --- /dev/null +++ b/partners/servers/a365-fabric-iq-mcp-server.json @@ -0,0 +1,61 @@ +{ + "name": "microsoft-fabric-iq-mcp", + "title": "Microsoft Fabric IQ", + "summary": "Enables ontology discovery and entity type exploration for agentic workflows powered by Fabric IQ.", + "description": "Provides programmatic access to the Fabric IQ ontology layer for agentic workflows: search the business ontology to discover entities, relationships, and properties, and enumerate available entity types with their schemas and metadata. Typical scenarios include data discovery for multi-agent orchestration, mapping business concepts to underlying data models, identifying relevant entity types before querying or acting on enterprise data, and validating ontology coverage for integration and reporting workflows.", + "kind": "mcp", + "vendor": "Microsoft", + "externalDocumentation": { + "title": "Agent 365 MCP Servers", + "url": "https://aka.ms/AboutAgent365" + }, + "remote": "https://agent365.svc.cloud.microsoft/agents/servers/mcp_fabriciqontology", + "supportContactInfo": { + "name": "customer support contact", + "url": "https://aka.ms/a365mcpsupport" + }, + "license": { + "name": "Agent 365", + "url": "https://aka.ms/AboutAgent365" + }, + "visibility": "true", + "categories": "Data & Analytics", + "icon": "https://cdn.jsdelivr.net/gh/Azure/MCP/community/registry/icons/MicrosoftFabricIQ.png", + "useCases": [ + { + "name": "Discover entity types", + "description": "Enumerate available entity types in the Fabric IQ ontology to understand the data model and identify relevant business entities for querying." + }, + { + "name": "Explore ontology structure", + "description": "Search the ontology to understand relationships, properties, and hierarchies across business entities for data-driven decision making." + }, + { + "name": "Find domain-specific entities", + "description": "Search the ontology with domain keywords to locate relevant entity types such as customers, products, or transactions for targeted analysis." + }, + { + "name": "Map data for agent workflows", + "description": "Use entity type discovery and ontology search to identify the right data sources and schemas before orchestrating downstream agent actions." + }, + { + "name": "Validate data model coverage", + "description": "List all entity types and search ontology definitions to verify that required business concepts are modeled and accessible for integration scenarios." + } + ], + "securitySchemes": { + "a365odspoauth2": { + "type": "oauth2", + "description": "Authenticate with A365 using OAuth2 authorization code flow with PKCE support.", + "flows": ["authorizationCode"], + "authorizationUrl": "https://login.microsoftonline.com", + "tokenUrl": "https://login.microsoftonline.com", + "refreshUrl": "https://login.microsoftonline.com", + "scopes": ["ea9ffc3e-8a23-4a7d-836d-234d7c7565c1/McpServers.FabricIQOntology.All"] + } + }, + "authSchemas":["OAuth2"], + "audience": "ea9ffc3e-8a23-4a7d-836d-234d7c7565c1", + "versionName": "original", + "customProperties": { "x-ms-preview": true } +} From be038c10731a38d455029dbaf770f1cb5767621e Mon Sep 17 00:00:00 2001 From: Purvi Khurana Date: Wed, 4 Mar 2026 16:08:05 -0800 Subject: [PATCH 2/3] Update security schema --- partners/servers/a365-fabric-iq-mcp-server.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/partners/servers/a365-fabric-iq-mcp-server.json b/partners/servers/a365-fabric-iq-mcp-server.json index b4af5dd6..fb6d14ba 100644 --- a/partners/servers/a365-fabric-iq-mcp-server.json +++ b/partners/servers/a365-fabric-iq-mcp-server.json @@ -44,7 +44,7 @@ } ], "securitySchemes": { - "a365odspoauth2": { + "fabriciqmcp": { "type": "oauth2", "description": "Authenticate with A365 using OAuth2 authorization code flow with PKCE support.", "flows": ["authorizationCode"], From 551dbd8ee2cacc2246051e640cd816f8c011231d Mon Sep 17 00:00:00 2001 From: Purvi Khurana Date: Mon, 13 Apr 2026 22:37:27 -0700 Subject: [PATCH 3/3] Add logo for Fabric IQ --- community/registry/icons/MicrosoftFabricIQ.png | Bin 0 -> 24891 bytes partners/servers/a365-fabric-iq-mcp-server.json | 12 ++++++------ 2 files changed, 6 insertions(+), 6 deletions(-) create mode 100644 community/registry/icons/MicrosoftFabricIQ.png diff --git a/community/registry/icons/MicrosoftFabricIQ.png b/community/registry/icons/MicrosoftFabricIQ.png new file mode 100644 index 0000000000000000000000000000000000000000..3a22ec8e5a2393db8d7c79ee18483bdc4be00969 GIT binary patch literal 24891 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