Specforge

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 3, 2026

Spec-driven development locally: specs, constitutions, plans, tasks, git and quality checks.

VerifiedSTDIODesktop onlyDeveloper Tools

Overview

Specforge's local MCP server; no sign-in required; STDIO.

No AI overview yet: these facts come from the registry entry and the server itself.

Installation

In SourceWeft

  1. Open Specforge in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

specforge

specforge is a local tool for spec-driven development. It keeps a specs/ tree in a workspace: every feature gets a numbered directory holding its spec, constitution, plan, task list, research notes, clarifications and contracts, and specforge creates and maintains those files. It can also create a git branch and run format, lint, test and security-audit checks. One binary serves a command-line interface and a stdio MCP server; nothing here talks to a network service.

The workspace root is taken from the SPECFORGE_ROOT environment variable, defaulting to the current working directory. The "current feature" that most tools operate on is the highest-numbered directory under specs/; tools that need one fail with an error when no feature exists yet.

Install

bash
npx @reneturcios/specforge specify_start --project-name "My Feature"

Or run the container image:

bash
docker run -i ghcr.io/cloudcorprecords/specforge

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

CLI

The subcommands mirror the MCP tool names:

bash
export SPECFORGE_ROOT=/path/to/workspace
specforge specify_start --project-name "Widget API" --agent claudespecforge specify_describe --description "As a user I can create widgets."specforge constitution_create --principles "Ship small,Test first" --constraints "Node 20"specforge clarify_add --question "Which database?" --context storagespecforge clarify_resolve --clarification-id CLARIFY-001 --resolution Postgresspecforge spec_validatespecforge research_append --content "Evaluated two libraries; picked the smaller one."specforge plan_create --constraints-text "Must ship by Friday."specforge spec_refine --section Requirements --changes "- Must be fast"specforge artifacts_analyze --artifacts spec,plan,tasks,contractsspecforge tasks_generate --scope backendspecforge tasks_tick --task-id T-001specforge tasks_tick_range --task-ids T-002,T-003specforge tasks_filter --preset actionable --limit 5specforge tasks_search --query widget --fuzzy truespecforge tasks_visualize --format mermaidspecforge tasks_stats --include-charts truespecforge git_create_branch --branch-name feature/widgetsspecforge quality_formatspecforge quality_lint --fix truespecforge quality_test --coverage truespecforge quality_security_audit
specforge --version

Results print as JSON. Exit codes: 0 on success, 1 when a tool fails (for example there is no current feature, or the underlying git/quality command exits non-zero), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

bash
npx -y @reneturcios/specforge mcp

MCP client configuration:

json
{  "mcpServers": {    "specforge": {      "command": "npx",      "args": ["-y", "@reneturcios/specforge", "mcp"],      "env": { "SPECFORGE_ROOT": "/path/to/workspace" }    }  }}

Tools

ToolInputWhat it does
specify_startprojectName (required), agentCreate the next numbered feature directory with a spec template, contracts/ and research.md.
specify_describedescription (required)Write the description into the current feature's spec user-story section.
constitution_createprinciples (required), constraints, preferencesWrite constitution.md for the current feature.
clarify_addquestion (required), contextAppend a clarification (CLARIFY-NNN, resolution null) to clarifications.json.
clarify_resolveclarificationId, resolution (both required)Set the resolution for a clarification.
spec_validatechecks (optional object)Check the spec's presence and completeness; returns per-check results.
research_appendcontent (required)Append to research.md.
plan_createconstraintsText (required)Write plan.md from the constraints.
spec_refinesection, changes (both required)Replace or add a named section in spec.md.
artifacts_analyzeartifacts (required array)Report presence and size of named artifacts.
tasks_generatescope (optional)Generate tasks.md, a numbered checkbox list derived from the spec.
tasks_ticktaskId (required)Mark a task T-NNN done.
tasks_tick_rangetaskIds (required array)Mark several tasks done; missing ids are reported.
tasks_filterpreset, limit (optional)List tasks; the default preset is the actionable (unchecked) ones.
tasks_searchquery (required), fuzzySearch task text; fuzzy matching also accepts subsequences.
tasks_visualizeformat (optional)Render the task list as text (default) or mermaid.
tasks_statsgroupBy, includeCharts (optional)Count done and pending tasks, optionally with a text chart.
git_create_branchbranchName (required)Run git checkout -b <branchName> in the workspace.
quality_formatfix (optional)Run the Prettier check, or --write with fix.
quality_lintfix (optional)Run ESLint, or with --fix.
quality_testcoverage (optional)Run npm test, optionally with coverage.
quality_security_auditfix (optional)Run npm audit, or npm audit fix with fix.

The git and quality tools report an error result when the underlying command is unavailable or exits non-zero; they never report success for a command that did not run cleanly.

Note: the original project's prose also mentions clarify_list and artifacts_read, but they do not appear in its documented tools table, so they are not part of this rebuild.

Development

bash
npm installnpm run build   # tsc -> dist/npm test        # node test runner over test/*.test.ts, temp dirs and a fake executor, no networknpm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

Source: README.md at commit 33f80e0

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestNov 3, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts