Skip to main content
Version: 2.27

Tools and Resources

The Cycle MCP server exposes tools (actions an agent can perform) and resources (documents an agent can read). You don't usually call these directly — your coding agent does, in response to your natural-language requests. This page documents what's available so you can understand what the agent is doing on your behalf and ask for it explicitly when you need to.

Tools

Discovery and Authoring

ToolWhat it does
search_stepsSearches Cycle's step library by keyword across step text, descriptions, and examples. Returns up to 20 matches. The agent uses this when it needs to find the right step for a task ("How do I click a link?").
list_stepsLists every step in a given category (e.g. Web, File Action, Comparison). Use this when the agent needs to browse all steps in an area.
get_stepReturns the full definition of one step: parameter names, accepted values, required state, output variables, and usage examples. The agent calls this to get the exact parameter names before generating a step line.
validate_featureParses a .feature file and returns syntax errors with line numbers. Does not execute the file. The agent should call this every time it edits a feature file to catch errors before runtime.
create_projectScaffolds a new Cycle project directory tree, writes the .cycproj, and writes a .cycuser settings file. Useful when starting from scratch in an empty folder.

Execution and Debugging

ToolWhat it does
run_testExecutes a .feature file with cycle-cli. Returns the exit code, truncated output, and the directory containing the results .db file.
get_run_errorsGiven the results directory (or a direct .db path) from run_test, returns structured error details: the failing step, the error message, the stack trace, and a listing of all artifacts (screenshots, logs) in the output directory. The agent should call this on any failure before suggesting a fix.
authenticateOpens a browser login window so you can re-authenticate with Cycle. The agent calls this when a test run fails with auth errors.

Live Browser Exploration

These let the agent drive a real browser interactively to discover element locators before writing them into a .feature file. They are how the agent avoids guessing at selectors.

ToolWhat it does
run_stepExecutes one step from any installed plugin (WebDriver, File-System, etc.). The browser session persists across calls, so the agent can open Chrome, navigate, click, and inspect — all within a single live session.
browser_screenshotCaptures the current Chrome viewport as a PNG and returns it inline so the agent (which is multimodal) can see the page. Useful for visual debugging.

Resources

Resources are read-only reference documents. The agent reads them to learn syntax, conventions, and the lay of the land. You can also read them yourself.

Resource URIWhat's in it
cycle://authoring-guideThe complete guide to writing CycleScript feature files: syntax, structure, recommended patterns, coding style, and a categorized overview of common steps. The agent should read this before writing any feature file.
cycle://test-lifecycleAn end-to-end workflow overview: how to create, execute, and debug Cycle tests. Read this when you want a "how does the whole thing fit together" view.
cycle://language-specThe authoritative CycleScript language specification, including the EBNF grammar. Read this when you have a specific syntax question the authoring guide doesn't answer.
cycle://user-manualA reference for running tests with cycle-cli, including all flags.
cycle://locator-formatsValid type:selector locator formats for Web and WinApp steps (e.g. id:, cssSelector:, xpath:), with quoting rules and ExtJS-specific tips.
cycle://categoriesA JSON list of every step category name. The agent calls this before search_steps to know which categories exist.
cycle://steps/{category}All steps for one category, rendered as Markdown. For example, cycle://steps/Web returns every web step.

Server Flags

The Cycle MCP server accepts a handful of command-line flags, passed after --mcp in the args array of your agent's MCP configuration. Most users never need to set anything beyond --mcp itself.

FlagDefaultDescription
--plugin-dirplugins/ next to cycle-cli.exeDirectory the server scans for installed SDK plugins (WebDriver, File-System, etc.). Override only if your install layout is non-standard.
--keep-screenshotsfalseBy default, the screenshot PNGs returned by browser_screenshot are deleted from disk after being inlined to the agent (to avoid disk bloat). Pass --keep-screenshots to retain them — useful for visual diff or regression workflows where you want a permanent record.
--debugfalseForwards plugin stdout/stderr to the server's stderr. Use this only when troubleshooting — see Troubleshooting.
--log-level / -lERRORLog level for the MCP server itself. One of ERROR, INFO, DEBUG. Increase when you want server-side logging without enabling full plugin pass-through via --debug.

Example with debug logging enabled:

{
"mcpServers": {
"cycle": {
"command": "C:/Program Files (x86)/CycleLabs/Cycle/cycle-cli.exe",
"args": ["--mcp", "--debug"]
}
}
}