Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

IA-QA — 130+ QA & Dev Tools for AI Agents

REMOTE · WWW.IA-QA.COM · SCANNED SEP 20

130+ QA & dev tools for AI agents: prompt injection, RAG testing, VLM eval, guardrails. Free.

Available components

+1 this week 87 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security83
Transport & Reachability100
Schema Quality & AI Usability73
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 23161 tokens (~152/item across 152 items; 152 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "truncate_to_tokens" implies "truncate" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Fail
  • An AI judge read all 153 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the IA-QA — 130+ QA & Dev Tools for AI Agents MCP server?

IA-QA — 130+ QA & Dev Tools for AI Agents is a hosted endpoint at https://www.ia-qa.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · www.ia-qa.com

# add to Claude Code
claude mcp add --transport http jcjamet-ia-qa-toolbox 'https://www.ia-qa.com/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "jcjamet-ia-qa-toolbox": {
      "url": "https://www.ia-qa.com/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "jcjamet-ia-qa-toolbox": {
      "type": "http",
      "url": "https://www.ia-qa.com/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.jcjamet-ia-qa-toolbox]
url = "https://www.ia-qa.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "jcjamet-ia-qa-toolbox": {
      "type": "remote",
      "url": "https://www.ia-qa.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add jcjamet-ia-qa-toolbox --url 'https://www.ia-qa.com/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  jcjamet-ia-qa-toolbox:
    url: "https://www.ia-qa.com/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "jcjamet-ia-qa-toolbox": {
      "Transport": "http",
      "Url": "https://www.ia-qa.com/mcp"
    }
  }
}
# add to Vellum
assistant mcp add jcjamet-ia-qa-toolbox -t streamable-http -u 'https://www.ia-qa.com/mcp'
// mcp.json
{
  "mcpServers": {
    "jcjamet-ia-qa-toolbox": {
      "type": "http",
      "url": "https://www.ia-qa.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 15 Sept 26 +1
    • Stability: fail → pass security
  • 14 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “get_testing_guidelines” rewrote its description, which is the text the model reads security
    • Tool “response_quality_score” rewrote its description, which is the text the model reads security
    • “get_testing_guidelines” reworded the description of “topic” cosmetic
    • “response_quality_score” reworded the description of “expected_keywords” cosmetic
    • “response_quality_score” reworded the description of “max_length” cosmetic
  • 12 Sept 26 0
    • “mcp_server_evaluate” reworded the description of “url” cosmetic

    1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.

  • 31 Aug 26 0
    • New tool “sandbox_scenario” functional
    • “generate_ci_workflow” added an optional parameter “app_base_url” cosmetic
    • “generate_ci_workflow” added an optional parameter “app_start_command” cosmetic
    • “generate_ci_workflow” reworded the description of “gate” cosmetic
  • 26 Aug 26 −1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 24 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 89 to 93.

  • 21 Aug 26 0
    • Tool “fetch_veille_feed” rewrote its description, which is the text the model reads security
    • Tool “generate_eval_yaml” rewrote its description, which is the text the model reads security
    • Tool “generate_test_cases” rewrote its description, which is the text the model reads security
    • Tool “rerank_evaluate” rewrote its description, which is the text the model reads security
    • Tool “run_pr_gate_pipeline” rewrote its description, which is the text the model reads security
    • Tool “shield_analyze” rewrote its description, which is the text the model reads security
    • Tool “validate_agent_trajectory” rewrote its description, which is the text the model reads security
    • “normalize_whitespace” added an optional parameter “max_blank_lines” cosmetic
    • “rerank_evaluate” added an optional parameter “api_key” cosmetic
    • “generate_test_cases” reworded the description of “feature” cosmetic
    • “generate_test_cases” reworded the description of “inputs” cosmetic
    • “llm_generate” reworded the description of “model” cosmetic
    • “normalize_whitespace” reworded the description of “collapse_blanks” cosmetic
    • “shield_analyze” reworded the description of “model” cosmetic
    • “shield_analyze” reworded the description of “prompt” cosmetic
    • “test_skill” reworded the description of “model” cosmetic
    • “web_security_audit” reworded the description of “model” cosmetic
    • “webhook_endpoint_create” reworded the description of “base_url” cosmetic
  • 20 Aug 26 0
    • Tool “cookie_security_audit” rewrote its description, which is the text the model reads security
    • Tool “cors_test” rewrote its description, which is the text the model reads security
    • Tool “hallucination_check” rewrote its description, which is the text the model reads security
    • Tool “http_status_lookup” rewrote its description, which is the text the model reads security
    • Tool “json_diff” rewrote its description, which is the text the model reads security
    • Tool “parse_csv” rewrote its description, which is the text the model reads security
    • Tool “prompt_injection_scan” rewrote its description, which is the text the model reads security
    • Tool “regex_test” rewrote its description, which is the text the model reads security
    • Tool “text_stats” rewrote its description, which is the text the model reads security
    • Tool “toxicity_scan” rewrote its description, which is the text the model reads security
    • New tool “metamorphic_check” functional
    • “secret_scan” reworded the description of “types” cosmetic
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Probed https://www.ia-qa.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=www.ia-qa.com CN=YR2,O=Let's Encrypt,C=US 10 Aug 2026 8 Nov 2026 RSA 2048 SHA256-RSA 6099d020336eba6c7e01bad927d7a8b7389
SANs: www.ia-qa.com
CN=YR2,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA 4ebd24947e24d394802d84a52fd5b319
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC secure

Validation of www.ia-qa.com. Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
ia-qa.com. present 52852 8 Verified
www.ia-qa.com. Verified address RRset verified with the apex keys
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
content-security-policy default-src 'self';script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com;style-src 'self' 'unsafe-inline' https://fonts.googleapis.com;img-src 'self' data: blob: https:;font-src 'self' https://fonts.gstatic.com data:;connect-src 'self' https: wss: http://localhost:11434 data:;media-src 'self' blob:;object-src 'none';frame-ancestors 'self';base-uri 'self';form-action 'self';script-src-attr 'none';upgrade-insecure-requests
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy no-referrer
permissions-policy camera=(), microphone=(), geolocation=(), payment=(), usb=(), display-capture=()

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://www.ia-qa.com/mcp Verified 200
http (plaintext) http://www.ia-qa.com/mcp HTTPS enforced 301 https://www.ia-qa.com/mcp
MCP tools · 152 exposed · ~22,875 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
flatten_json ~112

Flatten a nested JSON object to single-level dot-notation keys (e.g. {"a":{"b":1}} → {"a.b":1}), or unflatten dot-notation keys back to a nested object. Supports custom separators.

NameTypeReqDescription
inputstring|object|arrayyesThe JSON to flatten or unflatten — a JSON string, or the object itself.
modestring"flatten" (default) or "unflatten"
separatorstringKey separator (default: ".")
NameTypeReqDescription
key_countnumber
max_deptharray
result

No examples provided.

format_bytes ~124

Convert raw byte counts to human-readable sizes in SI (KB=1000) or IEC (KiB=1024) units, or parse size strings back to bytes. Covers B, KB/KiB, MB/MiB, GB/GiB, TB/TiB, PB/PiB.

NameTypeReqDescription
bytesnumberNumber of bytes to format
size_stringstringSize string to parse to bytes (e.g. "1.5 GB", "512 MiB")
standardstringOutput standard (default: both)
NameTypeReqDescription
bytesnumber
original

No examples provided.

format_json ~148

Validate and pretty-print a string that is ALREADY valid JSON. Strict by design — it is a validity gate: valid JSON comes back formatted, anything else is rejected with the exact parse error. It never repairs, completes, or guesses. NOT for: plain text or prose (will fail), JSON embedded in markdown/prose (use extract_json_from_text first), JS objects (JSON.stringify them first), YAML (use yaml_to_json).

NameTypeReqDescription
indentnumberIndent size (default: 2)
inputstringyesA raw JSON string, e.g. '{"key":"value"}'. Must already parse as JSON — plain text or truncated JSON is rejected, not repaired.
NameTypeReqDescription
formattedstring
validboolean

No examples provided.

format_table ~108

Convert a JSON array of objects into a Markdown table. Automatically detects columns, aligns headers, and fills missing keys with empty cells. Use when an agent needs to present structured data — tool results, model comparisons, test reports — as a readable table in a response or document.

NameTypeReqDescription
columnsarrayColumn names and order (default: all keys from first row)
inputstring|object|arrayyesThe array of objects to render — a JSON string, or the array itself.
NameTypeReqDescription
columnsnumber
rowsnumber
tablestring

No examples provided.

function_call_validate ~99

Validate an LLM function call / tool_use output: check that function name is in allowed list, arguments match expected schema, no extra/missing args. For OpenAI function calling & MCP tool_use testing.

NameTypeReqDescription
allowed_functionsarrayyesList of allowed function definitions
function_callobjectyesThe function call object from LLM (e.g. { "name": "get_weather", "arguments": {"city":"Paris"} })
NameTypeReqDescription
error_countnumber
errorsarray
function_name
provided_args
required_args
validboolean

No examples provided.

generate_ci_workflow ~614

Generate a ready-to-commit GitHub Actions workflow that gates a build on IA-QA. Two gate types, combinable: "eval_contract" runs a .ia-eval.yaml through ia-qa-com/eval-action@v1 (LLM quality gate, needs a provider API key as a repo secret), and "cli_checks" runs deterministic primitives via npx @ia-qa/cli (secret scan, prompt-injection scan, security headers…) whose exit code fails the build. Deterministic template — no LLM call, no API key, same inputs give the same file. Returns the YAML, the secrets to create, and the remaining steps. Pair with generate_eval_yaml to produce the contract itself.

NameTypeReqDescription
app_base_urlstringURL the drift gate waits for before capturing (default: http://127.0.0.1:3000). Must match config.baseUrl in .ia-qa/config.json.
app_start_commandstringCommand that boots the app for the selector_drift gate, e.g. "npm run start:ci". Cannot be guessed — omitted, the step carries an explicit TODO and the note says so, because a plausible default would…
cli_toolsarrayIA-QA tool names to run as deterministic gates, e.g. ["secret_scan","prompt_injection_scan"]. Tools with no known CI recipe get a --stdin step flagged in notes.
contract_pathstringPath to the .ia-eval.yaml contract, relative to the repo root (default: evals/smoke.ia-eval.yaml). Only used when the gate includes eval_contract.
cronstringCron expression when triggers include 'schedule' (default: '0 6 * * 1' — Mondays 06:00 UTC).
fail_on_failbooleanFail the build on a FAIL/PARTIAL verdict (default: true). Set false to report without gating.
gatestringWhich gate to emit. eval_contract = LLM eval via the action (default). cli_checks = deterministic CLI assertions. selector_drift = an E2E selector-drift gate via @ia-qa/self-healing (boots the app, c…
min_scorenumberOverride the contract min_score (0-100). Omit to use the value in the contract.
node_versionstringNode version for the CLI steps (default: "20").
providerstringLLM provider the contract runs against — decides which repository secret the workflow wires (default: groq).
triggersarrayWorkflow triggers (default: push + pull_request).
workflow_namestringWorkflow display name (default: "IA-QA Quality Gate").
NameTypeReqDescription
gatestring
next_stepsarray
notesarray
pathstring
secrets_requiredarray
yamlstring

No examples provided.

generate_curl ~154

Generate a curl command from request parameters. Supports GET/POST/PUT/DELETE, custom headers, JSON body, and form data. Useful for documentation, sharing, and debugging API calls.

NameTypeReqDescription
bodystringRaw request body string
body_jsonobjectJSON body (auto-adds Content-Type: application/json)
follow_redirectsbooleanFollow redirects with -L flag (default: true)
headersobjectRequest headers as key-value object
methodstringHTTP method (default: GET)
urlstringyesRequest URL (must be http/https)
verbosebooleanAdd -v for verbose output (default: false)
NameTypeReqDescription
curlstring
header_countnumber
method
url

No examples provided.

generate_eval_yaml ~192

Generate a complete .ia-eval.yaml evaluation contract from a plain-language description of what your LLM should do. Uses Groq openai/gpt-oss-20b (server-side, no API key needed). Returns ready-to-run YAML for the LLM Test Runner (run_eval_contract). Picks appropriate evaluators (cosine_similarity, contains_check, hallucination_check, etc.) based on the task type.

NameTypeReqDescription
descriptionstringyesPlain-language description of what the LLM under test should do. Be specific: describe inputs, expected behaviour, and constraints.
scenario_countnumberNumber of scenarios to generate (default: 5). Covers happy path + edge cases + adversarial.
system_promptstringOptional system prompt of the LLM under test. Helps generate more accurate test cases.
task_typestringOptional task type hint to guide evaluator selection.
NameTypeReqDescription
model_usedstring
scenario_countnumber
task_typestring
yamlstring

No examples provided.

generate_hmac ~117

Compute an HMAC signature for a message using a secret key. Supports SHA-256 (default), SHA-512, SHA-1, and MD5. Used for API request signing, webhook verification (GitHub, Stripe, Twilio), and JWT validation.

NameTypeReqDescription
algorithmstringHash algorithm: sha256 (default), sha512, sha1, md5
encodingstringOutput encoding (default: hex)
messagestringyesMessage to sign
secretstringyesSecret key
NameTypeReqDescription
algorithm
encoding
hmac
message_lengthnumber

No examples provided.

generate_html_report ~79

Convert a run_eval_contract() LLM Test Runner JSON result into a fully self-contained dark-themed HTML report with Pass/Fail badges, side-by-side Input/Output/Ground-Truth panels, evaluator score bars, and a radar chart. Returns the HTML as a string.

NameTypeReqDescription
resultsobjectyesThe JSON object returned by run_eval_contract()
NameTypeReqDescription
html

No examples provided.

generate_json_ld ~138

Generate a ready-to-paste <script type="application/ld+json"> snippet for GEO / structured data optimization. Supported types: WebSite, FAQPage, Article, Person, Organization, SoftwareApplication, HowTo.

NameTypeReqDescription
faq_itemsarrayFor FAQPage/HowTo: array of { question, answer } objects
fieldsobjectSchema fields as key-value pairs (name, url, description, author, datePublished, etc.)
typestringyesSchema @type: "WebSite", "FAQPage", "Article", "Person", "Organization", "SoftwareApplication", "HowTo"
NameTypeReqDescription
acceptedAnswerobject
namestring
schema
snippetstring

No examples provided.

generate_password ~114

Generate a cryptographically secure random password using crypto.randomBytes. Configurable length (4–128), uppercase letters, digits, and symbols. Use when resetting user passwords, seeding test accounts, or generating API secrets.

NameTypeReqDescription
lengthnumberPassword length (4–128, default: 16)
numbersbooleanInclude digits (default: true)
symbolsbooleanInclude symbols like !@#$ (default: false)
uppercasebooleanInclude uppercase letters (default: true)
NameTypeReqDescription
charset_sizenumber
lengthnumber
password

No examples provided.

generate_slug ~84

Convert any string into a URL-friendly slug: lowercase, ASCII-normalized (é→e), special characters removed, spaces replaced with hyphens. Use for generating SEO-friendly URL paths, file names, or identifier keys from user-provided titles or labels.

NameTypeReqDescription
inputstringyesString to slugify
separatorstringSeparator character (default: "-")
NameTypeReqDescription
slug

No examples provided.

generate_test_cases ~257

Generate a set of test cases (valid, edge, invalid, pairwise) for a given feature description. Declared constraints drive the boundaries: a length or numeric bound ("[8-64]", "min 8 chars", "at least 8 characters" — read from inputs, and from the feature prose when a sentence names exactly one field) yields the last accepted value AND the first rejected one; a format (email/url/uuid, from the type, the field name or the wording) yields malformed-value cases. A bound nobody declared is labelled as this tool's assumption, not as expected behaviour. gherkinFormat renders every case (cap 200, stated in the output) and gherkinScenarioCount lets you check it against totalCases.

NameTypeReqDescription
featurestringyesFeature or function to test. Be specific: describe inputs, expected behaviour, context. Constraints stated here ("password must be at least 8 characters") are used when the sentence names exactly one…
inputsstringOptional: list of input parameters (one per line, e.g. "email: string [required]", "password: string [required, min 8 chars]", "age: number [18-99]")
NameTypeReqDescription
featurestring
gherkinFormatstring
gherkinScenarioCountnumber
parsedInputsarray
test_casesarray

No examples provided.

generate_uuid ~80

Generate one or more cryptographically random UUID v4 identifiers. Use this when you need unique IDs for test fixtures, database records, session tokens, or any scenario requiring a guaranteed-unique string. Returns up to 100 UUIDs in one call.

NameTypeReqDescription
countnumberNumber of UUIDs to generate (1–100, default: 1)
NameTypeReqDescription
countnumber
uuids

No examples provided.

get_testing_guidelines ~227

Query the IA-QA methodology knowledge base. Returns structured testing guidelines, assertion strategies, thresholds, best practices, and relevant MCP tools for a given topic. Call without a topic to list all available topics. Topics: llm-unit-testing, rag-pipeline, prompt-stability, prompt-ab-testing, embedding-quality, eval-framework, semantic-testing, auto-testing, security, api-testing, ci-cd, multimodal, llm-data-security, agent-observability, pro-tips, learning-paths, golden-dataset, selector-drift, qa-recipes, playbooks. Not sure where to start testing an LLM, RAG pipeline or agent? Call without a topic (or with "start-here"): it maps what you are testing to the tools to call and the output field to gate CI on. A plain question such as "how do I test my RAG" also resolves to the right topic.

NameTypeReqDescription
topicstringThe testing topic to retrieve guidelines for. Omit to get the start-here map and the full list of available topics.
NameTypeReqDescription
available_topicsarray
keywordsarray
start_hereobject
tipstring
topic
usagestring

No examples provided.

guardrail_test ~80

Test an LLM response against a set of guardrail rules: must-include, must-not-include, max length, required format, language, forbidden patterns, and custom regex. Returns pass/fail per rule.

NameTypeReqDescription
responsestringyesThe LLM response to test
rulesarrayyesArray of guardrail rules to check
NameTypeReqDescription
all_passedboolean
detailstring
failed
label
passboolean
passed
results
rule
total_rulesnumber
value

No examples provided.

hallucination_check ~230

Lexical hallucination check: verifies an LLM answer's words, numbers and polarity against the provided source/context. Fast, deterministic, no API key needed. Each answer sentence is aligned to its best-matching source sentence, so a number only counts as support when it sits on the SAME statement ("founded in 1998" is not grounded by "sold 1998 units"), and a negation or antonym flip against that sentence returns verdict "contradicted" — the corrupted-fact hallucination that reuses source vocabulary. Limitations: still lexical — it cannot follow a paraphrase, a synonym, or multi-sentence reasoning, so a "well_grounded" verdict means "nothing lexical found", never "verified true". For entailment use run_semantic_tests (NLI/embedding) or a calibrated judge.

NameTypeReqDescription
answerstringyesThe LLM-generated answer to verify
contextstringyesThe source/reference text that should ground the answer
strictbooleanIf true, every sentence in the answer must be supported (default: false)
NameTypeReqDescription
analysis
contradictions
detailstring
entities
groundedboolean
grounded_countnumber
grounding_score
matched_wordsnumber
messagestring
numbers
overlapnumber
sentence
total_sentencesnumber
total_wordsnumber
unbound_claims
ungrounded_countnumber
unsupported_claims
verdictstring

No examples provided.

hash_text ~102

Compute a cryptographic hash of a text string. Use when you need to verify data integrity, generate content fingerprints, hash passwords (prefer SHA-256+), or produce a fixed-length digest of any input. Supports SHA-256 (default), SHA-512, SHA-1, and MD5.

NameTypeReqDescription
algorithmstringHash algorithm: sha256 (default), sha512, sha1, md5
inputstringyesText to hash
NameTypeReqDescription
algorithm
hash
input_lengthnumber

No examples provided.

html_to_markdown ~81

Convert HTML to clean Markdown. Strips scripts, styles, nav, ads, and comments. Converts headings, lists, links, images, code blocks. Ideal for preparing web content as LLM context.

NameTypeReqDescription
inputstringyesHTML string to convert
strip_linksbooleanStrip link URLs, keep text only (default: false)
NameTypeReqDescription
markdown
markdown_lengthnumber
original_lengthnumber

No examples provided.

http_status_lookup ~142

Look up detailed information about any HTTP status code: class, name, description, cacheability, typical causes, and handling best practices. Covers every code in the IANA HTTP Status Code Registry (1xx-5xx, including 226, 425, 451, 508, 511 and the WebDAV codes) with its defining RFC; anything outside the registry is reported as `registered: false` rather than described. `cacheable` means heuristically cacheable by default per RFC 9110 §15.1.

NameTypeReqDescription
codenumberyesHTTP status code (e.g. 200, 404, 429, 503)
NameTypeReqDescription
cacheable
class
code
descstring
description
namestring
registeredboolean

No examples provided.

identify_caller ~71

Returns what the server knows about the current MCP client: clientInfo captured during initialize, User-Agent, and any _meta fields sent with this request. Useful for debugging caller identification.

NameTypeReqDescription
_metaobjectOptional self-identification. Keys: agent (string), model (string), version (string).
NameTypeReqDescription
effective_agentstring
meta_overrideobject
notestring
sessionobject

No examples provided.

jira_to_test_suite ~384

Transform a Jira ticket into a complete test suite: Gherkin scenarios, E2E steps, API test cases, test data matrix, and ambiguity detection. Accepts either Jira credentials (auto-fetch) or a pre-fetched issue object. The returned test_suite includes _gherkin_warnings (deterministic syntax validation — empty if clean). Requires BYOK LLM key (OpenAI, Anthropic, etc.).

NameTypeReqDescription
api_keystringyesYour LLM provider API key (OpenAI sk-, Anthropic sk-ant-, Google AIzaSy-, etc.).
confluence_pagesarrayOptional array of pre-fetched Confluence page objects from fetch_confluence_page, used as documentation context.
issueobjectPre-fetched issue object from fetch_jira_issue, OR a mock object with fields: key, summary, description (plain text or Markdown), status, issue_type, priority, labels, comments. Use this for offline/…
issue_keystringJira issue key to fetch automatically, e.g. "PROJ-123". Required if issue is not provided.
jira_base_urlstringAtlassian base URL. Required for auto-fetch mode.
jira_emailstringAtlassian account email. Required for auto-fetch mode.
jira_tokenstringAtlassian API token. Required for auto-fetch mode.
max_tokensintegerMaximum tokens for the LLM response. Default: 8192. Increase for large tickets with many ACs; decrease to reduce cost on simple tickets.
modelstringyesLLM model to use, e.g. "gpt-4o-mini", "claude-3-5-haiku-20241022", "gemini-2.0-flash".
NameTypeReqDescription
issue_keystring
issue_urlstring
latency_msnumber
model_usedstring
summarystring
test_suiteobject
tokens_usednumber

No examples provided.

json_diff ~187

Compute a deep structural diff between two JSON values. Returns added, removed, and changed keys with dot-notation paths. Like git diff but for JSON objects — perfect for API response regression testing. Arrays are not compared blindly by position: the same elements in a different order collapse to a single "reordered" change, and an array of records sharing a stable identity field (id, uuid, key, name…) is matched by that field, so paths read [id=42] and a moved record is not reported as N rewrites.

NameTypeReqDescription
afterstring|object|arrayyesThe modified JSON (after) — a JSON string, or the value itself.
beforestring|object|arrayyesThe original JSON (before) — a JSON string, or the value itself.
max_depthnumberMax nesting depth to recurse (default: 10)
NameTypeReqDescription
addedboolean
changesarray
identicalboolean
modifiedboolean
removedboolean
total_changesnumber

No examples provided.

json_schema_generate ~140

Infer a JSON Schema (draft-07) from a sample JSON value. Detects types, required fields, array item shapes, nested objects, and common string formats (email, uri, date, date-time, uuid). Returns a ready-to-use schema compatible with json_schema_validate. Use when you have a sample API response or LLM output and want to auto-generate a validation schema for CI/CD testing.

NameTypeReqDescription
inputstring|object|arrayyesThe sample JSON value to infer the schema from — a JSON string, or the value itself.
required_allbooleanMark all detected object properties as required (default: true)
NameTypeReqDescription
format
itemsobject
schemaobject
typestring

No examples provided.

json_schema_validate ~133

Validate a JSON value against a JSON Schema (draft-07 subset). Supports type, required, properties, items, enum, const, pattern, format (email/uri/date), minimum/maximum, minLength/maxLength, minItems/maxItems, uniqueItems, additionalProperties, anyOf, allOf, oneOf. Returns all validation errors with dot-notation paths.

NameTypeReqDescription
schemastring|object|arrayyesThe JSON Schema — a JSON string, or the schema object itself.
valuestring|object|arrayyesThe JSON value to validate — a JSON string, or the value itself.
NameTypeReqDescription
error_countnumber
errorsarray
validboolean

No examples provided.

json_to_csv ~90

Convert a JSON array of objects to CSV format. Automatically detects columns from all object keys. Handles quoting and escaping per RFC 4180.

NameTypeReqDescription
delimiterstringColumn delimiter (default: ",")
headersbooleanInclude header row (default: true)
inputstring|object|arrayyesThe array of objects to convert — a JSON string, or the array itself.
NameTypeReqDescription
column_names
columnsnumber
csvstring
rowsnumber

No examples provided.

json_to_yaml ~80

Convert a JSON object to clean, human-readable YAML. Handles nested objects, arrays, multiline strings, and special characters. No external dependencies.

NameTypeReqDescription
indentnumberIndentation size in spaces (default: 2)
inputstring|object|arrayyesThe JSON to convert to YAML — a JSON string, or the value itself.
NameTypeReqDescription
linesnumber
yaml

No examples provided.

latency_benchmark ~110

Measure response time of one or more HTTP endpoints (GET/POST). Runs N iterations and returns min/max/avg/p95 latency. Useful for API and MCP server benchmarking.

NameTypeReqDescription
endpointsstring|arrayyesEndpoints to benchmark. Accepts a single URL string, an array of URL strings, or an array of {url, method?, body?, headers?, label?} objects.
iterationsnumberNumber of iterations per endpoint (default: 3, max: 10)
NameTypeReqDescription
iterationsnumber
resultsarray

No examples provided.

levenshtein_distance ~109

Compute the Levenshtein (edit) distance and normalized similarity ratio between two strings. Supports batch comparison. Useful for fuzzy string matching, deduplication, and test result comparison.

NameTypeReqDescription
astringFirst string (single-pair mode)
bstringSecond string (single-pair mode)
batcharrayBatch of {a,b} pairs (max 50)
case_insensitivebooleanIgnore case differences (default: false)
NameTypeReqDescription
a
b
countnumber
distance
modestring
operations_needed
results
similaritystring

No examples provided.

lint_commit_message ~91

Validate a git commit message against the Conventional Commits spec (feat, fix, docs, style, refactor, test, chore, ci, perf, build). Returns compliance score, breaking change detection, and actionable suggestions.

NameTypeReqDescription
messagestringyesGit commit message to validate
strictbooleanEnforce strict rules: max 72-char subject, imperative mood check (default: false)
NameTypeReqDescription
checks
has_bodyboolean
is_breaking_changeboolean
scope
scorenumber
subject
type
validboolean

No examples provided.

list_llm_models ~137

List all LLM models available on ia-qa.com with their provider, API endpoint, and capabilities. Filter by provider name (e.g. "Groq", "HuggingFace", "OpenAI") or return the full catalog. Use this to discover which models are available before calling an LLM API, or to compare providers.

NameTypeReqDescription
providerstringFilter by provider name (case-insensitive). E.g. "Groq", "HuggingFace", "OpenAI", "Anthropic", "Google", "DeepSeek", "xAI", "Ollama". Omit for full catalog.
NameTypeReqDescription
filter
models
providers
totalnumber

No examples provided.

list_local_tests ~70

Discover .ia-eval.yaml LLM test suite files in the project directory. Scans CWD and standard sub-directories (evals/, tests/, contracts/). Returns file paths ready to pass to run_eval_contract.

NameTypeReqDescription
dirstringDirectory to scan (defaults to server CWD)
NameTypeReqDescription
countnumber
dirstring
filesarray

No examples provided.

llm_fit_finder ~254

Find the best LLM for a given use case. Compares 30+ cloud API models and 12+ local models by cost, speed, benchmarks, features and VRAM requirements. Returns ranked recommendations with cost simulation. No API key needed.

NameTypeReqDescription
featuresarrayRequired features: vision, function_calling, json_mode, streaming, reasoning
max_budgetnumberMaximum monthly budget in USD (based on tokens_per_day)
modestringcloud (API models) or local (Ollama/self-hosted). Default: cloud
quantizationstringQuantization (only for mode=local): Q4_K_M | Q8_0 | FP16. Default: Q4_K_M
tokens_per_daynumberEstimated daily token volume (default: 100000)
top_nnumberNumber of recommendations to return (default: 5)
use_casestringPrimary use case: chatbot | code | rag | summarization | classification | reasoning | agents | multilingual
vram_gbnumberGPU VRAM in GB (only for mode=local). Default: 16
NameTypeReqDescription
modestring
quantization
resultsarray
scorenumber
tokens_per_day
total_matchingnumber
use_case
vram_gb

No examples provided.

llm_format_check ~92

Validate that an LLM output matches an expected format: JSON, Markdown, code block, bullet list, numbered list, table, YAML, XML, or custom regex. Essential for structured output testing.

NameTypeReqDescription
expected_formatstringyesExpected format
outputstringyesThe LLM output to validate
regex_patternstringCustom regex pattern (only when expected_format is "regex")
NameTypeReqDescription
checks
expected_format
failed
passed
total_checksnumber
validboolean

No examples provided.

llm_generate ~333

Generate text using open-source LLM models hosted on Groq (ultra-fast) or HuggingFace Inference (serverless). No API key required — the server provides its own keys. Supported models: Qwen3 32B, Gemma 4 27B, Gemma 3 27B, Llama 3.3 70B, Llama 4 Scout, DeepSeek R1, Mistral Small 24B, and more. Use list_llm_models to see the full catalog. Rate-limited to prevent abuse.

NameTypeReqDescription
max_tokensnumberMaximum tokens to generate (default: 2048, max: 4096)
modelstringModel ID (default: "openai/gpt-oss-20b"). Server-keyed whitelist only — Groq: openai/gpt-oss-20b, openai/gpt-oss-120b, qwen/qwen3.6-27b; HuggingFace: Qwen/Qwen3-32B, meta-llama/Llama-3.3-70B-Instruct…
promptstringyesThe user prompt / instruction to send to the model
systemstringOptional system prompt to set context or persona
temperaturenumberSampling temperature 0.0–1.5 (default: 0.7)
NameTypeReqDescription
content
latency_msnumber
model
provider
usage

No examples provided.

llm_json_schema_check ~85

Validate that an LLM JSON output matches a JSON Schema definition. Tests required fields, types, enums, nested objects, and arrays. Critical for function-calling and structured output testing.

NameTypeReqDescription
outputstringyesThe LLM JSON output (raw string, will be parsed)
schemaobjectyesJSON Schema (draft-07 subset) to validate against
NameTypeReqDescription
error_countnumber
errorsarray
parse_error
parsed_type
validboolean

No examples provided.

llm_output_validator ~240

Validate an LLM response against QA criteria: format checks (JSON, code, markdown), content rules (must-include, must-not-include), length constraints, language detection, and safety patterns. Essential for QA testing LLM-powered features.

NameTypeReqDescription
check_json_schemastringIf expected_format is JSON, provide required keys as comma-separated list to validate the structure
check_safetybooleanCheck for PII patterns (emails, phones, SSN), profanity signals, and prompt leakage
expected_formatstringExpected output format
expected_languagestringExpected language of the output (en, fr, es, de…). Checks for common words.
max_lengthnumberMaximum character length for the output
min_lengthnumberMinimum character length for the output
must_includestringComma-separated strings that MUST appear in the output
must_not_includestringComma-separated strings that must NOT appear (e.g. "TODO, FIXME, undefined, NaN")
outputstringyesThe LLM output text to validate
NameTypeReqDescription
checks
failed
passed
totalnumber
verdict

No examples provided.

lorem_ipsum ~120

Generate Lorem Ipsum placeholder text for UI mockups, design prototypes, or test data population. Configurable paragraphs (1–10), sentences per paragraph (1–20), and approximate words per sentence (3–30).

NameTypeReqDescription
paragraphsnumberNumber of paragraphs to generate (1–10, default: 1)
sentences_per_paragraphnumberSentences per paragraph (1–20, default: 5)
words_per_sentencenumberApproximate words per sentence (3–30, default: 10)
NameTypeReqDescription
paragraph_countnumber
paragraphs

No examples provided.

mcp_schema_lint ~60

Lint an MCP tool definition for best practices: naming conventions, description quality, schema completeness, required fields consistency, description length. Returns actionable warnings.

NameTypeReqDescription
tool_definitionobjectyesMCP tool definition object with name, description, inputSchema
NameTypeReqDescription
error_countnumber
errors
grade
quality_score
warning_countnumber
warnings

No examples provided.

mcp_server_evaluate ~150

Run a full compliance evaluation against a live MCP server URL. Tests: server reachability (ping), manifest discovery (GET /mcp), schema quality (snake_case names, descriptions, inputSchema), JSON-RPC 2.0 test call, and P50/P95 latency. Returns a PASS/FIX/BLOCK verdict with a 0-100 score and per-check details.

NameTypeReqDescription
test_tool_namestringSpecific tool name to use in the JSON-RPC test call (defaults to the first tool in the manifest)
urlstringyesBase URL of the MCP server (e.g. https://www.ia-qa.com or http://localhost:3001)
NameTypeReqDescription
checksobject
latencyobject
scorenumber
urlstring
verdictstring

No examples provided.

mcp_server_health_check ~97

Generate a health check report for an MCP server's tool manifest. Validates tool definitions, schema quality, naming conventions, and documentation completeness. Paste the server manifest JSON to audit.

NameTypeReqDescription
manifeststringyesMCP server manifest JSON (the response from GET /mcp or tools/list)
strictbooleanEnable strict mode: also check for optional best practices (examples, default values, descriptions > 20 chars)
NameTypeReqDescription
checksarray
failednumber
passednumber
statsobject
toolIssues
totalnumber
verdictstring

No examples provided.

merge_json ~120

Deep merge two JSON objects. Supports three array strategies: replace (default), concat, or unique (dedup concat). Nested objects are recursively merged — override takes precedence for primitives.

NameTypeReqDescription
array_strategystringArray merge strategy: replace (default), concat, or unique
basestring|object|arrayyesThe base JSON object (merged into) — a JSON string, or the object itself.
overridestring|object|arrayyesThe override JSON object (takes precedence) — a JSON string, or the object itself.
NameTypeReqDescription
merged
new_keysarray
overridden_keysarray
total_keysnumber

No examples provided.

metamorphic_check ~497

Reference-free stability primitive: instead of comparing an answer to a ground truth, it checks that an assistant's answer stays INVARIANT when the QUESTION is transformed (typo, casing, paraphrase, reordering, translation). Catches the failure class no reference answer can expose — an assistant that handles one phrasing well and a trivial variant of it badly. You bring the outputs (no model is called), so it is deterministic and free in tfidf mode. Relations: case (θ .95), typo (.90), paraphrase (.80), reorder (.80), translation (.75, embeddings only), specialization (.60, ADVISORY — directional, never gated). Returns PASS / FAIL / INVALID, where INVALID means the BASE answer was a refusal or too short so invariance was never measurable — an assistant that refuses every variant would otherwise score a perfect 1.0. Use run_semantic_tests alongside it: invariance without a correctness floor is a green light for a broken assistant.

NameTypeReqDescription
api_keystringOpenAI API key — required only when mode is embeddings.
baseobjectyesThe reference run: the original question and the answer your system produced for it.
baseline_guardobjectCorrectness floor applied to the BASE answer before anything is scored. Failing it returns INVALID, not FAIL.
modestringtfidf (default): free, lexical, deterministic — but a genuine paraphrase rarely reaches 0.80, so gate on case/typo and treat paraphrase as a trend. embeddings: OpenAI text-embedding-3-small, true sem…
require_allbooleanIf true (default), every gated variant must pass. KEEP THE DEFAULT for any run you gate on. Setting it false is not a tolerance dial but an off switch: relations have asymmetric pass rates (a typo va…
thresholdsobjectPer-relation threshold overrides. Calibrate on your own corpus before gating — the defaults are starting points, not measurements.
variantsarrayyesAnswers produced for transformed versions of the same question, each tagged with the relation that was applied.
NameTypeReqDescription
baselineobject
modestring
summaryobject
thresholdsobject
variantsarray
verdictstring
warningsarray
weakestobject

No examples provided.

minify_js ~77

Minify a JavaScript snippet, function, class, or module up to 50 KB using Terser. Returns minified code and byte savings. Use when embedding scripts in HTML templates, report payloads, or injecting inline code programmatically.

NameTypeReqDescription
codestringyesJavaScript code to minify (max 50kb)
NameTypeReqDescription
minified

No examples provided.

mock_from_schema ~136

Generate realistic mock data from a JSON Schema. Supports all common types (string, number, integer, boolean, array, object, null), format hints (email, date, date-time, uri, uuid), enum, const, and nested schemas. Perfect for testing MCP tools with realistic data.

NameTypeReqDescription
countnumberNumber of mock objects to generate (default: 1, max: 20)
schemastring|object|arrayyesThe JSON Schema to generate from — a JSON string, or the schema object itself.
seedstringOptional seed string for deterministic output (uses first char codes)
NameTypeReqDescription
countnumber
results

No examples provided.

model_info ~109

Get detailed specs for an AI model: context window, pricing per 1K tokens, knowledge cutoff, provider, multimodal support, reasoning capabilities, and feature list. Covers 30+ models from OpenAI, Anthropic, Google, DeepSeek, Meta, Mistral, Cohere, xAI.

NameTypeReqDescription
modelstringyesModel name (e.g. "gpt-4o", "claude-3.5-sonnet", "gemini-2.5-pro")
NameTypeReqDescription
model
pricing_per_1kobject

No examples provided.

Common questions

What is the IA-QA — 130+ QA & Dev Tools for AI Agents MCP server?

IA-QA — 130+ QA & Dev Tools for AI Agents is an MCP server listed in the public MCP registry as io.github.JcJamet/ia-qa-toolbox. 130+ QA & dev tools for AI agents: prompt injection, RAG testing, VLM eval, guardrails. Free. This page covers its hosted endpoint (https://www.ia-qa.com/mcp).

Is the IA-QA — 130+ QA & Dev Tools for AI Agents MCP server safe to use?

IA-QA — 130+ QA & Dev Tools for AI Agents scores 87 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the IA-QA — 130+ QA & Dev Tools for AI Agents MCP server expose?

IA-QA — 130+ QA & Dev Tools for AI Agents exposes 152 tools: format_json, generate_uuid, hash_text, count_tokens, base64_encode, and 147 more. Their descriptions and schemas cost roughly 22,875 tokens of context every time the server is loaded.

Does the IA-QA — 130+ QA & Dev Tools for AI Agents MCP server require authentication?

No. We connected to IA-QA — 130+ QA & Dev Tools for AI Agents without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the IA-QA — 130+ QA & Dev Tools for AI Agents MCP server still maintained?

IA-QA — 130+ QA & Dev Tools for AI Agents is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.