Acts as a central gateway for Git-centric fabric applications, facilitating repository-based automation, state management, and orchestration of tools designed to interact with and manage version control workflows.
Provides a unified interface to orchestrate and route tools from GitHub-focused fabric applications, supporting workflows like vulnerability scanning, repository state management, and automated issue triaging using GitHub tokens and repository identifiers.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Git-Fabric Gatewayscan for CVE vulnerabilities in the ry-ops/blog repository"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@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.yaml3. 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 |
| Health check across all registered fabric apps |
| List registered apps and their tools |
| 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 appsCreating 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 toolsLicense
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.