Skip to main content
Glama
git-fabric

Git-Fabric Gateway

Official
by git-fabric

@git-fabric/gateway

The connective tissue for git-fabric. Routes, connects, and orchestrates fabric apps through a single MCP surface.

What It Does

The gateway is a tool aggregator. Register any number of fabric apps (like @git-fabric/cve), and the gateway exposes all their tools through one MCP server. Consumers connect once, access everything.

┌──────────────────────────┐
│  Consumer (git-steer,    │
│  Claude Desktop, etc.)   │
└────────────┬─────────────┘
             │ MCP (stdio)
    ┌────────▼────────┐
    │     gateway     │
    │  registry       │
    │  router         │
    │  health check   │
    └──┬─────┬─────┬──┘
       │     │     │
   ┌───▼──┐ ┌▼──┐ ┌▼───┐
   │ cve  │ │...│ │... │
   └──────┘ └───┘ └────┘

Quick Start

1. Create a gateway config

# gateway.yaml
apps:
  - name: "@git-fabric/cve"
    enabled: true
    env:
      GITHUB_TOKEN: "ghp_..."
      STATE_REPO: "ry-ops/git-steer-state"
      MANAGED_REPOS: "ry-ops/git-steer,ry-ops/blog"

2. Start the gateway

fabric-gateway start --config gateway.yaml

3. Connect from Claude Desktop

{
  "mcpServers": {
    "git-fabric": {
      "command": "npx",
      "args": ["@git-fabric/gateway", "start"],
      "env": {
        "GITHUB_TOKEN": "ghp_..."
      }
    }
  }
}

Now every fabric app's tools appear as native MCP tools.

Built-in Tools

Tool

Description

fabric_health

Health check across all registered fabric apps

fabric_apps

List registered apps and their tools

fabric_route

Explicitly route a call to a specific app (for name collisions)

All registered app tools are also exposed directly by their name (e.g. cve_scan, cve_triage).

CLI

# Start gateway MCP server
fabric-gateway start

# Health check all apps
fabric-gateway health

# List registered apps and tools
fabric-gateway apps

Creating a Fabric App

Any npm package can be a fabric app. Export a createApp() function that returns a FabricApp:

import type { FabricApp } from "@git-fabric/gateway";

export async function createApp(): Promise<FabricApp> {
  return {
    name: "@git-fabric/my-app",
    version: "0.1.0",
    description: "What my app does",
    tools: [
      {
        name: "my_tool",
        description: "What my tool does",
        inputSchema: { type: "object", properties: { ... } },
        execute: async (args) => { ... },
      },
    ],
    health: async () => ({
      app: "@git-fabric/my-app",
      status: "healthy",
    }),
  };
}

Architecture

src/
├── types.ts        # FabricApp, FabricTool, AppRegistry interfaces
├── registry.ts     # In-memory app registry
├── router.ts       # Tool routing + health checks
├── loader.ts       # Dynamic app loading from gateway.yaml
├── index.ts        # Barrel export
└── mcp/
    └── server.ts   # MCP server aggregating all app tools

License

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/git-fabric/gateway'

If you have feedback or need assistance with the MCP directory API, please join our Discord server