Skip to Content
ReferenceMCP Tools

MCP Tools

Complete reference for all 22 SpecForge MCP tools — parameters, usage, and examples.

SpecForge exposes 22 MCP tools organized in five categories. These tools are available to any MCP-compatible coding agent (Claude Code, Cursor, VS Code with Copilot, Gemini CLI, etc.) once the SpecForge MCP server is configured.

Queries

Six tools for reading project data, searching tickets, and generating reports. These are read-only — they never modify your specification.

get

Retrieves a single entity by type and ID.

ParameterTypeRequiredDescription
type"project" | "specification" | "epic" | "ticket" | "implementation_session"YesEntity type to retrieve
idstringYesEntity ID
specificationIdstringNoSpecification context (required for epics and tickets)
{ "type": "ticket", "id": "tkt_abc123", "specificationId": "spec_xyz789" }

Returns the complete ticket object including title, description, steps, acceptance criteria, dependencies, status, complexity, priority, tags, and file expectations.


list

Lists entities of a given type with optional filters.

ParameterTypeRequiredDescription
type"projects" | "specifications" | "epics" | "tickets"YesEntity type to list
projectIdstringNoFilter by project (required for specifications)
specificationIdstringNoFilter by specification (required for epics and tickets)
epicIdstringNoFilter tickets by epic
{ "type": "tickets", "specificationId": "spec_xyz789", "epicId": "epic_456" }

Returns an array of all tickets belonging to the specified epic.


Unified search across tickets with full-text queries and structured filters.

ParameterTypeRequiredDescription
querystringNoFull-text search across ticket titles and descriptions
filesstring[]NoFilter by expected file paths
tagsstring[]NoFilter by tags
statusstring[]NoFilter by status: "pending", "ready", "active", "done"
complexitystring[]NoFilter by complexity: "small", "medium", "large", "xlarge"
prioritystring[]NoFilter by priority: "low", "medium", "high", "critical"
limitnumberNoMaximum results to return
offsetnumberNoPagination offset
fieldsstring[]NoSpecific fields to include in results
{ "query": "authentication middleware", "status": ["ready", "pending"], "priority": ["high", "critical"], "limit": 10 }

✅ Combine files with tags to find all tickets touching a specific part of your codebase. For example, files: ["src/auth/**"] with tags: ["security"].


get_next_actionable_tickets

Returns tickets in ready status with all dependencies satisfied, ordered by priority and complexity.

ParameterTypeRequiredDescription
specificationIdstringYesSpecification to query
projectIdstringNoProject context
limitnumberNoMaximum tickets to return
{ "specificationId": "spec_xyz789", "limit": 5 }

This is the primary entry point for agents deciding what to work on next. In Agent Teams, the orchestrator calls this to assign tickets to workers.


get_blocked_tickets

Returns tickets in pending status along with the reasons they’re blocked.

ParameterTypeRequiredDescription
specificationIdstringYesSpecification to query

Each blocked ticket includes its unresolved dependencies and any external block reasons.


get_report

Generates analytical reports at different scopes and time ranges.

ParameterTypeRequiredDescription
type"implementation" | "time" | "blockers" | "work" | "implementation_analysis"YesReport type
scope"project" | "specification" | "epic"YesReport scope
scopeIdstringYesID of the scope entity
startDatestringNoStart date for time-ranged reports (ISO 8601)
endDatestringNoEnd date for time-ranged reports (ISO 8601)
Report TypeDescription
implementationProgress summary with completion percentages and remaining work
timeTime tracking analysis with estimated vs. actual hours
blockersDetailed blocker analysis with dependency chains
workWork session history and activity log
implementation_analysisDeep analysis of implementation quality and patterns

Lifecycle

Nine tools that drive specifications through planning, implementation, and review. These are the core workflow tools.

start_planning_session

Opens a planning session for a specification, enabling structural changes.

ParameterTypeRequiredDescription
specificationIdstringYesSpecification to plan

The specification must be in draft, planning, specifying, or validating state.


action_planning_session

Performs operations within an active planning session. This is the primary tool for building specifications — it handles 18 distinct operations.

ParameterTypeRequiredDescription
specificationIdstringYesSpecification being planned
operationstringYesOperation to perform (see table below)

Additional parameters depend on the operation.

Structure Operations

OperationDescription
set_metadataUpdate specification title, description, or tags
create_epicCreate a new epic with title, description, and ordering
update_epicModify an existing epic
create_ticketCreate a ticket within an epic
update_ticketModify an existing ticket
delete_epicRemove an epic and its tickets
delete_ticketRemove a single ticket

Linking Operations

OperationDescription
add_dependenciesDefine dependency links between tickets
remove_dependencyRemove a dependency link
create_blueprintCreate a new blueprint document
link_blueprintLink a blueprint to an epic
update_blueprintModify an existing blueprint
delete_blueprintRemove a blueprint
unlink_blueprintUnlink a blueprint from an epic

Query & Control Operations

OperationDescription
get_ticketRetrieve a ticket within session context
advance_phaseManually advance the specification phase
get_statusGet current planning session status
gpsGet a planning summary with progress indicators

Example — Creating a ticket:

{ "specificationId": "spec_xyz789", "operation": "create_ticket", "epicId": "epic_456", "title": "Implement JWT token generation", "description": "Create a service that generates signed JWT access tokens with configurable expiration.", "complexity": "medium", "priority": "high", "steps": [ "Create JwtService class in src/auth/jwt.service.ts", "Implement generateAccessToken method with RS256 signing", "Add token expiration configuration via environment variables", "Write unit tests for token generation and validation" ], "acceptanceCriteria": [ "Tokens are signed with RS256 algorithm", "Token expiration is configurable", "Invalid tokens are rejected with clear error messages" ] }

ℹ️ The specification transitions automatically between planning, specifying, and validating states based on the operations you perform. You don’t manage these transitions manually.


complete_planning_session

Ends the planning session and triggers the Planning Review gate.

ParameterTypeRequiredDescription
specificationIdstringYesSpecification to complete planning

If the Planning Review gate is enabled and the specification passes, it advances to ready.


start_work_session

Begins implementation work on a specific ticket.

ParameterTypeRequiredDescription
ticketIdstringYesTicket to work on (must be in ready status)

Transitions the ticket from ready to active. Returns the full ticket context: implementation steps, acceptance criteria, file expectations, dependency outputs, and linked blueprints.


action_work_session

Records progress, results, and discoveries during implementation.

ParameterTypeRequiredDescription
ticketIdstringYesActive ticket
stepsobject[]NoStep completion updates
acceptanceCriteriaobject[]NoAcceptance criteria results
testResultsobject[]NoTest execution results
notesstringNoImplementation notes
filesobject[]NoFile changes made
discoveryobjectNoNew information discovered during implementation
blockReasonstringNoReport an external blocker
{ "ticketId": "tkt_abc123", "steps": [ { "index": 0, "completed": true }, { "index": 1, "completed": true } ], "files": [ { "path": "src/auth/jwt.service.ts", "action": "created" }, { "path": "src/auth/jwt.service.test.ts", "action": "created" } ], "notes": "Used jose library instead of jsonwebtoken for Edge Runtime compatibility." }

complete_work_session

Finalizes work on a ticket with a summary and validation results.

ParameterTypeRequiredDescription
ticketIdstringYesActive ticket
summarystringYesSummary of work performed
filesobject[]NoFinal list of file changes
actualHoursnumberNoHours spent on implementation
validationobjectNoValidation results: tests, lint, typeCheck, build

Transitions the ticket from active to done. Dependent tickets are recalculated and may become ready.


start_review_session

Begins an Implementation Review session for a specification.

ParameterTypeRequiredDescription
specificationIdstringYesSpecification to review (must be in ready_for_review state)

action_review_session

Addresses findings during an active review session.

ParameterTypeRequiredDescription
specificationIdstringYesSpecification being reviewed
reviewSessionIdstringYesActive review session ID
findingsAddressedobject[]YesList of findings and how they were addressed

complete_review_session

Concludes the Implementation Review.

ParameterTypeRequiredDescription
specificationIdstringYesSpecification being reviewed
reviewSessionIdstringYesReview session ID
summarystringYesReview summary
confirmAllDismissedbooleanNoConfirm that all remaining findings are intentionally dismissed

Mutations

Four tools for creating, modifying, and linking project data.

create_specification

Creates a new specification within a project.

ParameterTypeRequiredDescription
projectIdstringYesProject to create the specification in
titlestringYesSpecification title
descriptionstringYesDetailed description of what to build

reopen_specification

Reopens a completed or reviewed specification for additional work.

ParameterTypeRequiredDescription
specificationIdstringYesSpecification to reopen

reset_work_session

Resets completed tickets back to a workable state.

ParameterTypeRequiredDescription
specificationIdstringYesSpecification context
ticketIdsstring[]YesTickets to reset
optionsobjectNoReset options (e.g., clear files, clear notes)

⚠️ Resetting tickets clears work session data. Linked commits and PRs are preserved, but step completions, notes, and acceptance criteria results are removed. Resetting cascades to dependent tickets.


Associates a pull request with a completed ticket.

ParameterTypeRequiredDescription
ticketIdstringYesTicket to link
prNumbernumberYesPull request number
prUrlstringYesFull pull request URL
titlestringYesPR title
authorstringYesPR author
repoUrlstringYesRepository URL

Orchestration

Two tools for understanding and navigating the dependency graph.

get_critical_path

Calculates the longest dependency chain in a specification — the sequence of tickets that determines the minimum time to completion.

ParameterTypeRequiredDescription
specificationIdstringYesSpecification to analyze

Returns an ordered list of tickets forming the critical path, along with total estimated effort.


get_dependency_tree

Renders the complete upstream and downstream dependency tree for a specification.

ParameterTypeRequiredDescription
specificationIdstringYesSpecification to analyze

Returns a tree structure showing all tickets, their dependencies, and current statuses. Useful for visualizing the overall shape of work and identifying bottlenecks.


Utility

feedback

Submit feedback, report issues, or suggest improvements.

ParameterTypeRequiredDescription
operation"submit" | "list" | "get"YesFeedback operation
categorystringNoFeedback category (for submit)
summarystringNoFeedback summary (for submit)
severitystringNoIssue severity (for submit)
toolstringNoWhich tool the feedback relates to (for submit)

See Also