Skip to main content
Glama
verifyax

VerifyAX MCP

Official
by verifyax

The official VerifyAX MCP Server is a bridge between your MCP-compatible AI client and the VerifyAX agent-evaluation platform. Once configured, it lets you register agents, generate scenarios, run simulations, and read evaluations in natural language — without writing API scripts.

With the VerifyAX MCP Server, you can:

  • Register and test agents (A2A or API) and confirm connectivity before evaluation.

  • Generate scenarios from skill tags and wait for completion in one tool call.

  • Run evaluations and read scores, transcripts, and credit usage without manual polling.

It complements (does not replace) the verifyax-api skill: the skill is for developers writing code; the MCP server is for conversational workflows.

Contents


Related MCP server: Verix API MCP Server

Supported clients

The VerifyAX MCP Server works with MCP-compatible clients that support Streamable HTTP or stdio:

Client

Setup reference

OpenAI ChatGPT

Connectors / MCP guide

Claude (Claude.ai, Desktop, and Code)

Claude MCP docs

Cursor

Cursor MCP docs

Visual Studio Code (GitHub Copilot)

VS Code MCP docs

GitHub Copilot CLI

About Copilot CLI

Google Gemini CLI

Gemini CLI MCP docs

Amazon Quick Suite

MCP integration guide

Any client that can connect via mcp-remote can also use the hosted endpoint at https://mcp.verifyax.com/mcp.

TIP

For step-by-step Claude setup and how this compares to the VerifyAX skill and SDK, seedocs/using-verifyax-with-claude.md.


Supported tools

Twelve tools mapped to user intents. Blocking tools poll internally and return only when work completes (typically 30s–5min).

Area

Tools

Blocking

Agents

register_agent · list_agents · delete_agent

Scenarios

list_compatible_tags · generate_scenario · list_scenarios · delete_scenario

yes (generate_scenario)

Evaluation

evaluate_agent · list_recent_runs · get_run_details

yes (evaluate_agent)

Usage

get_usage_summary · preview_run_cost

NOTE

For tool descriptions (what Claude reads to pick a tool) and rationale, seedocs/tool-descriptions.md. Package-level reference: packages/mcp-server/README.md.


Before you start

Requirements depend on how you connect.

Remote HTTP (hosted at mcp.verifyax.com)

  • A VerifyAX API key (Settings → API Keys in the console)

  • An MCP client with Streamable HTTP support, or Node.js 18+ to run the mcp-remote proxy

Local stdio (verifyax-mcp-server via npx)

  • Node.js ≥ 20

  • A VerifyAX API key in your client config (VERIFYAX_API_KEY)

The npm package exposes two binaries (verifyax-mcp-server and verifyax-mcp-server-http); pass the stdio binary name explicitly when using npx.


Install the MCP server

Hosted endpoint:

https://mcp.verifyax.com/mcp

Send your VerifyAX API key on the initialize request. The hosted server does not store keys — each client session brings its own.

Cursor (native URL — v0.48+):

{
  "mcpServers": {
    "verifyax": {
      "url": "https://mcp.verifyax.com/mcp",
      "headers": {
        "Authorization": "Bearer sk-ver-api-..."
      }
    }
  }
}

Do not add a transport field — Cursor detects Streamable HTTP from the URL. You can also use "X-VerifyAX-API-Key": "sk-ver-api-..." instead of Authorization.

Claude Desktop / clients without native HTTP (mcp-remote):

Add to claude_desktop_config.json (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "verifyax": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.verifyax.com/mcp",
        "--transport",
        "http-only",
        "--header",
        "Authorization:${VERIFYAX_AUTH}"
      ],
      "env": {
        "VERIFYAX_AUTH": "Bearer sk-ver-api-..."
      }
    }
  }
}

Use --transport http-only because this server speaks Streamable HTTP only (no legacy SSE). You can also pass X-VerifyAX-API-Key: sk-ver-api-... via --header instead of Authorization.

Restart your MCP client after changing config.

Local stdio

Claude Code:

claude mcp add verifyax --env VERIFYAX_API_KEY=sk-ver-api-... -- npx -y -p @verifyax/mcp-server verifyax-mcp-server

Claude Desktop:

{
  "mcpServers": {
    "verifyax": {
      "command": "npx",
      "args": ["-y", "-p", "@verifyax/mcp-server", "verifyax-mcp-server"],
      "env": { "VERIFYAX_API_KEY": "sk-ver-api-..." }
    }
  }
}

Restart the client after changing config, then describe what you want in natural language.


How it works

Architecture and communication

  1. Your MCP client connects to https://mcp.verifyax.com/mcp (remote HTTP) or spawns npx -p @verifyax/mcp-server verifyax-mcp-server (local stdio).

  2. The client sends your VerifyAX API key on initialize (Authorization: Bearer … or X-VerifyAX-API-Key for HTTP; VERIFYAX_API_KEY env for stdio).

  3. The server calls the VerifyAX API on your behalf. Blocking tools (generate_scenario, evaluate_agent) poll job status internally and return only when work finishes.

Permission and billing

  • Actions are scoped to the workspace tied to your API key.

  • Usage and credits are billed to your VerifyAX workspace, not to the MCP server operator.

  • The hosted server sends no telemetry and does not persist API keys between sessions.

Self-hosting

Run the same HTTP server on your own infrastructure (e.g. Google Cloud Run). See deploy/gcp/README.md.


Example workflows

Once connected, describe tasks in natural language — the client picks the tool.

Agent setup

  • Register: "Register my A2A agent at https://my-agent.example.com and confirm it's reachable."

  • List: "What agents are registered in my workspace?"

Scenario authoring

  • Discover tags: "List the skill tags I can use for an interview scenario."

  • Generate: "Generate an info_exchange scenario tagged empathy and coordination."

Evaluation

  • Run eval: "Evaluate agent X against scenario Y and summarize the scores."

  • Review history: "Show details for my most recent simulation run."

Usage and cost

  • Preview: "How many credits will it cost to run this scenario against my agent?"

  • Summary: "What did my last 5 simulation runs cost?"

NOTE

Blocking tools can take 30s–5min. Do not call them repeatedly — wait for the result.


Tips and tricks

Add defaults to AGENTS.md

Reduce discovery calls and bad tag combinations by adding this to an AGENTS.md file in your project root (see the AGENTS.md convention for the format):

## VerifyAX MCP

When connected to verifyax:

- **MUST** call `list_compatible_tags` before `generate_scenario`
- **MUST NOT** combine QnA tags with other tags (QnA must be the sole tag)
- **MUST** use `preview_run_cost` when the user asks about credits before `evaluate_agent`
- Blocking tools (`generate_scenario`, `evaluate_agent`) take 30s–5min — do not retry manually

Use the skill for code workflows

For scripts, CI, or custom multi-step logic, use the verifyax-api skill or @verifyax/sdk instead of MCP tools.


Data and security

  • All traffic to the hosted endpoint uses HTTPS (TLS).

  • API key authentication; every action respects your VerifyAX workspace permissions.

  • The hosted server does not store API keys — each session supplies its own.

  • The MCP server sends no telemetry; it talks only to the VerifyAX API.

  • Destructive tools (delete_agent, delete_scenario) permanently remove resources — confirm with the user before calling them.

API keys are managed in the VerifyAX console (Settings → API Keys). Revoke a key there to cut off access immediately.


Troubleshooting

  • "VERIFYAX_API_KEY is not set" — the key isn't reaching the server. Check the env block (stdio) or Authorization / X-VerifyAX-API-Key header (HTTP).

  • Authentication failed — the key is invalid, revoked, or from the wrong environment. Mint a fresh one in the console.

  • Tool calls don't appear — MCP clients load tools at startup; restart the client (or start a new session) after adding the server.

  • HTTP connection fails in Cursor — try mcp-remote with --transport http-only, or verify the URL ends with /mcp.

  • Want logs? Set VERIFYAX_MCP_LOG_LEVEL=debug. Logs are structured JSON on stderr; stdout is reserved for the MCP protocol.


Support and feedback

This project is maintained by the VerifyAX team at Conscium.

  • Bugs and feature requests: open an issue

  • Development reference: CONTRIBUTING.md (maintainers and forks)

  • External pull requests aren't accepted — issues are the best way to reach us


Disclaimer

MCP clients can register agents, generate scenarios, run evaluations, and delete resources using your VerifyAX API key and workspace credits. Use least privilege (scoped keys, minimal workspace access), review high-impact actions before confirming, and revoke keys you no longer need.

Model Context Protocol connects AI agents to external tools, which creates powerful workflows but also structural risks. Large language models can be vulnerable to prompt injection and related attacks. Only use trusted MCP clients and servers, and review which tools each agent can access.


For developers

This repository is a pnpm monorepo with two packages:

Package

Description

@verifyax/sdk

Typed TypeScript client for the VerifyAX REST API

@verifyax/mcp-server

MCP server (12 tools) built on the SDK

Requires Node ≥ 20 and pnpm 10.

pnpm install      # install workspace dependencies
pnpm build        # build all packages (topological order)
pnpm test         # run unit tests
pnpm lint         # lint
pnpm format       # format with prettier

Network-dependent suites: pnpm test:integration (live API, needs VERIFYAX_TEST_KEY) and pnpm test:conformance (spawns the built MCP server over stdio).


License

Apache-2.0. See LICENSE.

Available Tools

9 tools
delete_scenarioDelete scenarioA
DestructiveIdempotent
Inspect

Permanently deletes a scenario from your VerifyAX workspace by its uuid. This cannot be undone and fails if simulation runs still reference the scenario. Returns confirmation of the deletion.

ParametersJSON Schema
NameRequiredDescriptionDefault
scenario_uuidYesThe uuid of the scenario to permanently delete.

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already indicate destructiveHint=true and idempotentHint=true. The description adds value by specifying irreversibility and the failure condition, and notes that a confirmation is returned. No contradictions.

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 three concise sentences, each adding value: action, constraints, and return behavior. No wasted words, front-loaded with the main purpose.

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 simple delete tool with one parameter, the description covers irreversibility, precondition, and return. Without an output schema, mentioning confirmation is helpful. Could elaborate on what the confirmation contains, but it's adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage and the parameter description already included in the schema, the tool description adds minimal new information about the parameter. The schema already describes 'The uuid of the scenario to permanently delete.' Baseline 3 applies.

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 clearly states the action 'permanently deletes a scenario' with the specific identifier 'by its uuid', which distinguishes it from sibling tools like generate_scenario or list_compatible_tags. The verb and resource are explicit.

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 provides important usage context: the deletion is permanent and 'fails if simulation runs still reference the scenario'. This tells the agent when not to use it (if referenced). It could be improved by stating when to use it, but the prerequisite is clear.

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

evaluate_agentEvaluate agentAInspect

Runs an agent against a scenario and evaluates the result end to end, blocking until the evaluation completes (typically 30s–5min). Give it an agent uuid and a scenario uuid; it previews cost, runs the simulation, waits for it, and returns the evaluation scores. Optional timeout_minutes (1–240) overrides the scenario default for this run.

ParametersJSON Schema
NameRequiredDescriptionDefault
num_runsNoParallel repetitions, 1-10 (default 1).
agent_uuidYesThe agent to evaluate.
scenario_uuidYesThe scenario to run the agent against.
timeout_minutesNoWall-clock budget in minutes for this run (overrides scenario default).

TDQS

A4/5.0
Behavior4/5

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

Discloses blocking nature (30s–5min), cost preview, simulation run, wait, and return of scores. Also mentions optional timeout override. Annotations are minimal (readOnlyHint: false, destructiveHint: false), so description adds useful behavioral context, though it omits whether the run is saved or side effects.

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?

Two sentences, front-loaded with core function, second sentence adds parameter guidance. No redundant words; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so description should describe return values more thoroughly (e.g., what scores are returned). Also misses mentioning the num_runs parameter entirely. Leaves gaps for a blocking evaluation tool.

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%, so baseline 3. Description adds workflow context (preview cost, run, wait, return scores) that enriches parameter understanding beyond schema descriptions. However, it does not detail num_runs parameter.

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?

Description clearly states the verb 'runs and evaluates', the resource 'agent against a scenario', and distinguishes from siblings like 'delete_scenario' or 'preview_run_cost' by specifying it does full end-to-end evaluation blocking until completion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage via 'Give it an agent uuid and a scenario uuid', but no explicit when-to-use or when-not-to-use compared to alternatives like 'preview_run_cost' for cost-only queries. No exclusions or prerequisites stated.

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

generate_scenarioGenerate scenarioAInspect

Generates a new test scenario of a given type (info_exchange or interview) with optional skill tags and context, then blocks until generation finishes (typically 30s–2min). Set num_scenarios greater than 1 for batch mode (requires tag_pool). Returns the new scenario’s uuid, or batch uuids when batching, or a structured error with details if generation fails (e.g. incompatible tags).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesWorkspace-unique scenario name.
tagsNoSkill tag names (use list_compatible_tags to pick valid ones).
tag_poolNoRequired when num_scenarios > 1; universe of tag names to sample from.
total_tagsNoBatch only; tags drawn per scenario from tag_pool.
include_tagsNoBatch only; tags required in every scenario (subset of tag_pool).
num_scenariosNoBatch size. 1 = single scenario (default). Greater than 1 requires tag_pool.
scenario_typeYes
context_promptNo
max_tags_per_npcNoBatch only; caps tags per NPC.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations indicate it's not read-only or destructive. The description adds significant behavioral context: blocking behavior (30s-2min), return values (uuid or batch uuids), and structured error on failure. No rate limits or auth details are disclosed, but overall adds value beyond annotations.

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 (two sentences), front-loaded with the core purpose, and every sentence adds value. No redundant or vague statements.

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?

Given no output schema, the description adequately explains return values. It covers essential parameters (type, tags, num_scenarios, tag_pool) but omits explicit mention of some batch-specific parameters. However, schema fills the gaps, making it sufficiently complete for a user.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 78%, so schema provides most parameter details. The description adds context about batch mode and tag_pool requirement, but does not elaborate on parameters like total_tags, include_tags, or max_tags_per_npc beyond what the schema covers.

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 clearly states the tool generates a new test scenario, specifies the scenario types (info_exchange or interview), and mentions optional parameters. It distinguishes itself from sibling tools like delete_scenario and evaluate_agent by focusing on creation.

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 provides guidance on batch mode (num_scenarios > 1 requires tag_pool) and typical blocking time, but does not explicitly state when not to use the tool or mention alternatives like list_compatible_tags for parameter selection.

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

get_run_detailsGet run detailsA
Read-only
Inspect

Fetches the full details of a single simulation run by its uuid, including its status and the evaluation results when they are available. Use after a run to inspect scores and outcome.

ParametersJSON Schema
NameRequiredDescriptionDefault
simulation_uuidYesThe run’s uuid.

TDQS

A3.9/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true, consistent with a fetch operation. Description adds that it includes status and evaluation results when available, but doesn't elaborate on other behavioral traits like idempotency or lack of side effects.

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?

Two concise sentences, front-loaded with the primary purpose, and no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description could benefit from more detail about the structure of the returned details. It only mentions status and evaluation results, leaving other 'full details' unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the single parameter. The description adds no additional meaning beyond what is in the schema.

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?

Clearly states it fetches full details of a single simulation run, distinguishing it from sibling tools like list_recent_runs which lists runs, and evaluate_agent which evaluates agents.

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?

Explicitly advises 'Use after a run to inspect scores and outcome,' giving clear context for when to use. Lacks explicit alternatives or when-not-to-use guidance.

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

list_agentsList agentsA
Read-only
Inspect

Lists the AI agents registered in your VerifyAX workspace, optionally filtered by connector type (A2A, API, DIRECTLINE, EXTENSION, or MCP). Returns each agent’s uuid, name, type, and URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
agent_typeNoFilter to a single agent type.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description aligns by describing a read-only list operation. It adds context on return fields, which is useful. No further behavioral details are needed given the annotation coverage.

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?

Two sentences cover purpose, filtering, and return fields. No redundant information, and the key points are front-loaded. Every part is necessary.

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?

Given low complexity (3 optional params, no output schema), the description covers the main functionality and return fields. Lacks explicit pagination explanation, but the schema parameters imply it. Overall sufficient for the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains the agent_type parameter and its enum values, but does not mention limit or offset parameters. With schema description coverage at 33%, the description partially compensates but could be more complete on pagination context.

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 clearly states the tool lists AI agents in the workspace, with an optional filter by connector type. It specifies the return fields (uuid, name, type, URL), making it distinct from sibling tools like register_agent or delete_scenario.

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 implies when to use this tool (to list agents, optionally filtered), but does not explicitly provide when-not-to-use or alternatives. It lacks guidance on pagination or cost implications, but the context is clear enough for basic usage.

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

list_compatible_tagsList compatible skill tagsA
Read-only
Inspect

Lists the skill tags that can be used to generate a scenario of a given type (info_exchange or interview). Use this before generating a scenario to pick valid tags. Returns each tag’s name, category, and description, and flags QnA tags that must be the only tag.

ParametersJSON Schema
NameRequiredDescriptionDefault
scenario_typeYesThe kind of scenario the tags will be used for.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true. The description adds value by detailing the return structure (name, category, description) and special flag for QnA tags. No contradictions.

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?

Two sentences, front-loaded with action. Every sentence adds meaningful information with no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given full schema coverage, annotations, and description covering output structure and special behavior, the description is fully adequate for this simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with the only parameter scenario_type having a clear description. The description does not add any additional semantics beyond the schema, so baseline 3 is appropriate.

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 clearly states the tool lists skill tags for a given scenario type (info_exchange or interview). It uses a specific verb ('lists') and resource ('skill tags'), and the purpose is unambiguous.

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?

Explicitly says 'Use this before generating a scenario to pick valid tags,' providing clear when-to-use guidance. It does not list when not to use or alternatives, but the sibling generate_scenario is an obvious counterpart.

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

list_recent_runsList recent runsA
Read-only
Inspect

Lists recent simulation runs in your VerifyAX workspace, optionally filtered by status, agent, scenario, date range, search text, or run group. Returns each run’s uuid, status, agent, scenario, and evaluation handle.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
searchNoFree-text search across run metadata.
statusNoFilter by run status. Known values: CREATED, IN_PROGRESS, COMPLETED, FAILED, CANCELLED (open enum — the API may add statuses, which are forwarded rather than rejected).
date_toNoISO 8601 end of the created-at window.
date_fromNoISO 8601 start of the created-at window.
agent_uuidNo
scenario_uuidNo
run_group_uuidNoFilter to runs in a linked run group.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so description's 'lists' is consistent. Description adds filter options and return fields but does not mention pagination behavior, default ordering, or rate limits. No contradiction.

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?

Two concise sentences front-loading the core purpose and available filters. No fluff, every word adds value.

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?

With 9 parameters and no output schema, the description covers the main filters and returned fields. However, it omits pagination details (limit/offset) and default sort order, which are useful for an agent to know for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 56%; description summarizes filter categories (status, agent, etc.) but does not explain individual parameters like limit/offset beyond what is in the schema. Adds marginal value.

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?

Directly states the function: listing simulation runs with optional filters and specifies the returned fields. Clearly distinguishes from siblings like get_run_details (single run) and list_agents.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Lists available filters but does not explicitly guide when to use this tool versus siblings (e.g., get_run_details for a single run, preview_run_cost for cost estimation). No when-not or alternative tool mentions.

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

preview_run_costPreview run costA
Read-only
Inspect

Estimates the credit cost of running an agent against a scenario before triggering it. Returns the estimated credits, your current balance, and any pending committed spend. Optional timeout_minutes (1–240) affects the run-cost estimate.

ParametersJSON Schema
NameRequiredDescriptionDefault
num_runsNoParallel repetitions (default 1).
agent_uuidNoThe agent that would run (optional).
scenario_uuidYesThe scenario the run would use.
timeout_minutesNoWall-clock budget in minutes for the estimate.

TDQS

A4.4/5.0
Behavior5/5

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

Annotations declare readOnlyHint=true, and description reinforces it's only an estimate without executing. Discloses return fields (estimated credits, balance, pending committed spend). No contradiction.

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?

Two sentences, front-loaded with main purpose, then specific details. Every sentence adds value; no 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?

Given no output schema, description adequately states what is returned. For a preview tool with read-only semantics and well-documented params, it's sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so description adds limited additional meaning. Reiterates timeout_minutes range (1–240) and its effect on estimate, but other parameters (num_runs, agent_uuid, scenario_uuid) are not elaborated beyond schema.

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?

Clearly states it estimates credit cost before running an agent against a scenario. Verb 'estimates' + resource 'credit cost' is specific. Distinguishes from sibling tools like evaluate_agent or get_run_details.

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?

Explicitly says 'before triggering it', indicating when to use. Mentions optional timeout_minutes affects estimate. No explicit when-not or alternatives, but context provides sibling names.

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

register_agentRegister agentAInspect

Registers an AI agent in VerifyAX given its name, connector type (A2A, API, DIRECTLINE for Copilot Studio, or MCP), URL, and optional auth or connector settings. For A2A agents it first verifies the agent card is reachable; DIRECTLINE and MCP agents are probed before creation. Returns the new agent’s uuid and whether connectivity was checked. Note: any token, Direct Line secret, or password passed here transits the conversation — prefer supplying credentials out of band where possible.

ParametersJSON Schema
NameRequiredDescriptionDefault
mcpNo
nameYesWorkspace-unique agent name.
tokenNoToken for bearer/cs auth. Sensitive — see the note in the tool description.
timeoutNoRequest timeout in milliseconds.
agent_urlNoEndpoint URL. Required for A2A, API, and MCP (catalogue adapter A2A URL). Optional for DIRECTLINE — derived from region when omitted.
agent_typeNoDefaults to A2A.
directlineNo
auth_methodNo
descriptionNo
agent_card_urlNo
basic_passwordNoSensitive — see the note in the tool description.
basic_usernameNo
agent_card_pathNo
default_output_modesNo
include_full_contextNo
include_message_historyNo
max_requests_per_minuteNo

TDQS

A4.2/5.0
Behavior4/5

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

The description adds value beyond annotations by detailing that A2A agents are verified for reachability and DIRECTLINE/MCP agents are probed before creation. It also warns that credentials transit the conversation. Annotations already indicate a non-read, non-destructive operation.

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 concise (3-4 sentences), front-loaded with the main purpose, and efficiently covers probing behavior, return information, and a security note. No unnecessary words.

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?

Given the tool's complexity (17 parameters, nested objects, no output schema), the description covers essential aspects: purpose, connector-specific behavior, security, and return value. It could be improved by mentioning error conditions or idempotency, but it is sufficiently complete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 35% schema description coverage, the description adds some context by explaining connector types and sensitivity of credentials, but it does not individually describe the majority of parameters. The description partially compensates for low schema coverage.

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 explicitly states 'Registers an AI agent in VerifyAX given its name, connector type...' providing a specific verb and resource, and distinguishes the tool from sibling tools which focus on scenarios, runs, and evaluation.

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 clearly indicates when to use the tool (registering agents) and provides context on probing behavior for different connector types. However, it does not explicitly state when not to use it or mention alternatives.

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

TDQS

A4.3/5.0
Disambiguation5/5

Each tool targets a distinct resource and action (delete, evaluate, generate, get, list [x4], preview, register). No two tools overlap in purpose; an agent can clearly distinguish them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., delete_scenario, evaluate_agent, list_compatible_tags). The naming is predictable and informative.

Tool Count5/5

With 9 tools, the set is well-scoped for a simulation evaluation platform. Each tool earns its place, covering agent registration, scenario generation, evaluation, and result retrieval.

Completeness4/5

The core workflows (register agent, generate scenario, evaluate, get results) are covered. Missing update operations for agents/scenarios and a delete agent tool are minor gaps that don't severely hinder functionality.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/verifyax/verifyax-mcp'

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