IA-QA Data & Dev — 36 tools

io.github.JcJametPublished by GitHub account JcJametv1.0.1Updated Oct 29, 2026

Dev utilities for agents: JSON/YAML/CSV, schema validation, encoding, text & time. Free, no key.

VerifiedStreamable HTTPWeb executableDeveloper ToolsData & Analytics

Overview

AI-generated overview

Hosted IA-QA "data" pack of 36 free developer utilities: JSON/YAML/CSV conversion, schema validation, encoding, text, time and QA helpers.

What you can do
  • Convert and inspect data formats: JSON, YAML, XML and CSV, plus JSON path extraction, flattening and deep JSON diffs
  • Validate and generate schemas: JSON Schema checks, schema inference from samples, mock data, OpenAPI 3.x validation
  • Encode and hash: Base64, URL encoding, hashing, UUIDs, number bases, color formats, JWT decoding
  • Analyze text and code: regex testing, text statistics, text diffs, case conversion, slugs, line counts, commit message linting
  • Work with time and config: timestamp conversion, cron parsing, .env parsing, email validation
  • Discover and rate tools: keyword search across the catalogue and feedback on tool usefulness
When to use it
Useful when an assistant needs reliable, deterministic helpers for data wrangling, config and schema checks, encoding, or quick text and time conversions without writing throwaway code. It suits agent workflows that need a pass/fail verdict, such as validating an OpenAPI spec or a JSON payload.
Requirements
Remote Streamable HTTP endpoint at the IA-QA site; no account or API key is needed for this pack. Network access is required, and clients that cap loaded tools may prefer this 36-tool pack over the full 152-tool server.
Before you install
Every call runs on the vendor's server, so whatever you pass to a tool is sent there; the README notes a pseudonymous monthly caller identifier and a 60 requests per minute per IP rate limit. Avoid sending secrets or personal data to tools such as env_parse, decode_jwt or hash_text, and note that JWT decoding does not verify signatures.

Installation

In SourceWeft

  1. Open IA-QA Data & Dev — 36 tools in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.JcJamet%2Fia-qa-data/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "ia-qa-data-dev-36-tools": {
      "type": "http",
      "url": "https://www.ia-qa.com/mcp/data"
    }
  }
}

README

IA-QA MCP server

Free QA and LLM-testing tools for AI agents, served over MCP (Streamable HTTP). No account, no API key. Every tool returns a verdict an agent can act on: pass/fail, a score, a diff.

This repository describes the hosted server; it holds no server code. The live tool list is always GET https://www.ia-qa.com/mcp.

Endpoints

EndpointTools listedFor
https://www.ia-qa.com/mcpall 152clients with no tool limit
https://www.ia-qa.com/mcp/security30prompt injection, PII and secret scans, TLS/header/CORS audits, MCP server checks
https://www.ia-qa.com/mcp/eval38hallucination, eval contracts, semantic and RAG tests, tokens and models
https://www.ia-qa.com/mcp/data36JSON/YAML/CSV, schema validation, encoding, text and time utilities

Clients cap how many tools they load (VS Code Copilot 128 per request, Cursor about 40). A pack lists only its tools; for a tool outside it, add the full server or the pack that lists it — find_tool searches everything and says which pack lists each tool.

Install

Claude Code

sh
claude mcp add --transport http ia-qa https://www.ia-qa.com/mcp# or one pack:claude mcp add --transport http ia-qa-security https://www.ia-qa.com/mcp/security

Cursor — .cursor/mcp.json (this project) or ~/.cursor/mcp.json (all projects) (use a pack: Cursor loads about 40 tools)

json
{  "mcpServers": {    "ia-qa-security": {      "url": "https://www.ia-qa.com/mcp/security"    }  }}

VS Code (GitHub Copilot, agent mode) — .vscode/mcp.json

json
{  "servers": {    "ia-qa": {      "type": "http",      "url": "https://www.ia-qa.com/mcp"    }  }}

Claude Desktop — Settings → Connectors → Add custom connector, URL https://www.ia-qa.com/mcp (or a pack URL).

Any other MCP client — Streamable HTTP at one of the URLs above. More clients, and a prompt you can paste into any agent: https://www.ia-qa.com/mcp-server

What leaves your machine

Every call runs on ia-qa.com: whatever you pass to a tool is sent there — including a provider API key given to one of the few bring-your-own-key tools. The call journal stores no IP address: a monthly pseudonym (an HMAC, not reversible) to count distinct callers within a month, and each entry is deleted 400 days after the call. Rate limit: 60 requests per minute per IP.

For tools that must run next to your app (selector self-healing, app discovery), use the local packages instead — nothing is sent to ia-qa.com: @ia-qa/pal, @ia-qa/self-healing, @ia-qa/qa-discovery.

Packs

security — https://www.ia-qa.com/mcp/security

prompt_injection_scan · shield_analyze · guardrail_test · toxicity_scan · bias_detect · redact_pii · secret_scan · detect_secrets · security_headers_check · ssl_certificate_check · cors_test · cors_checker · cookie_security_audit · web_security_audit · validate_url · decode_jwt · generate_hmac · hash_text · generate_password · mcp_server_evaluate · mcp_server_health_check · mcp_schema_lint · validate_mcp_response · function_call_validate · validate_agent_trajectory · latency_benchmark · parse_http_headers · http_status_lookup · find_tool · rate_tool

eval — https://www.ia-qa.com/mcp/eval

get_testing_guidelines · run_eval_contract · run_semantic_tests · generate_eval_yaml · generate_ci_workflow · metamorphic_check · needle_haystack_generate · test_skill · hallucination_check · similarity_score · consistency_check · llm_output_validator · llm_format_check · llm_json_schema_check · response_quality_score · compare_responses · analyze_responses · prompt_test_suite · cot_analyzer · conversation_analyze · ab_test_report · embedding_similarity · rag_relevance_rank · rerank_evaluate · bm25_score · build_rag_prompt · count_tokens · token_budget_calculator · context_window_check · list_llm_models · model_info · compare_models · estimate_llm_cost · llm_generate · run_vlm_test_suite · extract_json_from_text · find_tool · rate_tool

data — https://www.ia-qa.com/mcp/data

format_json · json_schema_validate · json_diff · extract_json_path · flatten_json · json_to_yaml · yaml_to_json · xml_to_json · parse_csv · json_to_csv · mock_from_schema · json_schema_generate · openapi_validate · timestamp_convert · cron_parse · validate_email · regex_test · diff_text · text_stats · case_convert · generate_slug · base64_encode · base64_decode · url_encode · url_decode · generate_uuid · hash_text · number_base_convert · color_convert · lorem_ipsum · decode_jwt · env_parse · count_code_lines · lint_commit_message · find_tool · rate_tool

All 152 tools, by category: TOOLS.md.


Generated from the server's own definitions on 2026-11-05. The live list (GET https://www.ia-qa.com/mcp) wins if this page disagrees.

Source: README.md at commit 4196b2a

Tools

36

find_tool

Search available MCP tools by keyword or category before calling them. Returns matching tool names, descriptions, and optionally their inputSchemas. Call this when you are unsure which tool to use or want to explore the catalogue. Categories: data, encoding, text, llm, qa, rag, dev, security, web.

Parametersqueryrequiredcategorymax_resultswith_schema

diff_text

Compute a unified line-by-line diff between two text strings (LCS algorithm). Returns added/removed/unchanged line counts and formatted diff hunks with configurable context lines (0–20). Use to compare versions of prompts, configs, code snippets, or any text where you need to see exactly what changed.

Parametersarequiredbrequiredcontext

rate_tool

Give honest usage feedback on an IA-QA MCP tool. Provide a score (1-5) and a comment. Rate low (1-2) if the tool was wrong, irrelevant, or a poor fit; rate high (4-5) only if it genuinely solved your need. Ratings are read by the IA-QA maintainers and are not published, one vote per agent and tool a month. Comments are screened before storing: one carrying a credential is not stored and personal data is replaced by placeholders — describe what happened rather than what a model should do. Skip rating routine successes — we want signal, not praise. Example: rate_tool({ tool_name: "format_json", score: 2, comment: "Tried to pretty-print a JSON5 file, it rejected trailing commas — not usable for my case." })

Parametersscorerequiredcommenttool_namerequired

validate_email

Validate an email address against RFC 5322 syntax before storing it, sending a transactional email, or adding it to a mailing list. Returns { valid, email } — use this to avoid bounces and malformed data.

Parametersemailrequired

decode_jwt

Decode a JWT (JSON Web Token) and return its header and payload without verifying the signature. Also reports whether the token is expired and the exact expiry date. Use to inspect claims (sub, iss, exp, roles) during debugging or when integrating with an auth provider.

Parameterstokenrequired

timestamp_convert

Convert between Unix timestamps (seconds or milliseconds) and ISO-8601 / UTC date strings. Auto-detects epoch vs. millisecond format. Omit input to get the current time. Returns iso, unix_s, unix_ms, utc, date, and time fields.

Parametersinput

cron_parse

Parse a cron expression into a human-readable schedule description. Supports standard 5-field cron (minute hour day month weekday).

Parametersexpressionrequired

count_code_lines

Count lines of code: total, code lines, comment lines, blank lines, and comment density. Supports JS/TS, Python, Java/C/C++, Ruby, Go, Shell, HTML/XML, and CSS.

Parametersinputrequiredlanguage

lint_commit_message

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.

Parametersstrictmessagerequired

env_parse

Parse a .env file content into a JSON object. Handles quoted values (single and double), inline comments, export prefix, and escaped sequences (\n, \t inside double quotes). Returns all key-value pairs. Use in CI/CD pipelines, agent config loaders, or when processing dotenv files programmatically.

Parametersinputrequired

openapi_validate

Validate the structure of an OpenAPI 3.x specification (JSON or YAML). Checks required top-level fields (openapi, info.title, info.version, paths), validates each operation (responses, operationId uniqueness), detects undeclared $ref components, and flags missing 2xx responses. Returns a PASS/FAIL verdict, a 0–100 compliance score, and a list of errors and warnings with JSON-pointer locations. Use before publishing an API spec or generating SDK code.

Parametersinputrequired

generate_slug

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.

Parametersinputrequiredseparator

format_json

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).

Parametersinputrequiredindent

parse_csv

Parse a CSV string into a JSON array of objects (or raw arrays). Full RFC 4180: quoted fields may contain the delimiter, embedded newlines (the Excel/Sheets multi-line cell), and doubled quotes. Custom delimiters supported. An unterminated quote is rejected with its position rather than parsed into corrupted rows. Use when processing spreadsheet exports, data imports, or structured text pipelines where the source is CSV. Supports up to 200 KB.

Parametersinputrequiredheaderdelimiter

extract_json_path

Extract a value from a JSON string using dot-notation path (e.g., "user.address.city", "items.0.name", "meta.tags"). Supports array index access via numeric path segments.

Parameterspathrequiredinputrequired

json_schema_validate

Validate a JSON value against a JSON Schema (draft-07 subset). Supports type, required, properties, items, enum, const, pattern, format (email/uri/date/date-time/uuid), minimum/maximum, minLength/maxLength, minItems/maxItems, uniqueItems, additionalProperties, anyOf, allOf, oneOf, not, and local $ref (#/definitions/…, #/$defs/…). A schema using a keyword outside that list (patternProperties, if/then, dependencies, a remote $ref…) is never reported valid: the keyword is named in `unevaluated_keywords`. Returns all validation errors with dot-notation paths.

Parametersvaluerequiredschemarequired

flatten_json

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.

Parametersmodeinputrequiredseparator

xml_to_json

Convert an XML string to a JSON object. Supports attributes, nested elements, arrays, CDATA, and namespaces. Options: parse numbers, parse booleans, ignore attributes.

Parametersinputrequiredattr_prefixignore_attrsparse_values

mock_from_schema

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.

Parametersseedcountschemarequired

json_to_csv

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

Parametersinputrequiredheadersdelimiter

json_diff

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.

Parametersafterrequiredbeforerequiredmax_depth

json_to_yaml

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

Parametersinputrequiredindent

yaml_to_json

Parse a YAML string and return the equivalent JSON value. The reverse of json_to_yaml. Supports nested objects, arrays, anchors, aliases, multi-document streams, and all scalar types. Use when processing config files, CI/CD pipeline definitions, or OpenAPI specs authored in YAML.

Parametersinputrequiredmulti

json_schema_generate

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.

Parametersinputrequiredrequired_all

text_stats

Compute comprehensive statistics for any text: character count (with and without spaces), word count, line count, sentence count, paragraph count, and estimated reading time in minutes. Sentence counting is abbreviation-aware — titles (Mr., Dr.), acronyms (U.S., i.e., p.m.), initials, decimals, URLs and emails do not end a sentence, and a text with no terminal punctuation still counts as one. Use for validating form field lengths, evaluating LLM output verbosity, or content auditing.

Parametersinputrequired

regex_test

Test a regular expression pattern against an input string and return all matches with their index positions and named capture groups. Use for validating user inputs, extracting structured data from text, or debugging regex patterns. Supports flags g, i, m, s, u, y. The match runs in an isolated thread with a 500 ms budget: a pattern that blows up (catastrophic backtracking, e.g. "(a+)+$") comes back as redos_detected:true — a real ReDoS verdict on your pattern — instead of hanging.

Parametersflagsinputrequiredpatternrequired

lorem_ipsum

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).

Parametersparagraphswords_per_sentencesentences_per_paragraph

case_convert

Convert a string between naming conventions: camelCase, PascalCase, snake_case, kebab-case, UPPER_SNAKE_CASE, dot.case, Title Case. Essential for code generation and refactoring.

Parameterstorequiredinputrequired

generate_uuid

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.

Parameterscount

hash_text

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.

Parametersinputrequiredalgorithm

base64_encode

Encode a UTF-8 string to Base64. Use when you need to embed binary data, multi-line text, or special characters safely inside JSON fields, HTTP headers, or data URIs.

Parametersinputrequired

base64_decode

Decode a Base64 string back to UTF-8 text. Use for inspecting Base64-encoded API responses, JWT payload claims, config file values, or attachment data.

Parametersinputrequired

url_encode

Percent-encode a string for safe use in URLs. Call this before programmatically building query strings, path segments, or form-encoded bodies to prevent injection and malformed URLs.

Parametersmodeinputrequired

url_decode

Decode a percent-encoded URL string back to plain text. Use when parsing query parameters from raw URLs or when displaying encoded values to users.

Parametersinputrequired

color_convert

Convert a color between HEX, RGB, and HSL formats. Use when translating design tokens between CSS notations, verifying color accessibility, or normalizing color values from user input. Accepts #rrggbb, #rgb, rgb(r,g,b), or hsl(h,s%,l%).

Parametersinputrequired

number_base_convert

Convert numbers between bases: decimal, binary, octal, hexadecimal, or any base 2–36. Auto-detects 0x, 0b, 0o prefixes.

Parametersinputrequiredto_basefrom_base

Version history

1
  1. v1.0.1LatestOct 29, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts