Skip to main content
Glama

mcp-forge

An MCP stdio server that serves the mcp-forge prompt library — a deterministic, enterprise-grade system for creating new, or rewriting existing, Node.js projects (including MCP servers) to production-quality TypeScript.

Connect this server to any MCP client and call its tools to retrieve the exact prompts needed to rewrite a project step by step. The same source code always produces the same output — deterministic by design. Rewrite an existing project step by step, or generate a brand-new MCP server from an API spec with Create mode.

Supported project types: http-api · library · cli · worker · mcp-server

Tools

Tool

Description

list_steps

List all 15 rewrite steps. Pass projectType to see which steps apply or are skipped.

get_step

Get the full prompt for a specific step (0–14). Step 8 requires projectType.

get_entrypoint

Get the Step 8 entrypoint prompt for a given project type.

get_master_prompt

Get the single-pass master prompt for small projects (< 2 000 lines).

get_create_prompt

Generate a new MCP server from an OpenAPI doc or BUILD_SPEC.

validate_manifest

Validate an AUDIT_MANIFEST JSON string produced by Step 0.

Related MCP server: PromptArchitect MCP

Setup

git clone <repo-url>
cd mcp-forge
npm install
npm run setup

npm run setup builds the project and automatically:

  1. Registers the MCP server in Claude Desktop

  2. Registers the MCP server in Claude Code (~/.claude.json)

  3. Installs /forge-* slash commands globally to ~/.claude/commands/

Restart Claude Desktop after running setup. Claude Code picks up changes automatically.

Manual setup (Cursor or other MCP clients)

Add this to your client's MCP config:

{
  "mcpServers": {
    "mcp-forge": {
      "command": "node",
      "args": ["/absolute/path/to/repo/dist/stdio.js"]
    }
  }
}

Build first if you haven't already: npm run build

PROMPTS_DIR defaults to .claude/commands inside the repo — no environment variable needed.

Slash commands in Claude Code

After npm run setup, the following commands are available globally in any project — no per-project setup required:

Command

Description

/forge-audit

Audit the codebase and emit an AUDIT_MANIFEST. Always start here.

/forge-create

Create a brand-new MCP server from an OpenAPI doc or BUILD_SPEC (no existing project needed).

/forge-plan [projectType]

List which steps apply to this project type. Run after audit.

/forge-step <n> [projectType]

Apply a specific step. Example: /forge-step 3 or /forge-step 8 mcp-server

/forge-rewrite

Single-pass full rewrite for small projects (< 2 000 lines).

Typical workflow:

/forge-audit
/forge-plan
/forge-step 1
/forge-step 2
... (continue through the steps)
/forge-step 8 mcp-server
/forge-step 9
... through /forge-step 14

Or — create a new MCP server from scratch:

/forge-create

Supply an OpenAPI document or fill in the BUILD_SPEC when prompted; mcp-forge generates the whole server (steps 1–14 + the mcp-server entrypoint).

Using the MCP tools directly

Incremental rewrite (large projects, recommended):

  1. get_step({ step: 0 }) → run the audit prompt, receive an AUDIT_MANIFEST JSON

  2. validate_manifest({ manifestJson: "..." }) → confirm it's valid

  3. list_steps({ projectType: "mcp-server" }) → see which steps apply

  4. get_step({ step: 1 }) → get_step({ step: 7 }) → scaffold in order

  5. get_entrypoint({ projectType: "mcp-server" }) → entrypoint layer (Step 8)

  6. get_step({ step: 9 }) → get_step({ step: 14 }) → testing, security, CI, docs

Single-pass rewrite (small projects, < 2 000 lines):

  1. get_master_prompt() → paste your entire project source into context with the returned prompt

Creating a new MCP server from an API spec:

  1. get_create_prompt() → returns the Create-mode prompt

  2. Supply an OpenAPI document (openapi.json / openapi.yaml) or fill in the BUILD_SPEC template from the prompt

  3. The prompt emits an AUDIT_MANIFEST with projectType: "mcp-server" and a populated mcpTools array

  4. validate_manifest({ manifestJson: "..." }) → confirm it is valid

  5. Continue with steps 1–14 and get_entrypoint({ projectType: "mcp-server" }) exactly as for a rewrite — all downstream steps are unchanged

Environment variables

Variable

Default

Description

PROMPTS_DIR

.claude/commands (relative to the binary)

Override the prompts directory location

NODE_ENV

development

Environment

LOG_LEVEL

info

pino log level

Development

npm run dev          # tsx watch mode
npm test             # run all tests (25 unit + integration)
npm run typecheck    # TypeScript check
npm run lint         # ESLint
npm run build        # compile to dist/

Prompt library layout

.claude/commands/
  shared/          Steps 00–07, 09–14 (all project types, conditional sections)
  entrypoints/     Step 08 — one file per project type
  masters/         MASTER.md — universal single-pass prompt

License

MIT

Available Tools

5 tools
get_entrypointB

Get the entrypoint-specific instructions (Step 8) for a given project type (http-api, library, cli, worker, mcp-server).

Inputs: projectType (required).

get_master_promptA

Get the complete master prompt for single-pass rewrites of small projects (< 2000 lines). Handles all project types automatically.

Inputs: no named parameters.

get_stepA

Get the full prompt content for a specific step (0–14). For step 8 (Entrypoint Layer), you must provide projectType.

Inputs: step (required), projectType.

list_stepsA

List all rewrite steps (0–14) in order. Optionally filter by projectType to see which steps apply or are skipped.

Inputs: projectType.

validate_manifestA

Validate an AUDIT_MANIFEST JSON string against the expected schema (produced by Step 0). Returns a list of validation errors, or confirms the manifest is valid.

Inputs: manifestJson (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool serves a distinct purpose: retrieving specific prompts (entrypoint, master, or step), listing steps, or validating manifests. No ambiguity in their roles.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (e.g., get_entrypoint, list_steps, validate_manifest), ensuring predictability.

    Tool Count5/5

    With 5 tools, the server is well-scoped for its domain of prompt management and validation, neither too sparse nor too heavy.

    Completeness5/5

    The tool set covers retrieval of all prompt variations, step listing, and manifest validation, leaving no obvious gaps for the intended use case.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      A
      quality
      C
      maintenance
      Refines and improves AI prompts using workspace-aware context from your project's tech stack, structure, and dependencies. Includes tools to analyze prompt quality and generate well-structured prompts from raw ideas.
      4
      209 npm
      5
      -
    • A
      license
      B
      quality
      D
      maintenance
      Enables AI agents to safely upgrade JavaScript and TypeScript projects through dependency analysis, upgrade path detection, breaking change identification, codemod application, and PR summary generation.
      14
      15 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Provides symbol-level dependency analysis and LLM-ready migration prompts for TypeScript/JavaScript projects, enabling AI editors to scan projects, analyze packages, and generate refactoring prompts.
      66 npm
      19
      MIT