MCP Tools Reference

Specwright uses several MCP servers depending on your interface and inputs.

MCP Servers

ServerPackageRequired?Used by
playwright-test@playwright/mcpAlways@playwright-test-planner agent (browser automation)
markitdownmarkitdown-mcp-npxWhen using filePath input@process-manager agent (PDF/DOCX conversion)
atlassianAtlassian-hosted MCPWhen using inputs.jira.url@process-manager agent (Jira ticket fetching)
specwright@specwright/mcpClaude Desktop onlyPipeline control via natural language

Playwright MCP Tools

These tools are used internally by the @playwright-test-planner agent. You do not call them directly. They are listed here for reference when reading agent logs or debugging Phase 4 failures.

ToolDescription
browser_navigateNavigate to a URL
browser_snapshotCapture accessibility tree snapshot of page or element
browser_clickClick an element by ref or selector
browser_typeType text into a focused element
browser_select_optionSelect a dropdown option
browser_evaluateRun JavaScript in browser context
browser_closeClose the browser

The planner agent uses browser_snapshot extensively — it produces the accessibility tree that the agent reads to discover selectors, without requiring screenshots. This is faster and more token-efficient than image-based exploration.


Specwright MCP Tools

Claude Desktop only. @specwright/mcp is not required for the Plugin + CLI or Desktop App interfaces. Only install it if you use Claude Desktop to run the pipeline.

These tools give Claude Desktop the ability to drive the full pipeline through natural language without a terminal.

ToolDescriptionWhen used
start_pipelineStart the full 10-phase pipelineNatural language trigger
approve_planApprove the Phase 6 test planAfter reviewing the generated plan
reject_planReject Phase 6 plan with a reasonTo refine the plan before generation
get_pipeline_statusCheck which phase is currently activeProgress check mid-run
get_generated_filesRead generated .feature and steps.jsAfter Phase 7 completes

Each tool spawns a subagent in the client project. The MCP server itself is stateless — get_pipeline_status reads from the filesystem, not from an in-memory process.


Markitdown MCP

Used by @process-manager in Phase 3 to convert local files (PDF, DOCX, PPTX) into plain text before scenario extraction.

ToolDescription
convertConvert a local file to markdown text

Configured in .mcp.json:

"markitdown": {
  "command": "npx",
  "args": ["markitdown-mcp-npx"]
}

Atlassian MCP

Used by @process-manager in Phase 3 to fetch Jira ticket content (description, acceptance criteria, attachments) when inputs.jira.url is set.

ToolDescription
fetchFetch a Jira issue by URL or ticket ID
searchSearch Jira issues using JQL

Configured as a streamable-http server pointing to Anthropic's hosted Atlassian MCP:

"atlassian": {
  "type": "streamable-http",
  "url": "https://mcp.atlassian.com/v1/mcp"
}

Authentication uses your Atlassian OAuth token or JIRA_API_TOKEN env var. The Atlassian MCP is only included in the pipeline when inputs.jira.url is set — it is not loaded for non-Jira runs.


Configuration

Project .mcp.json

Add this file to your project root to configure the Playwright MCP server. The plugin init command writes this automatically — only edit it manually if you need to change defaults.

{
  "mcpServers": {
    "playwright-test": {
      "command": "npx",
      "args": ["@playwright/mcp@latest", "--output-dir", ".playwright-mcp"]
    }
  }
}

The --output-dir .playwright-mcp flag keeps MCP screenshots out of your project root. The .playwright-mcp/ directory should be added to .gitignore.

Claude Desktop Config

To use the Specwright MCP server from Claude Desktop, add this to ~/.claude/claude_desktop_config.json. Set PROJECT_PATH to the absolute path of the project you want to automate.

{
  "mcpServers": {
    "specwright": {
      "command": "npx",
      "args": ["-y", "@specwright/mcp"],
      "env": { "PROJECT_PATH": "/path/to/your-project" }
    }
  }
}

Restart Claude Desktop after editing this file. You can verify connectivity by asking: "What is the current pipeline status for my project?"