Documentation
IntegrationsFabric MCP Gateway

Fabric MCP Gateway

Use Fabric as a unified MCP server from Claude Desktop, Cursor, VS Code, and any MCP-compatible client. Access all your projects, documents, workspaces, workflows, and connected tools through a single endpoint.

The Fabric MCP Gateway turns your entire Fabric instance into a single MCP server. Instead of configuring each tool separately in every AI client, you connect once to Fabric and get access to everything — your projects, documents, workspaces, workflows, and all your connected MCP servers — through one URL.

Why Use the Gateway?

Without GatewayWith Gateway
Configure each MCP server separately in each clientOne URL in your client config
Manage API keys per tool per clientFabric manages all credentials centrally
OAuth flows broken in most clientsFabric handles OAuth + token refresh
No visibility across project artifactsFull access to projects, docs, workspaces
Credentials scattered in config filesCredentials encrypted in Fabric, never leave the server
No usage controlsTime-limited, human-approved runtime authority

Quick Setup

1. Create an API Key

Go to Settings → API Keys and create a new key. Copy the key — it starts with fab_.

For organization context, create the key from your organization settings page.

2. Configure Your Client

Edit your claude_desktop_config.json:

{
  "mcpServers": {
    "fabric": {
      "url": "https://your-fabric.com/api/mcp-gateway",
      "headers": {
        "Authorization": "Bearer fab_xxxx_xxxxxxxxxx"
      }
    }
  }
}

Go to Settings → MCP Servers → Add Server:

  • Name: Fabric
  • URL: https://your-fabric.com/api/mcp-gateway
  • Headers: Authorization: Bearer fab_xxxx_xxxxxxxxxx

Add to your MCP configuration:

{
  "servers": {
    "fabric": {
      "url": "https://your-fabric.com/api/mcp-gateway",
      "headers": {
        "Authorization": "Bearer fab_xxxx_xxxxxxxxxx"
      }
    }
  }
}

Any MCP-compatible client can connect using the Streamable HTTP transport:

Endpoint: POST https://your-fabric.com/api/mcp-gateway
Auth:     Authorization: Bearer fab_xxxx_xxxxxxxxxx
Protocol: MCP 2025-03-26 (Streamable HTTP)

Health check: GET /api/mcp-gateway returns server info (no auth needed).

3. Organization Context (Optional)

To scope all tools to a specific organization, add the X-Organization-Id header:

{
  "headers": {
    "Authorization": "Bearer fab_xxxx_xxxxxxxxxx",
    "X-Organization-Id": "your-org-id"
  }
}

Or use fabric_switch_organization after connecting to switch context dynamically.

What Tools Are Available?

When your client connects, it receives two categories of tools:

Platform Tools (Always Available)

These give the AI direct access to your Fabric data — no extra setup needed:

ToolDescription
fabric_get_identitySee your user context, active organization, and available orgs
fabric_list_organizationsList all organizations you belong to
fabric_switch_organizationSwitch between personal and org context
fabric_list_projectsList your projects with filtering and search
fabric_get_projectGet full project details
fabric_create_projectCreate a new project
fabric_update_projectUpdate project name or description
fabric_list_documentsList documents in a project (PRDs, specs, etc.)
fabric_get_documentGet full document content in markdown
fabric_list_workspacesList your knowledge base workspaces
fabric_get_workspaceGet workspace details and document list
fabric_query_workspaceSemantic search (RAG) across workspace documents
fabric_list_workflowsList your automation workflows
fabric_get_workflowGet workflow details including nodes and edges
fabric_execute_workflowTrigger a published workflow
fabric_get_workflow_executionCheck workflow execution status
fabric_list_chatsList recent AI conversations
fabric_list_connected_serversSee all your connected MCP servers

Connected Server Tools (Require Authority)

Every MCP server you've connected in Settings → MCP Servers becomes available, namespaced by server name:

linear__list_issues       → List issues from your Linear connection
linear__create_issue      → Create an issue in Linear
github__list_repos        → List repos from your GitHub connection
slack__send_message       → Send a message via your Slack connection
notion__search            → Search your Notion workspace
fizzy__get_cards          → Get cards from Fizzy boards

Connected server tools require runtime authority before use. See Runtime Authority for details.

Per-User Tool Visibility

Each user only sees tools from MCP servers they personally connected in their current context:

  • User A connected Fizzy only → sees fizzy__* tools
  • User B connected Linear + Fizzy → sees linear__* + fizzy__* tools
  • In org context → sees tools from servers connected within that organization
  • Personal connections never appear in org context, and vice versa

Runtime Authority

Connected server tools are protected by runtime authority — a Pipes-style session-scoped authorization model. This means:

  1. Credentials are persistent — your MCP server connections stay configured
  2. Runtime access is ephemeral — AI agents must request temporary permission before using tools
  3. Approval is human-only — agents can request authority, but only humans can approve it

The Authority Flow

Loading diagram...

Authority Tools

ToolDescription
fabric_request_authorityRequest access to providers (e.g., linear, github) with READ or WRITE level and TTL
fabric_check_authorityCheck which providers are currently authorized
fabric_revoke_authorityEnd all active authority immediately

Authority Metadata in tools/list

Connected tools include metadata indicating their authority status:

{
  "name": "linear__list_issues",
  "description": "[Linear] List issues",
  "_meta": {
    "requiresAuthority": true,
    "authorityStatus": "granted",
    "providerKey": "linear"
  }
}

For more details, see Runtime Authority.

Example Conversations

Cross-Platform Project Sync

"Show me the features in the Acme project, then create a Linear issue for each one that doesn't have a corresponding ticket"

The AI will:

  1. fabric_list_projects → find Acme
  2. fabric_list_documents → get feature docs
  3. fabric_request_authority for Linear (WRITE)
  4. Wait for your approval in Fabric UI
  5. linear__list_issues → compare with features
  6. linear__create_issue → create missing tickets

"Search the engineering workspace for our database migration strategy and summarize the key decisions"

The AI will:

  1. fabric_list_workspaces → find engineering workspace
  2. fabric_query_workspace → semantic search for "database migration strategy"
  3. Return a summary based on the matching document chunks

Workflow Execution

"Run the weekly report workflow and send the output to #team-updates on Slack"

The AI will:

  1. fabric_list_workflows → find weekly report
  2. fabric_execute_workflow → trigger it
  3. fabric_get_workflow_execution → wait for completion
  4. fabric_request_authority for Slack (WRITE)
  5. slack__send_message → post the results

Protocol Details

The gateway implements the MCP 2025-03-26 Streamable HTTP transport:

MethodEndpointPurpose
POST/api/mcp-gatewayJSON-RPC requests (initialize, tools/list, tools/call)
GET/api/mcp-gatewayServer info (health check)
DELETE/api/mcp-gatewayTerminate session

Session Management

  • Sessions are created automatically on first request
  • Session ID is returned in the Mcp-Session-Id response header
  • Sessions last 24 hours
  • Active authority sessions are completed when the gateway session ends

Authentication

MethodHeaderUse Case
API KeyAuthorization: Bearer fab_xxxExternal clients (recommended)
Session CookieAutomaticBrowser-based clients

Next Steps