Skip to main content
Glama

forge-mcp

The director of the forge pipeline. An MCP server that tells Claude Code which phase to run next and what it must produce, then validates the evidence before letting the flow advance. Claude is the executor β€” forge never runs the work itself. It directs, you build.

πŸ‡ͺπŸ‡Έ LΓ©elo en espaΓ±ol


The idea

A long piece of work β€” design a feature, build it, test it, ship it β€” is easy to do out of order, skip a step of, or declare "done" without proof. forge turns that flow into a pipeline of phases that can only advance in order, and only when each phase hands back real evidence.

  • forge says which phase is next and exactly what it expects from it (the full criteria, not a summary).

  • You (Claude) execute the phase β€” reading code, writing it, running tests, asking the user when a decision is theirs.

  • You report the phase done with evidence; forge validates it and advances.

  • You cannot skip a phase, cannot close one with empty or fake evidence, and cannot finish before every phase is closed.

The state lives in SQLite (node:sqlite, a Node built-in β€” no native build step), so a run resumes in any session: Claude's context does not survive a close, a compaction or picking up the next day β€” the flow's state does.


Related MCP server: Vibe-Coder MCP Server

The 13 phases

classify β†’ clarify β†’ setup β†’ precondition β†’ design β†’ plan β†’ build
        β†’ gates β†’ qa β†’ reconcile β†’ contraste β†’ reflect β†’ deliver

Phase

What it does

Asks the user

Optional

classify

Classify the request's nature (QUESTION / MICRO / STANDARD / HIGH-RISK) and scope.

clarify

Detect ambiguities that change the product; bring the important ones to the user with options and consequences.

yes

setup

Decide the stack and its REAL versions (via npm view / official CLIs, never from memory); scaffold, install deps, strict linter.

precondition

Verify the conditions to safely start the build are actually met (tools present, env ready).

design

Before coding: brainstorm the solution, a UX/UI design brief, a QA plan with edge cases, a code-quality guide β€” persisted as artifacts.

plan

Decompose the work into atomic tasks with disjoint file ownership, grouped into independent blocks.

build

Implement the plan. You build β€” reusing what exists, never rewriting a whole file, respecting the strict linter.

gates

Run the repo's real gates (strict lint + build + tests). Truth is the exit code, not the model's self-report.

qa

Verify for real: run the app end to end, then ATTACK it (odd inputs, limits, impossible states) and report what broke.

reconcile

Only if parallel work may have duplicated logic or created conflicts β€” resolve them.

yes

contraste

An independent review that does NOT know the QA verdict, exploring the finished build with fresh eyes.

reflect

Look back on how this run went (what passed, what fell back, what failed) and extract lessons.

deliver

Publish per the request (remote push, deploy). Never reports "online" without a real URL; skips explicitly with a reason if it does not apply.

yes

Each phase carries a goal (short instruction), a full systemPrompt (the complete criteria for that phase), the skills to load before running it, and flags for whether it needs the user or is optional. All defined in src/phases.ts.


Evidence is validated, not trusted

forge does not accept "done" as a string. forge_complete_phase validates the evidence each phase must hand back, and rejects the close if it does not hold up:

  • gates requires the real exit codes (lint / build / test) and they must all be 0.

  • qa requires a structured result: it passed, and it was actually attacked.

  • clarify (a user decision) requires an explicit userConfirmed.

  • An optional phase can only be skipped with a stated reason.

So a phase cannot be closed with an invented summary. The pipeline advances on proof.


The skills library (128)

src/skills.ts + the skills/ folder ship 128 skills, each with its own SKILL.md, versioned in the repo (forge is self-contained β€” it does not depend on anything external for these). Each phase declares which skills it loads; the domain map (SKILL_MAP) says which skills belong to which domain. Skills load on demand β€” Claude asks for the list with forge_skills and the content of a specific one with forge_skill(name), never all at once.


The 7 tools

Tool

What it does

forge_start(request, cwd)

Start a new run; returns the first phase (classify) and its goal.

forge_status(runId?)

Which phase a run is in and its progress ([x] closed, [>] current, [ ] pending).

forge_next(runId?)

The CURRENT phase with its detailed goal, full systemPrompt, and skills to load.

forge_complete_phase(runId?, summary, evidence)

Close the current phase with a summary and validated evidence, then advance. If it was the last phase, mark the run done.

forge_tasks()

List active runs β€” to resume from any session without re-reading context.

forge_skills(phase?)

List the full skills library, or filtered by domain if a phase is given.

forge_skill(name)

Return a specific skill's SKILL.md for Claude to load and apply.


Install

git clone https://github.com/DevRik99/forge-mcp
cd forge-mcp
npm install
npm run build

Register it in Claude Code (.mcp.json or project config):

{ "mcpServers": { "forge": { "command": "node", "args": ["dist/server.js"] } } }

Requires Node β‰₯ 22.5 (for node:sqlite).


How a run resumes

The state lives in a single global SQLite DB at ~/.forge/forge-mcp.db (override with FORGE_MCP_DB), so every project shares one store and runs are told apart by their cwd. Two tables:

  • runs: one row per run (id, request, cwd, current_phase, status, timestamps).

  • phase_artifacts: one row per closed phase (run_id, phase, summary, closed_at) β€” the real decision/artifact Claude reported, not just a boolean flag.

After a lost session (close, compaction, next day), any new Claude session with this MCP connected can:

  1. Call forge_tasks() to see which runs are still active and in what phase.

  2. Call forge_next(runId) to get the current phase's full systemPrompt again β€” Claude does not need to remember anything; forge hands it back verbatim.

  3. Read the closed phases' artifacts via forge_status so nothing already decided (e.g. in clarify) is re-asked.


Guarantees (and honest limits)

forge enforces: the phase order, closing every phase before finishing, and validated evidence per phase (no fake gates/qa, no skipping user decisions or optional phases without a reason). Under concurrency, closing a phase is atomic β€” a stale double-close is rejected, not silently applied.

forge cannot stop you from editing the project without using it at all β€” an MCP only sees its own tools, not your Edit/Write/Bash. To force every change through the pipeline, pair it with the forge-flow gate from claude-gates, which blocks edits when no forge run is active.

License

MIT.

Available Tools

7 tools
forge_complete_phaseA

Closes the CURRENT phase with a summary of what you did/decided, and advances to the next one. The summary is persisted (for resuming). Do not close a phase you have not actually done. Phases with a completionSchema (gates, qa, design, plan), phases needing user confirmation, and optional phases require structured evidence matching their contract β€” see the rejection message if it is missing or invalid.

ParametersJSON Schema
NameRequiredDescriptionDefault
runIdNoRun id; optional when exactly one run is active.
summaryYesWhat you did/decided in this phase (the artifact that closes it).
evidenceNoStructured evidence closing this phase (required shape depends on the phase): gates needs {lintExit,buildExit,testExit} all 0; qa needs {passed:true,failures,adversarial:{attacksTried,...}}; design needs {brainstormDone,designBriefDone,qaPlanDone,qualityGuideDone} all true; plan needs {leaves:[{leafId,block,owns},...]}; a phase needing user input needs {userConfirmed:true}; skipping an optional phase needs {skipped:true,reason}.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does a good job: it discloses side effects (closes current phase, advances to next, persists summary) and warns about required structured evidence. It could additionally explain reversibility or what happens to the current phase after closure, but it is already genuinely informative.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler. The main action is front-loaded, and the evidence caveat logically follows immediately. Every clause earns its place, including the guardrail against closing uncompleted phases.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with nested objects, no annotations, and no output schema, the description covers the essential invocation context: what the tool does, what is persisted, when evidence is required, and how invalid evidence is surfaced. It does not describe the return value, but that is not critical for correct invocation here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds some framingβ€”'summary is persisted' and 'evidence matching their contract'β€”but the input schema already provides detailed evidence shapes for gates, qa, design, plan, user confirmation, and optional phases. runId is left to the schema, which adequately covers it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb/resource/effect: 'Closes the CURRENT phase with a summary...' and 'advances to the next one.' It also conveys the tool's core contract around persisted summaries and structured evidence. However, it does not explicitly contrast itself with sibling tools like forge_next, so it misses the full sibling-differentiation benchmark.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit when-not: 'Do not close a phase you have not actually done.' It also specifies when evidence is required (completionSchema phases, user-confirmation phases, optional phases) and points to the rejection message for invalid evidence. It does not explicitly name alternatives or say 'use forge_next instead', so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

forge_nextA

Returns the CURRENT phase with its detailed goal: what to do now. Call this when you are unsure what comes next.

ParametersJSON Schema
NameRequiredDescriptionDefault
runIdNoRun id; optional when exactly one run is active.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral disclosure burden. It clarifies that despite the 'next' name, the tool does not advance anythingβ€”it 'returns' the current phase and its goal, which implies a read-only, non-mutating operation. It stops short of explicitly stating side effects or prerequisites, but the wording is sufficiently indicative.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. It front-loads the core behavior and then provides the direct usage condition, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional parameter and no output schema, the description covers what the tool returns and when to call it. It could additionally note behavior when no run is active or when multiple runs exist, but the schema already hints at the single-active-run condition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the optional runId parameter is fully documented in the schema. The description adds no additional parameter meaning, which places it at the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it 'Returns the CURRENT phase with its detailed goal.' It clarifies exactly what the tool provides and frames it as guidance for 'what to do now,' which distinguishes it from siblings like forge_status and forge_complete_phase.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit trigger: 'Call this when you are unsure what comes next.' It clearly communicates when the tool should be used, though it does not explicitly mention when not to use it or name alternative tools for exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

forge_skillA

Returns the SKILL.md content of a skill so you can load and apply it in the current phase.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesSkill name (a folder in the arsenal).

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden of behavioral disclosure. It clearly indicates a read-only retrieval behavior by saying 'Returns... content', but it does not disclose behavior for missing skills, error handling, or whether applying the skill has side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short, purposeful sentence with no filler. It front-loads the return value and immediately states the intended usage context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple retrieval tool with one well-documented parameter, the description provides enough context to call it correctly: it names the input, states the output, and explains why the agent would use it. It does not describe output format, but for SKILL.md content this is a minor omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'name' is fully described in the schema as 'Skill name (a folder in the arsenal)', giving 100% coverage. The description adds no additional parameter details, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Returns'), a specific resource ('SKILL.md content of a skill'), and the intended purpose ('load and apply it in the current phase'). This clearly distinguishes it from sibling tools like forge_skills, which likely lists skills, and forge_complete_phase, which advances phases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it: when you need a skill's SKILL.md content to apply it in the current phase. However, it gives no explicit guidance on when not to use it or how it relates to alternatives such as forge_skills for finding skills.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

forge_skillsA

Lists available skills. With a phase key (brainstorm/design/frontend/quality/qa/monetization/product), returns the skills that phase must load (from the SKILL_MAP). Without it, lists the whole arsenal.

ParametersJSON Schema
NameRequiredDescriptionDefault
phaseNoPhase key to filter skills by (optional).

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral disclosure burden. It clearly indicates a read-only listing behavior, explains the conditional filtering, and names the data source (SKILL_MAP). It does not discuss error cases or return structure, but for a simple list operation the disclosed behavior is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero wasted words. The main purpose is front-loaded, and the conditional variations are presented in a logical order that an agent can parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple: one optional parameter, no required inputs, and no output schema. The description covers the purpose, the valid parameter values, and the behavioral difference between the two call forms. It leaves minor ambiguity about the exact return shape, but nothing essential for invoking the tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents the phase parameter at 100% coverage, establishing a baseline of 3. The description adds meaningful value beyond the schema by enumerating the valid phase keys and explaining how the parameter changes the result set.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb and resource: 'Lists available skills.' It further clarifies two modes of operation (with or without a phase key), making the purpose unambiguous. It does not explicitly differentiate itself from sibling tools like forge_skill, though the behavior is specific enough to infer the distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear guidance on when to use each mode: provide a phase key to get phase-specific skills, omit it to list everything. It does not mention alternatives or when not to use the tool, but the conditional usage context is explicit and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

forge_startA

Start a new forge pipeline run for a request. Returns the first phase (classify) and its goal. From here, follow the flow phase by phase using forge_next and forge_complete_phase β€” do not skip phases.

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdYesProject directory where the pipeline runs.
requestYesThe user's request, verbatim.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the disclosure burden, and it does disclose the key behavior: starting a run and returning the first phase, with an imperative not to skip phases. It doesn't mention permissions, persistence, or cancellation, but for a start-tool the main behavioral contract is clearly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, with the core purpose first, then return behavior, then workflow guidance. Every sentence carries information needed for correct use, and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter start tool with no output schema, the description provides the essential return info (first phase and goal), the required inputs are fully documented in the schema, and the follow-up tool sequence is explicit. An agent has enough context to invoke it correctly and continue the pipeline.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both parameters clearly ('Project directory where the pipeline runs' and 'The user's request, verbatim'). The description restates the request concept but adds no new meaning or formatting details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action ('Start'), a specific resource ('a new forge pipeline run'), and a concrete entry point ('first phase (classify) and its goal'). This clearly differentiates it from sibling tools like forge_next and forge_complete_phase, which handle later phases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states exactly when to use the tool (at the beginning) and explicitly routes the agent through the subsequent flow: 'follow the flow phase by phase using forge_next and forge_complete_phase β€” do not skip phases.' This both names alternatives and gives an exclusion (no skipping).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

forge_statusA

Shows which phase a run is in and its progress (done / pending). If no runId is given and exactly one run is active, uses that one.

ParametersJSON Schema
NameRequiredDescriptionDefault
runIdNoRun id; optional when exactly one run is active.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It discloses that the tool shows phase and progress and that it auto-selects the active run when runId is omitted, which is helpful. However, it does not explain what happens when runId is omitted and there are zero or multiple active runs, nor any error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short, purposeful sentences. The main purpose is front-loaded, and the conditional behavior is stated efficiently without filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple status tool with one optional parameter and no output schema, the description adequately covers what the tool reports and how runId selection works. It could mention edge-case behavior when no runId is provided and the active-run condition is not met, but overall it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents runId and the optional condition with 100% coverage. The description mostly restates this, adding only the phrase 'uses that one' to clarify the auto-selection behavior, so it adds little beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Shows') and resource ('which phase a run is in and its progress'). It is easy to tell this is a status/read tool, though it does not explicitly name or contrast sibling tools like forge_next or forge_tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool: when you need a run's phase and progress. It also gives a useful fallback rule for when runId can be omitted, but it provides no explicit guidance about when to prefer this tool over its siblings or what alternatives exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

forge_tasksA

Lists the active pipeline runs (to resume from any session). Shows id, request and current phase.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the behavioral disclosure. It does so by stating that it shows 'id, request and current phase', giving the agent an understanding of what the tool returns. It also implicitly signals a read-only operation ('Lists'). While it doesn't mention ordering or limits, the behavior is sufficiently disclosed for a zero-parameter listing tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences, both informative. The main action and purpose are front-loaded ('Lists the active pipeline runs'), and the second sentence adds output details without redundancy. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with zero parameters and no output schema, the description is complete: it states what is listed, why it is used, and what fields are returned. An agent has everything needed to call this tool correctly and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so the baseline is 4. There are no parameters to document, and the description correctly does not invent any. Nothing more is needed here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Lists the active pipeline runs'. It also clarifies the purpose with 'to resume from any session', which distinguishes it from siblings like forge_start or forge_status that start or check status of runs. The scope is clear and non-tautological.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear use context ('to resume from any session'), indicating when this tool is appropriate. However, it does not explicitly mention alternatives or when not to use it. Still, the context is enough for an agent to recognize this as the listing/resume discovery tool among the siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 7 tool updatesv1.0.3
    • First observedforge_complete_phase
    • First observedforge_next
    • First observedforge_skill
    • First observedforge_skills
    • First observedforge_start
    • First observedforge_status
    • First observedforge_tasks

TDQS

A4.1/5.0
Disambiguation5/5

Each tool has a distinct job: start a run, advance a phase, check progress, list runs, and load skill metadata/content. The only close pair, forge_next and forge_status, is separated by guidance vs. state, so an agent should not misselect.

Naming Consistency4/5

All tools share the forge_ prefix and snake_case, making them predictable. However, the pattern mixes verbs (start, complete_phase) with bare nouns (status, tasks, skills, skill), so it is not a fully consistent verb_noun convention.

Tool Count5/5

Seven tools is well-scoped for a pipeline-orchestration server. Each tool covers a necessary part of the run lifecycle or skill access without redundancy or bloat.

Completeness4/5

The core lifecycle is covered: start, advance, inspect status, list runs, and load skills. The only notable gap is the lack of an explicit cancel/abort operation for a run, though that may be intentionally unsupported by the guided pipeline model.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables comprehensive software lifecycle management with structured tracking of requirements, tasks, and architecture decisions through an SQLite database with full traceability and automated state validation.
    38
    MIT
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Implements a structured development workflow for LLM-based coding with feature clarification, PRD generation, phased development, and task tracking. Guides LLMs through organized feature development from requirements gathering to completion with document storage and progress monitoring.
    67
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Transforms ideas into detailed, executable development plans with built-in verification, lessons learned tracking, and GitHub issue remediation workflows. Guides Claude through structured interviews, plan generation, execution with Haiku agents, and verification with Sonnet agents to maintain context and code quality across sessions.
    7
    -
  • A
    license
    Not graded
    quality
    F
    maintenance
    An autonomous software-engineering pipeline for Claude Code that runs on real evidence: codebase intelligence tools, git analytics, deterministic verification rules, and zero LLM-judges-LLM. Every claim traces to a paper and every PR passes its own gates.
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DevRik99/forge-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server