Skip to main content
Glama
modesty

Fluent MCP Server

by modesty

cicd_fluent_test

Destructive

Run and monitor ServiceNow ATF tests via sn_cicd API. Supports running test suites or individual tests, tracking progress, and fetching results.

Instructions

Run or inspect ServiceNow ATF tests through the sn_cicd API (SDK v4.10.0+). Set target to "testsuite" or "test" and action to "run" (start it), "watch" (follow a progressId from a previous run), or "result" (fetch a resultId). Identify a suite by testSuiteSysId or testSuiteName, a test by testSysId or testName. action="run" executes real ATF steps on the instance and the records those steps touch change; "watch" and "result" only read. No Fluent project required. Requires instance authentication (auto-injected from session, or pass auth explicitly).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
authNoCredential alias to use for authentication with instance (auto-injected from session if not provided)
waitNoWait for completion, polling progress (CLI default true). Set false to return immediately with the progress id, then follow up with action="watch". Not accepted when action="result".
debugNoPrint debug output
actionYesOperation: "run" to start, "watch" to follow a progressId from a previous run, or "result" to fetch a resultId.
osNameNoOperating system to run UI-based tests on. Only with target="testsuite", action="run".
outputNoOutput format: "json" or "raw". Defaults to "json" (machine-readable envelope).
selectNoDot/bracket path to extract from the output (e.g. "result.interpretedResult.summary.testStatus" or "result.rollup_results[0].status"). Implies machine-readable output.
targetYesWhat to act on: "testsuite" (an ATF test suite) or "test" (a single ATF test).
resultIdNoResult sys_id to fetch. REQUIRED when action="result". For a suite this is the links.results.id from run; for a test it is the resultId from watch.
testNameNoName of the ATF test to run; resolved to a sys_id before starting. Fails if the name matches zero or more than one test. Mutually exclusive with testSysId.
osVersionNoOperating system version to run UI-based tests on. Only with target="testsuite", action="run".
testSysIdNosys_id of the ATF test (sys_atf_test) to run. Mutually exclusive with testName. Use with target="test", action="run".
progressIdNoProgress id returned by a previous run. REQUIRED when action="watch".
runInCloudNoRun UI-based steps on the ATF Cloud Runner instead of a manual/scheduled client runner. Only with action="run".
browserNameNoBrowser to run UI-based tests in: any, chrome, firefox, edge, ie, safari. Only with target="testsuite", action="run".
pollTimeoutNoMilliseconds to poll for completion before giving up. CLI default 900000 (15 minutes). Not accepted when action="result". Values above ~15 minutes also require raising FLUENT_MCP_COMMAND_TIMEOUT_MS.
testSuiteNameNoName of the test suite to run. Mutually exclusive with testSuiteSysId. Use with target="testsuite", action="run".
browserVersionNoBrowser version to run UI-based tests in. Only with target="testsuite", action="run".
testSuiteSysIdNosys_id of the test suite to run. Mutually exclusive with testSuiteName. Use with target="testsuite", action="run".
captureNodeLogsNoCapture node (browser) logs during the run. Only with target="test", action="run".
isPerformanceRunNoRun the suite as a Performance Test instead of a standard functional test. Only with target="testsuite", action="run".
Install Server

TDQS

A4.4/5.0
Behavior4/5

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

Beyond the annotations (destructiveHint=true, idempotentHint=false), the description explicitly warns that action='run' executes real ATF steps and changes records, while 'watch' and 'result' only read. It also discloses authentication requirements, adding meaningful context not present in the annotations alone.

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 compact yet information-dense: it states the purpose, defines the three action modes, clarifies read vs. write behavior, and notes prerequisites in just a few sentences. There is no repetition of schema content or filler.

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 21-parameter tool with no output schema, the description covers the key decision axes: operation mode, target type, identifier strategy, side effects, and authentication. It delegates parameter-level details to the already-rich schema, which is reasonable, though a bit more on expected return shapes would make it fully self-contained.

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?

Schema coverage is 100% with strong per-parameter descriptions, so the baseline is 3. The tool description adds semantic value by tying action values to progressId/resultId requirements and by explaining how target maps to suite/test identifiers, which helps disambiguate conditional parameter usage.

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 opens with a specific verb and resource: 'Run or inspect ServiceNow ATF tests through the sn_cicd API.' It clearly enumerates the target/action combinations and distinguishes this tool from sibling app build/query/deploy tools by focusing on ATF test execution and inspection.

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 actionable when-to-use guidance: use 'run' to start, 'watch' for an existing progressId, and 'result' for a resultId. It also clarifies that no Fluent project is required. It stops short of explicit 'when not to use' or named alternatives, but the guidance is otherwise clear.

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

Other Tools

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/modesty/fluent-mcp'

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