IA-QA — 130+ QA & Dev Tools for AI Agents
REMOTE · WWW.IA-QA.COM · SCANNED AUG 3
130+ QA & dev tools for AI agents: prompt injection, RAG testing, VLM eval, guardrails. Free.
Available components
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 →
Endpoint Security83
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability70
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 20450 tokens (~136/item across 150 items; 150 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 Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · www.ia-qa.com
claude mcp add --transport http jcjamet-ia-qa-toolbox https://www.ia-qa.com/mcp
[mcp_servers.jcjamet-ia-qa-toolbox] url = "https://www.ia-qa.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"jcjamet-ia-qa-toolbox": {
"type": "remote",
"url": "https://www.ia-qa.com/mcp",
"enabled": true
}
}
} openclaw mcp add jcjamet-ia-qa-toolbox --url https://www.ia-qa.com/mcp --transport streamable-http
mcp_servers:
jcjamet-ia-qa-toolbox:
url: "https://www.ia-qa.com/mcp" {
"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.
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.
- 2 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +3
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 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
- 29 Jul 26 0
- Tool “analyze_diff_bugs” 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
- “find_tool” added an optional parameter “max_results” cosmetic
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 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
- 26 Jul 26 69
First indexed and scored.
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 3 Aug 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=YR1,O=Let's Encrypt,C=US | 11 Jun 2026 | 9 Sept 2026 | RSA 2048 | SHA256-RSA | 6b2b8b5f2547d58014f06ba311ff41342ce |
| SANs: www.ia-qa.com | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| 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 |
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=() |
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 |
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.
flatten_json ~99
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.
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | JSON string to flatten or unflatten |
| mode | string | — | "flatten" (default) or "unflatten" |
| separator | string | — | Key separator (default: ".") |
| Name | Type | Req | Description |
|---|---|---|---|
| key_count | number | — | — |
| max_depth | array | — | — |
| 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.
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | number | — | Number of bytes to format |
| size_string | string | — | Size string to parse to bytes (e.g. "1.5 GB", "512 MiB") |
| standard | string | — | Output standard (default: both) |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | number | — | — |
| 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).
| Name | Type | Req | Description |
|---|---|---|---|
| indent | number | — | Indent size (default: 2) |
| input | string | yes | A raw JSON string, e.g. '{"key":"value"}'. Must already parse as JSON — plain text or truncated JSON is rejected, not repaired. |
| Name | Type | Req | Description |
|---|---|---|---|
| formatted | string | — | — |
| valid | boolean | — | — |
No examples provided.
format_table ~99
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.
| Name | Type | Req | Description |
|---|---|---|---|
| columns | array | — | Column names and order (default: all keys from first row) |
| input | string | yes | JSON array of objects to convert to a Markdown table |
| Name | Type | Req | Description |
|---|---|---|---|
| columns | number | — | — |
| rows | number | — | — |
| table | string | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| allowed_functions | array | yes | List of allowed function definitions |
| function_call | object | yes | The function call object from LLM (e.g. { "name": "get_weather", "arguments": {"city":"Paris"} }) |
| Name | Type | Req | Description |
|---|---|---|---|
| error_count | number | — | — |
| errors | array | — | — |
| function_name | — | — | — |
| provided_args | — | — | — |
| required_args | — | — | — |
| valid | boolean | — | — |
No examples provided.
generate_ci_workflow ~458
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.
| Name | Type | Req | Description |
|---|---|---|---|
| cli_tools | array | — | IA-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_path | string | — | Path 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. |
| cron | string | — | Cron expression when triggers include 'schedule' (default: '0 6 * * 1' — Mondays 06:00 UTC). |
| fail_on_fail | boolean | — | Fail the build on a FAIL/PARTIAL verdict (default: true). Set false to report without gating. |
| gate | string | — | Which gate to emit. eval_contract = LLM eval via the action (default). cli_checks = deterministic CLI assertions. both = CLI checks first, eval last. |
| min_score | number | — | Override the contract min_score (0-100). Omit to use the value in the contract. |
| node_version | string | — | Node version for the CLI steps (default: "20"). |
| provider | string | — | LLM provider the contract runs against — decides which repository secret the workflow wires (default: groq). |
| triggers | array | — | Workflow triggers (default: push + pull_request). |
| workflow_name | string | — | Workflow display name (default: "IA-QA Quality Gate"). |
| Name | Type | Req | Description |
|---|---|---|---|
| gate | string | — | — |
| next_steps | array | — | — |
| notes | array | — | — |
| path | string | — | — |
| secrets_required | array | — | — |
| yaml | string | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | — | Raw request body string |
| body_json | object | — | JSON body (auto-adds Content-Type: application/json) |
| follow_redirects | boolean | — | Follow redirects with -L flag (default: true) |
| headers | object | — | Request headers as key-value object |
| method | string | — | HTTP method (default: GET) |
| url | string | yes | Request URL (must be http/https) |
| verbose | boolean | — | Add -v for verbose output (default: false) |
| Name | Type | Req | Description |
|---|---|---|---|
| curl | string | — | — |
| header_count | number | — | — |
| method | — | — | — |
| url | — | — | — |
No examples provided.
generate_eval_yaml ~191
Generate a complete .ia-eval.yaml evaluation contract from a plain-language description of what your LLM should do. Uses Groq llama-3.3-70b (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.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | yes | Plain-language description of what the LLM under test should do. Be specific: describe inputs, expected behaviour, and constraints. |
| scenario_count | number | — | Number of scenarios to generate (default: 5). Covers happy path + edge cases + adversarial. |
| system_prompt | string | — | Optional system prompt of the LLM under test. Helps generate more accurate test cases. |
| task_type | string | — | Optional task type hint to guide evaluator selection. |
| Name | Type | Req | Description |
|---|---|---|---|
| model_used | string | — | — |
| scenario_count | number | — | — |
| task_type | string | — | — |
| yaml | string | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| algorithm | string | — | Hash algorithm: sha256 (default), sha512, sha1, md5 |
| encoding | string | — | Output encoding (default: hex) |
| message | string | yes | Message to sign |
| secret | string | yes | Secret key |
| Name | Type | Req | Description |
|---|---|---|---|
| algorithm | — | — | — |
| encoding | — | — | — |
| hmac | — | — | — |
| message_length | number | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| results | object | yes | The JSON object returned by run_eval_contract() |
| Name | Type | Req | Description |
|---|---|---|---|
| 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.
| Name | Type | Req | Description |
|---|---|---|---|
| faq_items | array | — | For FAQPage/HowTo: array of { question, answer } objects |
| fields | object | — | Schema fields as key-value pairs (name, url, description, author, datePublished, etc.) |
| type | string | yes | Schema @type: "WebSite", "FAQPage", "Article", "Person", "Organization", "SoftwareApplication", "HowTo" |
| Name | Type | Req | Description |
|---|---|---|---|
| acceptedAnswer | object | — | — |
| name | string | — | — |
| schema | — | — | — |
| snippet | string | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| length | number | — | Password length (4–128, default: 16) |
| numbers | boolean | — | Include digits (default: true) |
| symbols | boolean | — | Include symbols like !@#$ (default: false) |
| uppercase | boolean | — | Include uppercase letters (default: true) |
| Name | Type | Req | Description |
|---|---|---|---|
| charset_size | number | — | — |
| length | number | — | — |
| 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.
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | String to slugify |
| separator | string | — | Separator character (default: "-") |
| Name | Type | Req | Description |
|---|---|---|---|
| slug | — | — | — |
No examples provided.
generate_test_cases ~90
Generate a set of test cases (valid, edge, invalid) for a given feature description. Returns test matrix with Gherkin scenarios ready to use.
| Name | Type | Req | Description |
|---|---|---|---|
| feature | string | yes | Feature or function to test. Be specific: describe inputs, expected behaviour, context. |
| inputs | string | — | Optional: list of input parameters (one per line, e.g. "email: string [required]") |
| Name | Type | Req | Description |
|---|---|---|---|
| feature | string | — | — |
| test_cases | array | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | — | Number of UUIDs to generate (1–100, default: 1) |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | — | — |
| uuids | — | — | — |
No examples provided.
get_testing_guidelines ~141
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.
| Name | Type | Req | Description |
|---|---|---|---|
| topic | string | — | The testing topic to retrieve guidelines for. Omit to get the full list of available topics. |
| Name | Type | Req | Description |
|---|---|---|---|
| available_topics | array | — | — |
| keywords | array | — | — |
| tip | string | — | — |
| topic | — | — | — |
| usage | string | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| response | string | yes | The LLM response to test |
| rules | array | yes | Array of guardrail rules to check |
| Name | Type | Req | Description |
|---|---|---|---|
| all_passed | boolean | — | — |
| detail | string | — | — |
| failed | — | — | — |
| label | — | — | — |
| pass | boolean | — | — |
| passed | — | — | — |
| results | — | — | — |
| rule | — | — | — |
| total_rules | number | — | — |
| value | — | — | — |
No examples provided.
hallucination_check ~131
Word-overlap based hallucination check: verifies if an LLM answer's words and numbers appear in the provided source/context. Fast, deterministic, no API key needed. Limitations: not semantic — does not understand synonyms or paraphrases. For true semantic grounding, use run_semantic_tests with embedding mode. Essential for quick RAG accuracy testing.
| Name | Type | Req | Description |
|---|---|---|---|
| answer | string | yes | The LLM-generated answer to verify |
| context | string | yes | The source/reference text that should ground the answer |
| strict | boolean | — | If true, every sentence in the answer must be supported (default: false) |
| Name | Type | Req | Description |
|---|---|---|---|
| analysis | — | — | — |
| detail | string | — | — |
| entities | — | — | — |
| grounded | boolean | — | — |
| grounded_count | number | — | — |
| grounding_score | — | — | — |
| matched_words | number | — | — |
| message | string | — | — |
| numbers | — | — | — |
| overlap | number | — | — |
| sentence | — | — | — |
| total_sentences | number | — | — |
| total_words | number | — | — |
| ungrounded_count | number | — | — |
| unsupported_claims | — | — | — |
| verdict | string | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| algorithm | string | — | Hash algorithm: sha256 (default), sha512, sha1, md5 |
| input | string | yes | Text to hash |
| Name | Type | Req | Description |
|---|---|---|---|
| algorithm | — | — | — |
| hash | — | — | — |
| input_length | number | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | HTML string to convert |
| strip_links | boolean | — | Strip link URLs, keep text only (default: false) |
| Name | Type | Req | Description |
|---|---|---|---|
| markdown | — | — | — |
| markdown_length | number | — | — |
| original_length | number | — | — |
No examples provided.
http_status_lookup ~72
Look up detailed information about any HTTP status code: class, name, description, cacheability, typical causes, and handling best practices. Covers all standard 1xx-5xx codes.
| Name | Type | Req | Description |
|---|---|---|---|
| code | number | yes | HTTP status code (e.g. 200, 404, 429, 503) |
| Name | Type | Req | Description |
|---|---|---|---|
| cacheable | — | — | — |
| class | — | — | — |
| code | — | — | — |
| desc | string | — | — |
| description | — | — | — |
| name | string | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| _meta | object | — | Optional self-identification. Keys: agent (string), model (string), version (string). |
| Name | Type | Req | Description |
|---|---|---|---|
| effective_agent | string | — | — |
| meta_override | object | — | — |
| note | string | — | — |
| session | object | — | — |
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.).
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | yes | Your LLM provider API key (OpenAI sk-, Anthropic sk-ant-, Google AIzaSy-, etc.). |
| confluence_pages | array | — | Optional array of pre-fetched Confluence page objects from fetch_confluence_page, used as documentation context. |
| issue | object | — | Pre-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_key | string | — | Jira issue key to fetch automatically, e.g. "PROJ-123". Required if issue is not provided. |
| jira_base_url | string | — | Atlassian base URL. Required for auto-fetch mode. |
| jira_email | string | — | Atlassian account email. Required for auto-fetch mode. |
| jira_token | string | — | Atlassian API token. Required for auto-fetch mode. |
| max_tokens | integer | — | Maximum tokens for the LLM response. Default: 8192. Increase for large tickets with many ACs; decrease to reduce cost on simple tickets. |
| model | string | yes | LLM model to use, e.g. "gpt-4o-mini", "claude-3-5-haiku-20241022", "gemini-2.0-flash". |
| Name | Type | Req | Description |
|---|---|---|---|
| issue_key | string | — | — |
| issue_url | string | — | — |
| latency_ms | number | — | — |
| model_used | string | — | — |
| summary | string | — | — |
| test_suite | object | — | — |
| tokens_used | number | — | — |
No examples provided.
json_diff ~89
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.
| Name | Type | Req | Description |
|---|---|---|---|
| after | string | yes | Modified JSON string (after) |
| before | string | yes | Original JSON string (before) |
| max_depth | number | — | Max nesting depth to recurse (default: 10) |
| Name | Type | Req | Description |
|---|---|---|---|
| added | boolean | — | — |
| changes | array | — | — |
| identical | boolean | — | — |
| modified | boolean | — | — |
| removed | boolean | — | — |
| total_changes | number | — | — |
No examples provided.
json_schema_generate ~134
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.
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | Sample JSON value (object, array, or scalar) to infer the schema from |
| required_all | boolean | — | Mark all detected object properties as required (default: true) |
| Name | Type | Req | Description |
|---|---|---|---|
| format | — | — | — |
| items | object | — | — |
| schema | object | — | — |
| type | string | — | — |
No examples provided.
json_schema_validate ~108
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.
| Name | Type | Req | Description |
|---|---|---|---|
| schema | string | yes | JSON Schema as a JSON string |
| value | string | yes | JSON string to validate |
| Name | Type | Req | Description |
|---|---|---|---|
| error_count | number | — | — |
| errors | array | — | — |
| valid | boolean | — | — |
No examples provided.
json_to_csv ~78
Convert a JSON array of objects to CSV format. Automatically detects columns from all object keys. Handles quoting and escaping per RFC 4180.
| Name | Type | Req | Description |
|---|---|---|---|
| delimiter | string | — | Column delimiter (default: ",") |
| headers | boolean | — | Include header row (default: true) |
| input | string | yes | JSON string containing an array of objects |
| Name | Type | Req | Description |
|---|---|---|---|
| column_names | — | — | — |
| columns | number | — | — |
| csv | string | — | — |
| rows | number | — | — |
No examples provided.
json_to_yaml ~67
Convert a JSON object to clean, human-readable YAML. Handles nested objects, arrays, multiline strings, and special characters. No external dependencies.
| Name | Type | Req | Description |
|---|---|---|---|
| indent | number | — | Indentation size in spaces (default: 2) |
| input | string | yes | JSON string to convert to YAML |
| Name | Type | Req | Description |
|---|---|---|---|
| lines | number | — | — |
| 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.
| Name | Type | Req | Description |
|---|---|---|---|
| endpoints | string|array | yes | Endpoints to benchmark. Accepts a single URL string, an array of URL strings, or an array of {url, method?, body?, headers?, label?} objects. |
| iterations | number | — | Number of iterations per endpoint (default: 3, max: 10) |
| Name | Type | Req | Description |
|---|---|---|---|
| iterations | number | — | — |
| results | array | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| a | string | — | First string (single-pair mode) |
| b | string | — | Second string (single-pair mode) |
| batch | array | — | Batch of {a,b} pairs (max 50) |
| case_insensitive | boolean | — | Ignore case differences (default: false) |
| Name | Type | Req | Description |
|---|---|---|---|
| a | — | — | — |
| b | — | — | — |
| count | number | — | — |
| distance | — | — | — |
| mode | string | — | — |
| operations_needed | — | — | — |
| results | — | — | — |
| similarity | string | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | yes | Git commit message to validate |
| strict | boolean | — | Enforce strict rules: max 72-char subject, imperative mood check (default: false) |
| Name | Type | Req | Description |
|---|---|---|---|
| checks | — | — | — |
| has_body | boolean | — | — |
| is_breaking_change | boolean | — | — |
| scope | — | — | — |
| score | number | — | — |
| subject | — | — | — |
| type | — | — | — |
| valid | boolean | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| provider | string | — | Filter by provider name (case-insensitive). E.g. "Groq", "HuggingFace", "OpenAI", "Anthropic", "Google", "DeepSeek", "xAI", "Ollama". Omit for full catalog. |
| Name | Type | Req | Description |
|---|---|---|---|
| filter | — | — | — |
| models | — | — | — |
| providers | — | — | — |
| total | number | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| dir | string | — | Directory to scan (defaults to server CWD) |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | — | — |
| dir | string | — | — |
| files | array | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| features | array | — | Required features: vision, function_calling, json_mode, streaming, reasoning |
| max_budget | number | — | Maximum monthly budget in USD (based on tokens_per_day) |
| mode | string | — | cloud (API models) or local (Ollama/self-hosted). Default: cloud |
| quantization | string | — | Quantization (only for mode=local): Q4_K_M | Q8_0 | FP16. Default: Q4_K_M |
| tokens_per_day | number | — | Estimated daily token volume (default: 100000) |
| top_n | number | — | Number of recommendations to return (default: 5) |
| use_case | string | — | Primary use case: chatbot | code | rag | summarization | classification | reasoning | agents | multilingual |
| vram_gb | number | — | GPU VRAM in GB (only for mode=local). Default: 16 |
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | — | — |
| quantization | — | — | — |
| results | array | — | — |
| score | number | — | — |
| tokens_per_day | — | — | — |
| total_matching | number | — | — |
| 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.
| Name | Type | Req | Description |
|---|---|---|---|
| expected_format | string | yes | Expected format |
| output | string | yes | The LLM output to validate |
| regex_pattern | string | — | Custom regex pattern (only when expected_format is "regex") |
| Name | Type | Req | Description |
|---|---|---|---|
| checks | — | — | — |
| expected_format | — | — | — |
| failed | — | — | — |
| passed | — | — | — |
| total_checks | number | — | — |
| valid | boolean | — | — |
No examples provided.
llm_generate ~352
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.
| Name | Type | Req | Description |
|---|---|---|---|
| max_tokens | number | — | Maximum tokens to generate (default: 2048, max: 4096) |
| model | string | — | Model ID (default: "qwen/qwen3-32b"). Server-keyed whitelist only — Groq: qwen/qwen3-32b, llama-3.3-70b-versatile, meta-llama/llama-4-scout-17b-16e-instruct, llama-3.1-8b-instant; HuggingFace: Qwen/Q… |
| prompt | string | yes | The user prompt / instruction to send to the model |
| system | string | — | Optional system prompt to set context or persona |
| temperature | number | — | Sampling temperature 0.0–1.5 (default: 0.7) |
| Name | Type | Req | Description |
|---|---|---|---|
| content | — | — | — |
| latency_ms | number | — | — |
| 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.
| Name | Type | Req | Description |
|---|---|---|---|
| output | string | yes | The LLM JSON output (raw string, will be parsed) |
| schema | object | yes | JSON Schema (draft-07 subset) to validate against |
| Name | Type | Req | Description |
|---|---|---|---|
| error_count | number | — | — |
| errors | array | — | — |
| parse_error | — | — | — |
| parsed_type | — | — | — |
| valid | boolean | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| check_json_schema | string | — | If expected_format is JSON, provide required keys as comma-separated list to validate the structure |
| check_safety | boolean | — | Check for PII patterns (emails, phones, SSN), profanity signals, and prompt leakage |
| expected_format | string | — | Expected output format |
| expected_language | string | — | Expected language of the output (en, fr, es, de…). Checks for common words. |
| max_length | number | — | Maximum character length for the output |
| min_length | number | — | Minimum character length for the output |
| must_include | string | — | Comma-separated strings that MUST appear in the output |
| must_not_include | string | — | Comma-separated strings that must NOT appear (e.g. "TODO, FIXME, undefined, NaN") |
| output | string | yes | The LLM output text to validate |
| Name | Type | Req | Description |
|---|---|---|---|
| checks | — | — | — |
| failed | — | — | — |
| passed | — | — | — |
| total | number | — | — |
| 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).
| Name | Type | Req | Description |
|---|---|---|---|
| paragraphs | number | — | Number of paragraphs to generate (1–10, default: 1) |
| sentences_per_paragraph | number | — | Sentences per paragraph (1–20, default: 5) |
| words_per_sentence | number | — | Approximate words per sentence (3–30, default: 10) |
| Name | Type | Req | Description |
|---|---|---|---|
| paragraph_count | number | — | — |
| 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.
| Name | Type | Req | Description |
|---|---|---|---|
| tool_definition | object | yes | MCP tool definition object with name, description, inputSchema |
| Name | Type | Req | Description |
|---|---|---|---|
| error_count | number | — | — |
| errors | — | — | — |
| grade | — | — | — |
| quality_score | — | — | — |
| warning_count | number | — | — |
| warnings | — | — | — |
No examples provided.
mcp_server_evaluate ~148
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.
| Name | Type | Req | Description |
|---|---|---|---|
| test_tool_name | string | — | Specific tool name to use in the JSON-RPC test call (defaults to the first tool in the manifest) |
| url | string | yes | Base URL of the MCP server (e.g. https://ia-qa.com or http://localhost:3001) |
| Name | Type | Req | Description |
|---|---|---|---|
| checks | object | — | — |
| latency | object | — | — |
| score | number | — | — |
| url | string | — | — |
| verdict | string | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| manifest | string | yes | MCP server manifest JSON (the response from GET /mcp or tools/list) |
| strict | boolean | — | Enable strict mode: also check for optional best practices (examples, default values, descriptions > 20 chars) |
| Name | Type | Req | Description |
|---|---|---|---|
| checks | array | — | — |
| failed | number | — | — |
| passed | number | — | — |
| stats | object | — | — |
| toolIssues | — | — | — |
| total | number | — | — |
| verdict | string | — | — |
No examples provided.
merge_json ~92
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.
| Name | Type | Req | Description |
|---|---|---|---|
| array_strategy | string | — | Array merge strategy: replace (default), concat, or unique |
| base | string | yes | Base JSON object (will be merged into) |
| override | string | yes | Override JSON object (takes precedence) |
| Name | Type | Req | Description |
|---|---|---|---|
| merged | — | — | — |
| new_keys | array | — | — |
| overridden_keys | array | — | — |
| total_keys | number | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | JavaScript code to minify (max 50kb) |
| Name | Type | Req | Description |
|---|---|---|---|
| minified | — | — | — |
No examples provided.
mock_from_schema ~122
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.
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | — | Number of mock objects to generate (default: 1, max: 20) |
| schema | string | yes | JSON Schema as a JSON string |
| seed | string | — | Optional seed string for deterministic output (uses first char codes) |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | — | — |
| 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.
| Name | Type | Req | Description |
|---|---|---|---|
| model | string | yes | Model name (e.g. "gpt-4o", "claude-3.5-sonnet", "gemini-2.5-pro") |
| Name | Type | Req | Description |
|---|---|---|---|
| model | — | — | — |
| pricing_per_1k | object | — | — |
No examples provided.
multimodal_eval_guide ~409
Unified tool for multimodal AI evaluation: set action=guide for reference thresholds/interpretation (CLIP, FID, VQA), or set action=clip_score / fid_score / vqa_accuracy / pipeline to compute real metrics via HuggingFace Inference API and VLM BYOK calls. One tool for both reference and computation.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | — | guide (default) = reference thresholds/interpretation. clip_score/fid_score/vqa_accuracy = compute that metric. pipeline = run all three. |
| api_key | string | — | [vqa_accuracy] Your API key for the provider (BYOK). |
| clip | object | — | [pipeline] {image_url, text} for CLIP. |
| fid | object | — | [pipeline] {real_images, generated_images} for FID. |
| generated_images | array | — | [fid_score] Array of generated image URLs. |
| image_base64 | string | — | [clip_score/vqa_accuracy] Base64-encoded image data. |
| image_mime_type | string | — | [clip_score/vqa_accuracy] MIME type for base64 image. |
| image_url | string | — | [clip_score/vqa_accuracy] Public URL of the image. |
| metric | string | — | [guide only] Metric to explain. |
| model | string | — | [vqa_accuracy] VLM model ID (default: gpt-4o). |
| real_images | array | — | [fid_score] Array of real image URLs. |
| score | number | — | [guide only] Optional score value to interpret. |
| system_prompt | string | — | [vqa_accuracy] Optional system prompt. |
| test_cases | array | — | [vqa_accuracy] Array of {question, accepted_answers} objects. |
| text | string | — | [clip_score only] Text description to compare against the image. |
| vqa | object | — | [pipeline] VQA config object (same inputs as vqa_accuracy). |
| Name | Type | Req | Description |
|---|---|---|---|
| best_practices | array | — | — |
| comparison_table | array | — | — |
| errors | — | — | — |
| metrics | — | — | — |
| results | — | — | — |
| web_tool | string | — | — |
No examples provided.