Skip to main content
Glama
finasteos

GameDev MCP Hub

by finasteos
README.md
# GameDev MCP Hub

**Version:** 0.1.0 · **Status:** active development

MCP hub that aggregates game-development MCP servers (Blender, Godot, GitHub, Obsidian, …) behind one interface for Claude, LM Studio, Cursor, and other MCP clients. Includes a local GUI, smart task routing, and SSE multi-client support.

## Quick start

**Prerequisites:** Node.js 20+

```bash
# Install
pnpm install   # or: npm install

# First-run config (.env, hub-config, mcp-servers)
pnpm setup     # or: npm run setup

# Edit secrets / enable servers
#   .env
#   config/mcp-servers.json

# Multi-client SSE hub + GUI (recommended)
pnpm start:sse   # after: pnpm build
# or: ./scripts/start.sh
```

- MCP SSE: `http://127.0.0.1:3000/sse`
- GUI: `http://127.0.0.1:3100` (port auto-scans 3100–3109)
- Stdio mode (single client): `pnpm start`

Windows: `scripts\start.bat` or `START_ALL.bat`.

## What works today

| Area | Status |
|------|--------|
| Downstream MCP via stdio (`ConnectionManager`) | Working |
| Tool namespacing (`server__tool`) | Working |
| Local GUI + WebSocket | Working |
| SSE multi-client (one Server per session) | Working |
| Smart Router (`hub__route_task`) | Wired |
| Skills as MCP resources (`skill://…`) | Working |
| Auth / rate limits | Optional (config + `HUB_API_KEY`) |

Enable servers in `config/mcp-servers.json`. Example configs ship as `*.example.json`.

## Architecture

```
AI clients (Claude / LM Studio / Cursor)
        │  MCP (stdio or SSE)
        ▼
 GameDev MCP Hub
  · Smart Router (hub__route_task)
  · Tool registry + search
  · GUI (localhost)
        │
        ▼
 Downstream MCP servers (Blender, Godot, GitHub, …)
```

## Configuration

| File | Purpose |
|------|---------|
| `.env` | API keys (see `.env.example`) |
| `config/hub-config.example.json` | Hub features, security, logging |
| `config/mcp-servers.example.json` | Downstream servers |
| `config/categories.json` | Tool categories |

`GITHUB_TOKEN` and `GITHUB_PERSONAL_ACCESS_TOKEN` are both accepted; the hub mirrors them when spawning servers.

By default HTTP/SSE/GUI bind to `127.0.0.1`. Set `security.bind_localhost_only: false` only if you understand the risk. Set `security.require_authentication: true` and `HUB_API_KEY` to protect GUI mutation endpoints.

## Scripts

```bash
pnpm build          # compile + copy GUI assets
pnpm start          # stdio transport
pnpm start:sse      # SSE multi-client
pnpm test           # unit tests
pnpm type-check
pnpm lint
```

## Docs

- [Configuration](docs/CONFIGURATION.md)
- [Architecture](docs/ARCHITECTURE_AND_CONNECTIONS.md)
- [GUI](docs/GUI.md)
- [LM Studio](docs/LM_STUDIO_SETUP.md)
- [Multi-client](docs/MULTI_CLIENT_SETUP.md)
- [API](docs/API.md)
- [Roadmap](ROADMAP.md)
- [Contributing](CONTRIBUTING.md)

Session notes and historical status dumps live under `archive/session-docs/`.

## License

MIT

TDQS

B3.2/5.0

Scored across 5 tools

Disambiguation4/5

The tools are mostly distinct: search vs list vs analytics vs token check vs routing all have clear purposes. The only slight overlap is between 'search_tools' and 'route_task' (both help find tools), though route_task takes natural-language and adds routing logic, so the boundary is mostly clear.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern: search_tools, list_servers, get_analytics, check_tokens, route_task. Every name uses a clear action verb followed by a noun, with no style mixing.

Tool Count4/5

Five tools is a reasonable, well-scoped count for a hub/meta-coordination server. Each tool addresses a distinct purpose (discovery, listing, analytics, token management, task routing). It sits slightly on the sparse side but is appropriate for the coordination-focused role with no apparent need for more.

Completeness3/5

The surface covers discovery, listing, analytics, token monitoring, and routing, which forms a coherent hub workflow. However, there's no tool to register/disconnect a server, no way to inspect a specific tool's detail beyond search, and no configuration or error-reporting capability, leaving some operational gaps for a hub that manages connected servers.

Maintenance

ActivitySlowing
ResponsivenessNo issues