GameDev MCP Hub
# 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
Scored across 5 tools
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.
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.
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.
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.