Skip to content

ble27/mcputil

Repository files navigation

mcputil

CLI scaffolder that generates a local MCP Gateway: one stdio entrypoint for Cursor and Claude Desktop that connects outbound to multiple Upstream MCP servers and re-exports their tools as {prefix}__{tool}.

Requirements

  • Node.js 20+

Quick start

npx @ble27/mcputil

Follow the Design Loop:

  1. Name the Gateway project
  2. Compose Upstreams from the Catalog (filesystem, GitHub, memory) or a custom Launch Config
  3. Review the running summary (remove / revise as needed)
  4. Generate

Then in the generated project:

cd your-gateway
npm install
# if you skipped pasting secrets in the CLI: copy .env.example → .env

Merge client-config/cursor.mcp.json or client-config/claude-desktop.mcp.json into your client MCP settings. Keep cwd pointed at the generated project directory.

Local development (from this repo)

npm install
npm run build
npm link          # optional: exposes `mcputil` on your PATH
mcputil
# or: npm run dev
# or: node dist/cli.js

Development / verification

# Always (fast): unit tests + fixture Gateway smoke
npm run test:offline
npm run typecheck

# Needs network: real Catalog Upstreams via npx (memory + filesystem)
npx vitest run src/catalog.smoke.test.ts

# Full suite (includes Catalog smoke)
npm test

# Live check against a generated project (e.g. test-mcp with .env secrets)
npx tsx scripts/verify-gateway-live.ts

MVP Catalog

Upstream Package Notes
filesystem @modelcontextprotocol/server-filesystem Asks for allowed root path
github @modelcontextprotocol/server-github Needs GITHUB_PERSONAL_ACCESS_TOKEN
memory @modelcontextprotocol/server-memory Local knowledge graph

Plus any custom MCP server via command/args/env keys.

About

a fast CLI to create your custom MCP server

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages