{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_jahdu4mu6u5p","handle":"quasslabs-api","url":"https://wellknown.network/agents/quasslabs-api","links":{"self":"https://wellknown.network/agents/quasslabs-api/record.json","html":"https://wellknown.network/agents/quasslabs-api","markdown":"https://wellknown.network/agents/quasslabs-api/record.md","api":"https://wellknown.network/api/v1/agents/quasslabs-api","status":"https://wellknown.network/api/v1/agents/quasslabs-api/status","claim":"https://wellknown.network/agents/quasslabs-api/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/quasslabs-api/claim.json","badge":"https://wellknown.network/agents/quasslabs-api/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/quasslabs-api/history","tools":"https://wellknown.network/api/v1/agents/quasslabs-api/tools"},"ard":{"identifier":"urn:air:api.quasslabs.com:server:quasslabs-api","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"QuassLabs API","summary":"30+ deterministic dev and delivery tools: linting, metrics, diagrams, model advice, AI-text checks.","description":"30+ deterministic dev and delivery tools: linting, metrics, diagrams, model advice, AI-text checks.","publisher":{"name":"com.quasslabs","url":null},"homepage":"https://docs.quasslabs.com","repository":null,"version":"0.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.quasslabs.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-29T04:00:38.927874Z","publishedAt":"2026-10-29T04:00:38.927874Z","registryName":"com.quasslabs/api"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.writing","name":"Writing & Editing","confidence":1,"provenance":"derived"},{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"infra.cloud","name":"Cloud Platforms","confidence":0.89,"provenance":"derived"},{"slug":"ai.evaluation","name":"Evaluation & Benchmarks","confidence":0.54,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.525,"provenance":"derived"},{"slug":"documents.conversion","name":"Document Conversion","confidence":0.51,"provenance":"derived"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.51,"provenance":"derived"},{"slug":"security.scanning","name":"Security Scanning","confidence":0.51,"provenance":"derived"}],"categories":["ai","commerce","content","dev","documents","infra","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 4h ago.","lastOkAt":"2026-11-03T11:30:10.965Z","lastProbedAt":"2026-11-03T11:30:10.965Z","statusComputedAt":"2026-11-03T11:33:57.492Z","reliability30d":{"probes":7,"successRate":1,"p50Ms":345,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":7,"ok":7,"authBoundaryOk":0,"serviceOk":7,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-11-03T11:30:10.965Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":681,"error":null,"detail":{"tools":[{"name":"alignment_gate","description":"Run an AI system prompt (and optional agent config) through a 45-criterion alignment/safety rubric. Returns a letter grade (A-F), numeric score, per-flag remedi"},{"name":"blm_land_lookup","description":"Look up Bureau of Land Management land status for a US coordinate: BLM ownership, jurisdiction, allowed activities (rockhounding, camping), permit requirements,"},{"name":"diagram_contrast","description":"Diagram quality QA. Catch and fix the things that ruin diagrams: (1) unreadable label contrast - POST a mermaid/SVG or HTML diagram, get every WCAG-AA failure ("},{"name":"humanizer_score","description":"Detect AI-writing tells in text. POST prose and get a 0-1 ai_ness score + band (low/medium/high) + the EXACT patterns that fired (AI vocabulary, significance in"},{"name":"saas_metrics","description":"SaaS health advisor. POST your MRR/customers (+ optional churn/CAC/margin/growth) and get ARR/ARPA/LTV/CAC/payback/Rule-of-40/NRR/GRR computed, each with a heal"},{"name":"acceptance_criteria_validator","description":"QA advisor: validate acceptance criteria quality. POST a list of AC (or a story) and get per-AC problems (vague/untestable, non-atomic, no observable outcome) +"},{"name":"coverage_check","description":"Scope-completeness advisor. POST a brief (or requirements[]) + your stories[] and get a coverage score + the gaps (requirements no story covers), orphan stories"},{"name":"defect_triage","description":"Bug-triage advisor. POST one bug report (or a list) and get severity (critical/high/medium/low), category, whether it has repro steps, and what info is missing "},{"name":"model_advisor","description":"LLM selection + cost advisor. POST a task description (+ optional volume/tokens/constraints like local-only or cheap) and get a recommended model + fallback cha"},{"name":"tool_advisor","description":"Which QL-API endpoint fits this task. POST a task description and get the ranked endpoint(s) that best match, each with a confidence label (high/medium/low). De"},{"name":"humanize","description":"Rewrite text to remove AI-writing tells. POST prose and get it back with the mechanical tells fixed (AI vocabulary swapped for plain words, filler phrases strip"},{"name":"dependency_check","description":"Dependency-manifest hygiene check. POST package manifests (package.json, requirements.txt, pyproject.toml, go.mod, Gemfile, composer.json, pubspec.yaml, lockfil"},{"name":"log_audit_creator","description":"Generate a concrete audit-logging spec for an app. POST your feature list (and optional compliance targets: soc2/hipaa/gdpr/pci) and get a full audit-event cata"},{"name":"log_analyzer","description":"Analyze a log file. POST raw log text (or an upload_id from the uploads tool, up to 5MB) and get: level breakdown + time range, error clusters (messages normali"},{"name":"ticket_lint","description":"Full Jira-ticket quality linter (whole ticket, not just AC - use acceptance_criteria_validator for the deep AC pass). POST one ticket or a batch (max 50) and ge"},{"name":"story_lint","description":"Deterministic structural quality linter for user stories - a sibling to ticket_lint but scoped to story-writing concepts any team recognizes: narrative complete"},{"name":"estimate_sanity","description":"Deterministic classifier for story/task hour estimates against benchmarks: flags each estimate in_range, borderline, over, under, or unbenchmarked. Supply eithe"},{"name":"pr_description_lint","description":"Deterministic PR description quality linter: flags a missing/too-short body, absent test evidence, absent stated rationale, an unstructured long body, and - onl"},{"name":"commit_hygiene","description":"Deterministic commit-message hygiene checker: conventional-commit format, vague-subject detection, subject-length limit, a same-message secret-pattern scan (AWS"},{"name":"readability_grade","description":"Deterministic Flesch Reading Ease and Flesch-Kincaid Grade Level for a block of text, plus word/sentence/syllable counts and a plain-language reading-ease band "},{"name":"regex_lint","description":"Static safety analysis of a regular expression plus an English explanation of what it matches. Parses the pattern into an AST and flags the structures that caus"},{"name":"sprint_health","description":"Sprint/delivery health advisor. POST 1-24 sprints (committed/completed points, optional per-ticket estimate-vs-actual data) and get computed metrics each with a"},{"name":"worklog_guardrail","description":"Worklog/timesheet policy checker - run a batch of worklog entries through configurable guardrails BEFORE posting them to a time-tracking system. Checks: roundin"},{"name":"uploads","description":"Get a presigned S3 PUT URL to upload a file (policy doc, config, log, up to 5MB) that a file-ingesting endpoint then reads by upload_id. Two-step: call this, PU"},{"name":"feedback","description":"Submit free-text feedback about the API - a bug, a feature request, a docs gap, a billing question, or anything else. Tied to your key so we can follow up, but "},{"name":"buy_credits","description":"Get a Stripe Checkout link to top up the credits on the API key you are calling with. Starter pack: $5 for 500 credits. Pro pack: $20 for 2500 credits. 1 credit"},{"name":"rate_call","description":"Rate a specific prior metered call - thumbs up or down, plus an optional comment - keyed by the request_id that call's response reported. Scoped for now to rati"},{"name":"supply_chain_scan","description":"Scan package manifests, lockfiles, and MCP server configs for known supply-chain compromises. The only scanner treating MCP configuration as a security surface."},{"name":"describe_diagram","description":"Turn a plain-English description into Mermaid diagram source. Describe the flow, system, schema or timeline you want (\"a login flow with an OAuth branch and a f"},{"name":"convert_diagram","description":"Make Mermaid diagrams portable. Takes HTML containing <div class=\"mermaid\"> blocks (or a raw Mermaid source) and returns the same document with every diagram pr"}],"toolCount":30,"toolsHash":"e7f2a3eed689ba5f3fdc75c183ef5fcba6df67d9fba6da6ea647db7a69434d5b","serverName":"quasslabs-api","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-03T03:31:03.757Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":678,"error":null,"detail":{"tools":[{"name":"alignment_gate","description":"Run an AI system prompt (and optional agent config) through a 45-criterion alignment/safety rubric. Returns a letter grade (A-F), numeric score, per-flag remedi"},{"name":"blm_land_lookup","description":"Look up Bureau of Land Management land status for a US coordinate: BLM ownership, jurisdiction, allowed activities (rockhounding, camping), permit requirements,"},{"name":"diagram_contrast","description":"Diagram quality QA. Catch and fix the things that ruin diagrams: (1) unreadable label contrast - POST a mermaid/SVG or HTML diagram, get every WCAG-AA failure ("},{"name":"humanizer_score","description":"Detect AI-writing tells in text. POST prose and get a 0-1 ai_ness score + band (low/medium/high) + the EXACT patterns that fired (AI vocabulary, significance in"},{"name":"saas_metrics","description":"SaaS health advisor. POST your MRR/customers (+ optional churn/CAC/margin/growth) and get ARR/ARPA/LTV/CAC/payback/Rule-of-40/NRR/GRR computed, each with a heal"},{"name":"acceptance_criteria_validator","description":"QA advisor: validate acceptance criteria quality. POST a list of AC (or a story) and get per-AC problems (vague/untestable, non-atomic, no observable outcome) +"},{"name":"coverage_check","description":"Scope-completeness advisor. POST a brief (or requirements[]) + your stories[] and get a coverage score + the gaps (requirements no story covers), orphan stories"},{"name":"defect_triage","description":"Bug-triage advisor. POST one bug report (or a list) and get severity (critical/high/medium/low), category, whether it has repro steps, and what info is missing "},{"name":"model_advisor","description":"LLM selection + cost advisor. POST a task description (+ optional volume/tokens/constraints like local-only or cheap) and get a recommended model + fallback cha"},{"name":"tool_advisor","description":"Which QL-API endpoint fits this task. POST a task description and get the ranked endpoint(s) that best match, each with a confidence label (high/medium/low). De"},{"name":"humanize","description":"Rewrite text to remove AI-writing tells. POST prose and get it back with the mechanical tells fixed (AI vocabulary swapped for plain words, filler phrases strip"},{"name":"dependency_check","description":"Dependency-manifest hygiene check. POST package manifests (package.json, requirements.txt, pyproject.toml, go.mod, Gemfile, composer.json, pubspec.yaml, lockfil"},{"name":"log_audit_creator","description":"Generate a concrete audit-logging spec for an app. POST your feature list (and optional compliance targets: soc2/hipaa/gdpr/pci) and get a full audit-event cata"},{"name":"log_analyzer","description":"Analyze a log file. POST raw log text (or an upload_id from the uploads tool, up to 5MB) and get: level breakdown + time range, error clusters (messages normali"},{"name":"ticket_lint","description":"Full Jira-ticket quality linter (whole ticket, not just AC - use acceptance_criteria_validator for the deep AC pass). POST one ticket or a batch (max 50) and ge"},{"name":"story_lint","description":"Deterministic structural quality linter for user stories - a sibling to ticket_lint but scoped to story-writing concepts any team recognizes: narrative complete"},{"name":"estimate_sanity","description":"Deterministic classifier for story/task hour estimates against benchmarks: flags each estimate in_range, borderline, over, under, or unbenchmarked. Supply eithe"},{"name":"pr_description_lint","description":"Deterministic PR description quality linter: flags a missing/too-short body, absent test evidence, absent stated rationale, an unstructured long body, and - onl"},{"name":"commit_hygiene","description":"Deterministic commit-message hygiene checker: conventional-commit format, vague-subject detection, subject-length limit, a same-message secret-pattern scan (AWS"},{"name":"readability_grade","description":"Deterministic Flesch Reading Ease and Flesch-Kincaid Grade Level for a block of text, plus word/sentence/syllable counts and a plain-language reading-ease band "},{"name":"regex_lint","description":"Static safety analysis of a regular expression plus an English explanation of what it matches. Parses the pattern into an AST and flags the structures that caus"},{"name":"sprint_health","description":"Sprint/delivery health advisor. POST 1-24 sprints (committed/completed points, optional per-ticket estimate-vs-actual data) and get computed metrics each with a"},{"name":"worklog_guardrail","description":"Worklog/timesheet policy checker - run a batch of worklog entries through configurable guardrails BEFORE posting them to a time-tracking system. Checks: roundin"},{"name":"uploads","description":"Get a presigned S3 PUT URL to upload a file (policy doc, config, log, up to 5MB) that a file-ingesting endpoint then reads by upload_id. Two-step: call this, PU"},{"name":"feedback","description":"Submit free-text feedback about the API - a bug, a feature request, a docs gap, a billing question, or anything else. Tied to your key so we can follow up, but "},{"name":"buy_credits","description":"Get a Stripe Checkout link to top up the credits on the API key you are calling with. Starter pack: $5 for 500 credits. Pro pack: $20 for 2500 credits. 1 credit"},{"name":"rate_call","description":"Rate a specific prior metered call - thumbs up or down, plus an optional comment - keyed by the request_id that call's response reported. Scoped for now to rati"},{"name":"supply_chain_scan","description":"Scan package manifests, lockfiles, and MCP server configs for known supply-chain compromises. The only scanner treating MCP configuration as a security surface."},{"name":"describe_diagram","description":"Turn a plain-English description into Mermaid diagram source. Describe the flow, system, schema or timeline you want (\"a login flow with an OAuth branch and a f"},{"name":"convert_diagram","description":"Make Mermaid diagrams portable. Takes HTML containing <div class=\"mermaid\"> blocks (or a raw Mermaid source) and returns the same document with every diagram pr"}],"toolCount":30,"toolsHash":"e7f2a3eed689ba5f3fdc75c183ef5fcba6df67d9fba6da6ea647db7a69434d5b","serverName":"quasslabs-api","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-02T19:26:16.193Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":679,"error":null,"detail":{"tools":[{"name":"alignment_gate","description":"Run an AI system prompt (and optional agent config) through a 45-criterion alignment/safety rubric. Returns a letter grade (A-F), numeric score, per-flag remedi"},{"name":"blm_land_lookup","description":"Look up Bureau of Land Management land status for a US coordinate: BLM ownership, jurisdiction, allowed activities (rockhounding, camping), permit requirements,"},{"name":"diagram_contrast","description":"Diagram quality QA. Catch and fix the things that ruin diagrams: (1) unreadable label contrast - POST a mermaid/SVG or HTML diagram, get every WCAG-AA failure ("},{"name":"humanizer_score","description":"Detect AI-writing tells in text. POST prose and get a 0-1 ai_ness score + band (low/medium/high) + the EXACT patterns that fired (AI vocabulary, significance in"},{"name":"saas_metrics","description":"SaaS health advisor. POST your MRR/customers (+ optional churn/CAC/margin/growth) and get ARR/ARPA/LTV/CAC/payback/Rule-of-40/NRR/GRR computed, each with a heal"},{"name":"acceptance_criteria_validator","description":"QA advisor: validate acceptance criteria quality. POST a list of AC (or a story) and get per-AC problems (vague/untestable, non-atomic, no observable outcome) +"},{"name":"coverage_check","description":"Scope-completeness advisor. POST a brief (or requirements[]) + your stories[] and get a coverage score + the gaps (requirements no story covers), orphan stories"},{"name":"defect_triage","description":"Bug-triage advisor. POST one bug report (or a list) and get severity (critical/high/medium/low), category, whether it has repro steps, and what info is missing "},{"name":"model_advisor","description":"LLM selection + cost advisor. POST a task description (+ optional volume/tokens/constraints like local-only or cheap) and get a recommended model + fallback cha"},{"name":"tool_advisor","description":"Which QL-API endpoint fits this task. POST a task description and get the ranked endpoint(s) that best match, each with a confidence label (high/medium/low). De"},{"name":"humanize","description":"Rewrite text to remove AI-writing tells. POST prose and get it back with the mechanical tells fixed (AI vocabulary swapped for plain words, filler phrases strip"},{"name":"dependency_check","description":"Dependency-manifest hygiene check. POST package manifests (package.json, requirements.txt, pyproject.toml, go.mod, Gemfile, composer.json, pubspec.yaml, lockfil"},{"name":"log_audit_creator","description":"Generate a concrete audit-logging spec for an app. POST your feature list (and optional compliance targets: soc2/hipaa/gdpr/pci) and get a full audit-event cata"},{"name":"log_analyzer","description":"Analyze a log file. POST raw log text (or an upload_id from the uploads tool, up to 5MB) and get: level breakdown + time range, error clusters (messages normali"},{"name":"ticket_lint","description":"Full Jira-ticket quality linter (whole ticket, not just AC - use acceptance_criteria_validator for the deep AC pass). POST one ticket or a batch (max 50) and ge"},{"name":"story_lint","description":"Deterministic structural quality linter for user stories - a sibling to ticket_lint but scoped to story-writing concepts any team recognizes: narrative complete"},{"name":"estimate_sanity","description":"Deterministic classifier for story/task hour estimates against benchmarks: flags each estimate in_range, borderline, over, under, or unbenchmarked. Supply eithe"},{"name":"pr_description_lint","description":"Deterministic PR description quality linter: flags a missing/too-short body, absent test evidence, absent stated rationale, an unstructured long body, and - onl"},{"name":"commit_hygiene","description":"Deterministic commit-message hygiene checker: conventional-commit format, vague-subject detection, subject-length limit, a same-message secret-pattern scan (AWS"},{"name":"readability_grade","description":"Deterministic Flesch Reading Ease and Flesch-Kincaid Grade Level for a block of text, plus word/sentence/syllable counts and a plain-language reading-ease band "},{"name":"regex_lint","description":"Static safety analysis of a regular expression plus an English explanation of what it matches. Parses the pattern into an AST and flags the structures that caus"},{"name":"sprint_health","description":"Sprint/delivery health advisor. POST 1-24 sprints (committed/completed points, optional per-ticket estimate-vs-actual data) and get computed metrics each with a"},{"name":"worklog_guardrail","description":"Worklog/timesheet policy checker - run a batch of worklog entries through configurable guardrails BEFORE posting them to a time-tracking system. Checks: roundin"},{"name":"uploads","description":"Get a presigned S3 PUT URL to upload a file (policy doc, config, log, up to 5MB) that a file-ingesting endpoint then reads by upload_id. Two-step: call this, PU"},{"name":"feedback","description":"Submit free-text feedback about the API - a bug, a feature request, a docs gap, a billing question, or anything else. Tied to your key so we can follow up, but "},{"name":"buy_credits","description":"Get a Stripe Checkout link to top up the credits on the API key you are calling with. Starter pack: $5 for 500 credits. Pro pack: $20 for 2500 credits. 1 credit"},{"name":"rate_call","description":"Rate a specific prior metered call - thumbs up or down, plus an optional comment - keyed by the request_id that call's response reported. Scoped for now to rati"},{"name":"supply_chain_scan","description":"Scan package manifests, lockfiles, and MCP server configs for known supply-chain compromises. The only scanner treating MCP configuration as a security surface."},{"name":"describe_diagram","description":"Turn a plain-English description into Mermaid diagram source. Describe the flow, system, schema or timeline you want (\"a login flow with an OAuth branch and a f"},{"name":"convert_diagram","description":"Make Mermaid diagrams portable. Takes HTML containing <div class=\"mermaid\"> blocks (or a raw Mermaid source) and returns the same document with every diagram pr"}],"toolCount":30,"toolsHash":"e7f2a3eed689ba5f3fdc75c183ef5fcba6df67d9fba6da6ea647db7a69434d5b","serverName":"quasslabs-api","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-02T11:26:22.707Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":185,"error":null,"detail":{"tools":[{"name":"alignment_gate","description":"Run an AI system prompt (and optional agent config) through a 45-criterion alignment/safety rubric. Returns a letter grade (A-F), numeric score, per-flag remedi"},{"name":"blm_land_lookup","description":"Look up Bureau of Land Management land status for a US coordinate: BLM ownership, jurisdiction, allowed activities (rockhounding, camping), permit requirements,"},{"name":"diagram_contrast","description":"Diagram quality QA. Catch and fix the things that ruin diagrams: (1) unreadable label contrast - POST a mermaid/SVG or HTML diagram, get every WCAG-AA failure ("},{"name":"humanizer_score","description":"Detect AI-writing tells in text. POST prose and get a 0-1 ai_ness score + band (low/medium/high) + the EXACT patterns that fired (AI vocabulary, significance in"},{"name":"saas_metrics","description":"SaaS health advisor. POST your MRR/customers (+ optional churn/CAC/margin/growth) and get ARR/ARPA/LTV/CAC/payback/Rule-of-40/NRR/GRR computed, each with a heal"},{"name":"acceptance_criteria_validator","description":"QA advisor: validate acceptance criteria quality. POST a list of AC (or a story) and get per-AC problems (vague/untestable, non-atomic, no observable outcome) +"},{"name":"coverage_check","description":"Scope-completeness advisor. POST a brief (or requirements[]) + your stories[] and get a coverage score + the gaps (requirements no story covers), orphan stories"},{"name":"defect_triage","description":"Bug-triage advisor. POST one bug report (or a list) and get severity (critical/high/medium/low), category, whether it has repro steps, and what info is missing "},{"name":"model_advisor","description":"LLM selection + cost advisor. POST a task description (+ optional volume/tokens/constraints like local-only or cheap) and get a recommended model + fallback cha"},{"name":"tool_advisor","description":"Which QL-API endpoint fits this task. POST a task description and get the ranked endpoint(s) that best match, each with a confidence label (high/medium/low). De"},{"name":"humanize","description":"Rewrite text to remove AI-writing tells. POST prose and get it back with the mechanical tells fixed (AI vocabulary swapped for plain words, filler phrases strip"},{"name":"dependency_check","description":"Dependency-manifest hygiene check. POST package manifests (package.json, requirements.txt, pyproject.toml, go.mod, Gemfile, composer.json, pubspec.yaml, lockfil"},{"name":"log_audit_creator","description":"Generate a concrete audit-logging spec for an app. POST your feature list (and optional compliance targets: soc2/hipaa/gdpr/pci) and get a full audit-event cata"},{"name":"log_analyzer","description":"Analyze a log file. POST raw log text (or an upload_id from the uploads tool, up to 5MB) and get: level breakdown + time range, error clusters (messages normali"},{"name":"ticket_lint","description":"Full Jira-ticket quality linter (whole ticket, not just AC - use acceptance_criteria_validator for the deep AC pass). POST one ticket or a batch (max 50) and ge"},{"name":"story_lint","description":"Deterministic structural quality linter for user stories - a sibling to ticket_lint but scoped to story-writing concepts any team recognizes: narrative complete"},{"name":"estimate_sanity","description":"Deterministic classifier for story/task hour estimates against benchmarks: flags each estimate in_range, borderline, over, under, or unbenchmarked. Supply eithe"},{"name":"pr_description_lint","description":"Deterministic PR description quality linter: flags a missing/too-short body, absent test evidence, absent stated rationale, an unstructured long body, and - onl"},{"name":"commit_hygiene","description":"Deterministic commit-message hygiene checker: conventional-commit format, vague-subject detection, subject-length limit, a same-message secret-pattern scan (AWS"},{"name":"readability_grade","description":"Deterministic Flesch Reading Ease and Flesch-Kincaid Grade Level for a block of text, plus word/sentence/syllable counts and a plain-language reading-ease band "},{"name":"regex_lint","description":"Static safety analysis of a regular expression plus an English explanation of what it matches. Parses the pattern into an AST and flags the structures that caus"},{"name":"sprint_health","description":"Sprint/delivery health advisor. POST 1-24 sprints (committed/completed points, optional per-ticket estimate-vs-actual data) and get computed metrics each with a"},{"name":"worklog_guardrail","description":"Worklog/timesheet policy checker - run a batch of worklog entries through configurable guardrails BEFORE posting them to a time-tracking system. Checks: roundin"},{"name":"uploads","description":"Get a presigned S3 PUT URL to upload a file (policy doc, config, log, up to 5MB) that a file-ingesting endpoint then reads by upload_id. Two-step: call this, PU"},{"name":"feedback","description":"Submit free-text feedback about the API - a bug, a feature request, a docs gap, a billing question, or anything else. Tied to your key so we can follow up, but "},{"name":"buy_credits","description":"Get a Stripe Checkout link to top up the credits on the API key you are calling with. Starter pack: $5 for 500 credits. Pro pack: $20 for 2500 credits. 1 credit"},{"name":"rate_call","description":"Rate a specific prior metered call - thumbs up or down, plus an optional comment - keyed by the request_id that call's response reported. Scoped for now to rati"},{"name":"supply_chain_scan","description":"Scan package manifests, lockfiles, and MCP server configs for known supply-chain compromises. The only scanner treating MCP configuration as a security surface."},{"name":"describe_diagram","description":"Turn a plain-English description into Mermaid diagram source. Describe the flow, system, schema or timeline you want (\"a login flow with an OAuth branch and a f"},{"name":"convert_diagram","description":"Make Mermaid diagrams portable. Takes HTML containing <div class=\"mermaid\"> blocks (or a raw Mermaid source) and returns the same document with every diagram pr"}],"toolCount":30,"toolsHash":"e7f2a3eed689ba5f3fdc75c183ef5fcba6df67d9fba6da6ea647db7a69434d5b","serverName":"quasslabs-api","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-02T03:27:43.670Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":117,"error":null,"detail":{"tools":[{"name":"alignment_gate","description":"Run an AI system prompt (and optional agent config) through a 45-criterion alignment/safety rubric. Returns a letter grade (A-F), numeric score, per-flag remedi"},{"name":"blm_land_lookup","description":"Look up Bureau of Land Management land status for a US coordinate: BLM ownership, jurisdiction, allowed activities (rockhounding, camping), permit requirements,"},{"name":"diagram_contrast","description":"Diagram quality QA. Catch and fix the things that ruin diagrams: (1) unreadable label contrast - POST a mermaid/SVG or HTML diagram, get every WCAG-AA failure ("},{"name":"humanizer_score","description":"Detect AI-writing tells in text. POST prose and get a 0-1 ai_ness score + band (low/medium/high) + the EXACT patterns that fired (AI vocabulary, significance in"},{"name":"saas_metrics","description":"SaaS health advisor. POST your MRR/customers (+ optional churn/CAC/margin/growth) and get ARR/ARPA/LTV/CAC/payback/Rule-of-40/NRR/GRR computed, each with a heal"},{"name":"acceptance_criteria_validator","description":"QA advisor: validate acceptance criteria quality. POST a list of AC (or a story) and get per-AC problems (vague/untestable, non-atomic, no observable outcome) +"},{"name":"coverage_check","description":"Scope-completeness advisor. POST a brief (or requirements[]) + your stories[] and get a coverage score + the gaps (requirements no story covers), orphan stories"},{"name":"defect_triage","description":"Bug-triage advisor. POST one bug report (or a list) and get severity (critical/high/medium/low), category, whether it has repro steps, and what info is missing "},{"name":"model_advisor","description":"LLM selection + cost advisor. POST a task description (+ optional volume/tokens/constraints like local-only or cheap) and get a recommended model + fallback cha"},{"name":"tool_advisor","description":"Which QL-API endpoint fits this task. POST a task description and get the ranked endpoint(s) that best match, each with a confidence label (high/medium/low). De"},{"name":"humanize","description":"Rewrite text to remove AI-writing tells. POST prose and get it back with the mechanical tells fixed (AI vocabulary swapped for plain words, filler phrases strip"},{"name":"dependency_check","description":"Dependency-manifest hygiene check. POST package manifests (package.json, requirements.txt, pyproject.toml, go.mod, Gemfile, composer.json, pubspec.yaml, lockfil"},{"name":"log_audit_creator","description":"Generate a concrete audit-logging spec for an app. POST your feature list (and optional compliance targets: soc2/hipaa/gdpr/pci) and get a full audit-event cata"},{"name":"log_analyzer","description":"Analyze a log file. POST raw log text (or an upload_id from the uploads tool, up to 5MB) and get: level breakdown + time range, error clusters (messages normali"},{"name":"ticket_lint","description":"Full Jira-ticket quality linter (whole ticket, not just AC - use acceptance_criteria_validator for the deep AC pass). POST one ticket or a batch (max 50) and ge"},{"name":"story_lint","description":"Deterministic structural quality linter for user stories - a sibling to ticket_lint but scoped to story-writing concepts any team recognizes: narrative complete"},{"name":"estimate_sanity","description":"Deterministic classifier for story/task hour estimates against benchmarks: flags each estimate in_range, borderline, over, under, or unbenchmarked. Supply eithe"},{"name":"pr_description_lint","description":"Deterministic PR description quality linter: flags a missing/too-short body, absent test evidence, absent stated rationale, an unstructured long body, and - onl"},{"name":"commit_hygiene","description":"Deterministic commit-message hygiene checker: conventional-commit format, vague-subject detection, subject-length limit, a same-message secret-pattern scan (AWS"},{"name":"readability_grade","description":"Deterministic Flesch Reading Ease and Flesch-Kincaid Grade Level for a block of text, plus word/sentence/syllable counts and a plain-language reading-ease band "},{"name":"regex_lint","description":"Static safety analysis of a regular expression plus an English explanation of what it matches. Parses the pattern into an AST and flags the structures that caus"},{"name":"sprint_health","description":"Sprint/delivery health advisor. POST 1-24 sprints (committed/completed points, optional per-ticket estimate-vs-actual data) and get computed metrics each with a"},{"name":"worklog_guardrail","description":"Worklog/timesheet policy checker - run a batch of worklog entries through configurable guardrails BEFORE posting them to a time-tracking system. Checks: roundin"},{"name":"uploads","description":"Get a presigned S3 PUT URL to upload a file (policy doc, config, log, up to 5MB) that a file-ingesting endpoint then reads by upload_id. Two-step: call this, PU"},{"name":"feedback","description":"Submit free-text feedback about the API - a bug, a feature request, a docs gap, a billing question, or anything else. Tied to your key so we can follow up, but "},{"name":"buy_credits","description":"Get a Stripe Checkout link to top up the credits on the API key you are calling with. Starter pack: $5 for 500 credits. Pro pack: $20 for 2500 credits. 1 credit"},{"name":"rate_call","description":"Rate a specific prior metered call - thumbs up or down, plus an optional comment - keyed by the request_id that call's response reported. Scoped for now to rati"},{"name":"supply_chain_scan","description":"Scan package manifests, lockfiles, and MCP server configs for known supply-chain compromises. The only scanner treating MCP configuration as a security surface."},{"name":"describe_diagram","description":"Turn a plain-English description into Mermaid diagram source. Describe the flow, system, schema or timeline you want (\"a login flow with an OAuth branch and a f"},{"name":"convert_diagram","description":"Make Mermaid diagrams portable. Takes HTML containing <div class=\"mermaid\"> blocks (or a raw Mermaid source) and returns the same document with every diagram pr"}],"toolCount":30,"toolsHash":"e7f2a3eed689ba5f3fdc75c183ef5fcba6df67d9fba6da6ea647db7a69434d5b","serverName":"quasslabs-api","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-01T19:22:27.848Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":188,"error":null,"detail":{"tools":[{"name":"alignment_gate","description":"Run an AI system prompt (and optional agent config) through a 45-criterion alignment/safety rubric. Returns a letter grade (A-F), numeric score, per-flag remedi"},{"name":"blm_land_lookup","description":"Look up Bureau of Land Management land status for a US coordinate: BLM ownership, jurisdiction, allowed activities (rockhounding, camping), permit requirements,"},{"name":"diagram_contrast","description":"Diagram quality QA. Catch and fix the things that ruin diagrams: (1) unreadable label contrast - POST a mermaid/SVG or HTML diagram, get every WCAG-AA failure ("},{"name":"humanizer_score","description":"Detect AI-writing tells in text. POST prose and get a 0-1 ai_ness score + band (low/medium/high) + the EXACT patterns that fired (AI vocabulary, significance in"},{"name":"saas_metrics","description":"SaaS health advisor. POST your MRR/customers (+ optional churn/CAC/margin/growth) and get ARR/ARPA/LTV/CAC/payback/Rule-of-40/NRR/GRR computed, each with a heal"},{"name":"acceptance_criteria_validator","description":"QA advisor: validate acceptance criteria quality. POST a list of AC (or a story) and get per-AC problems (vague/untestable, non-atomic, no observable outcome) +"},{"name":"coverage_check","description":"Scope-completeness advisor. POST a brief (or requirements[]) + your stories[] and get a coverage score + the gaps (requirements no story covers), orphan stories"},{"name":"defect_triage","description":"Bug-triage advisor. POST one bug report (or a list) and get severity (critical/high/medium/low), category, whether it has repro steps, and what info is missing "},{"name":"model_advisor","description":"LLM selection + cost advisor. POST a task description (+ optional volume/tokens/constraints like local-only or cheap) and get a recommended model + fallback cha"},{"name":"tool_advisor","description":"Which QL-API endpoint fits this task. POST a task description and get the ranked endpoint(s) that best match, each with a confidence label (high/medium/low). De"},{"name":"humanize","description":"Rewrite text to remove AI-writing tells. POST prose and get it back with the mechanical tells fixed (AI vocabulary swapped for plain words, filler phrases strip"},{"name":"dependency_check","description":"Dependency-manifest hygiene check. POST package manifests (package.json, requirements.txt, pyproject.toml, go.mod, Gemfile, composer.json, pubspec.yaml, lockfil"},{"name":"log_audit_creator","description":"Generate a concrete audit-logging spec for an app. POST your feature list (and optional compliance targets: soc2/hipaa/gdpr/pci) and get a full audit-event cata"},{"name":"log_analyzer","description":"Analyze a log file. POST raw log text (or an upload_id from the uploads tool, up to 5MB) and get: level breakdown + time range, error clusters (messages normali"},{"name":"ticket_lint","description":"Full Jira-ticket quality linter (whole ticket, not just AC - use acceptance_criteria_validator for the deep AC pass). POST one ticket or a batch (max 50) and ge"},{"name":"story_lint","description":"Deterministic structural quality linter for user stories - a sibling to ticket_lint but scoped to story-writing concepts any team recognizes: narrative complete"},{"name":"estimate_sanity","description":"Deterministic classifier for story/task hour estimates against benchmarks: flags each estimate in_range, borderline, over, under, or unbenchmarked. Supply eithe"},{"name":"pr_description_lint","description":"Deterministic PR description quality linter: flags a missing/too-short body, absent test evidence, absent stated rationale, an unstructured long body, and - onl"},{"name":"commit_hygiene","description":"Deterministic commit-message hygiene checker: conventional-commit format, vague-subject detection, subject-length limit, a same-message secret-pattern scan (AWS"},{"name":"readability_grade","description":"Deterministic Flesch Reading Ease and Flesch-Kincaid Grade Level for a block of text, plus word/sentence/syllable counts and a plain-language reading-ease band "},{"name":"regex_lint","description":"Static safety analysis of a regular expression plus an English explanation of what it matches. Parses the pattern into an AST and flags the structures that caus"},{"name":"sprint_health","description":"Sprint/delivery health advisor. POST 1-24 sprints (committed/completed points, optional per-ticket estimate-vs-actual data) and get computed metrics each with a"},{"name":"worklog_guardrail","description":"Worklog/timesheet policy checker - run a batch of worklog entries through configurable guardrails BEFORE posting them to a time-tracking system. Checks: roundin"},{"name":"uploads","description":"Get a presigned S3 PUT URL to upload a file (policy doc, config, log, up to 5MB) that a file-ingesting endpoint then reads by upload_id. Two-step: call this, PU"},{"name":"feedback","description":"Submit free-text feedback about the API - a bug, a feature request, a docs gap, a billing question, or anything else. Tied to your key so we can follow up, but "},{"name":"buy_credits","description":"Get a Stripe Checkout link to top up the credits on the API key you are calling with. Starter pack: $5 for 500 credits. Pro pack: $20 for 2500 credits. 1 credit"},{"name":"rate_call","description":"Rate a specific prior metered call - thumbs up or down, plus an optional comment - keyed by the request_id that call's response reported. Scoped for now to rati"},{"name":"supply_chain_scan","description":"Scan package manifests, lockfiles, and MCP server configs for known supply-chain compromises. The only scanner treating MCP configuration as a security surface."},{"name":"describe_diagram","description":"Turn a plain-English description into Mermaid diagram source. Describe the flow, system, schema or timeline you want (\"a login flow with an OAuth branch and a f"},{"name":"convert_diagram","description":"Make Mermaid diagrams portable. Takes HTML containing <div class=\"mermaid\"> blocks (or a raw Mermaid source) and returns the same document with every diagram pr"}],"toolCount":30,"toolsHash":"e7f2a3eed689ba5f3fdc75c183ef5fcba6df67d9fba6da6ea647db7a69434d5b","serverName":"quasslabs-api","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-01T11:26:35.727Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":154,"error":null,"detail":{"tools":[{"name":"alignment_gate","description":"Run an AI system prompt (and optional agent config) through a 45-criterion alignment/safety rubric. Returns a letter grade (A-F), numeric score, per-flag remedi"},{"name":"blm_land_lookup","description":"Look up Bureau of Land Management land status for a US coordinate: BLM ownership, jurisdiction, allowed activities (rockhounding, camping), permit requirements,"},{"name":"diagram_contrast","description":"Diagram quality QA. Catch and fix the things that ruin diagrams: (1) unreadable label contrast - POST a mermaid/SVG or HTML diagram, get every WCAG-AA failure ("},{"name":"humanizer_score","description":"Detect AI-writing tells in text. POST prose and get a 0-1 ai_ness score + band (low/medium/high) + the EXACT patterns that fired (AI vocabulary, significance in"},{"name":"saas_metrics","description":"SaaS health advisor. POST your MRR/customers (+ optional churn/CAC/margin/growth) and get ARR/ARPA/LTV/CAC/payback/Rule-of-40/NRR/GRR computed, each with a heal"},{"name":"acceptance_criteria_validator","description":"QA advisor: validate acceptance criteria quality. POST a list of AC (or a story) and get per-AC problems (vague/untestable, non-atomic, no observable outcome) +"},{"name":"coverage_check","description":"Scope-completeness advisor. POST a brief (or requirements[]) + your stories[] and get a coverage score + the gaps (requirements no story covers), orphan stories"},{"name":"defect_triage","description":"Bug-triage advisor. POST one bug report (or a list) and get severity (critical/high/medium/low), category, whether it has repro steps, and what info is missing "},{"name":"model_advisor","description":"LLM selection + cost advisor. POST a task description (+ optional volume/tokens/constraints like local-only or cheap) and get a recommended model + fallback cha"},{"name":"tool_advisor","description":"Which QL-API endpoint fits this task. POST a task description and get the ranked endpoint(s) that best match, each with a confidence label (high/medium/low). De"},{"name":"humanize","description":"Rewrite text to remove AI-writing tells. POST prose and get it back with the mechanical tells fixed (AI vocabulary swapped for plain words, filler phrases strip"},{"name":"dependency_check","description":"Dependency-manifest hygiene check. POST package manifests (package.json, requirements.txt, pyproject.toml, go.mod, Gemfile, composer.json, pubspec.yaml, lockfil"},{"name":"log_audit_creator","description":"Generate a concrete audit-logging spec for an app. POST your feature list (and optional compliance targets: soc2/hipaa/gdpr/pci) and get a full audit-event cata"},{"name":"log_analyzer","description":"Analyze a log file. POST raw log text (or an upload_id from the uploads tool, up to 5MB) and get: level breakdown + time range, error clusters (messages normali"},{"name":"ticket_lint","description":"Full Jira-ticket quality linter (whole ticket, not just AC - use acceptance_criteria_validator for the deep AC pass). POST one ticket or a batch (max 50) and ge"},{"name":"story_lint","description":"Deterministic structural quality linter for user stories - a sibling to ticket_lint but scoped to story-writing concepts any team recognizes: narrative complete"},{"name":"estimate_sanity","description":"Deterministic classifier for story/task hour estimates against benchmarks: flags each estimate in_range, borderline, over, under, or unbenchmarked. Supply eithe"},{"name":"pr_description_lint","description":"Deterministic PR description quality linter: flags a missing/too-short body, absent test evidence, absent stated rationale, an unstructured long body, and - onl"},{"name":"commit_hygiene","description":"Deterministic commit-message hygiene checker: conventional-commit format, vague-subject detection, subject-length limit, a same-message secret-pattern scan (AWS"},{"name":"readability_grade","description":"Deterministic Flesch Reading Ease and Flesch-Kincaid Grade Level for a block of text, plus word/sentence/syllable counts and a plain-language reading-ease band "},{"name":"regex_lint","description":"Static safety analysis of a regular expression plus an English explanation of what it matches. Parses the pattern into an AST and flags the structures that caus"},{"name":"sprint_health","description":"Sprint/delivery health advisor. POST 1-24 sprints (committed/completed points, optional per-ticket estimate-vs-actual data) and get computed metrics each with a"},{"name":"worklog_guardrail","description":"Worklog/timesheet policy checker - run a batch of worklog entries through configurable guardrails BEFORE posting them to a time-tracking system. Checks: roundin"},{"name":"uploads","description":"Get a presigned S3 PUT URL to upload a file (policy doc, config, log, up to 5MB) that a file-ingesting endpoint then reads by upload_id. Two-step: call this, PU"},{"name":"feedback","description":"Submit free-text feedback about the API - a bug, a feature request, a docs gap, a billing question, or anything else. Tied to your key so we can follow up, but "},{"name":"buy_credits","description":"Get a Stripe Checkout link to top up the credits on the API key you are calling with. Starter pack: $5 for 500 credits. Pro pack: $20 for 2500 credits. 1 credit"},{"name":"rate_call","description":"Rate a specific prior metered call - thumbs up or down, plus an optional comment - keyed by the request_id that call's response reported. Scoped for now to rati"},{"name":"supply_chain_scan","description":"Scan package manifests, lockfiles, and MCP server configs for known supply-chain compromises. The only scanner treating MCP configuration as a security surface."},{"name":"describe_diagram","description":"Turn a plain-English description into Mermaid diagram source. Describe the flow, system, schema or timeline you want (\"a login flow with an OAuth branch and a f"},{"name":"convert_diagram","description":"Make Mermaid diagrams portable. Takes HTML containing <div class=\"mermaid\"> blocks (or a raw Mermaid source) and returns the same document with every diagram pr"}],"toolCount":30,"toolsHash":"e7f2a3eed689ba5f3fdc75c183ef5fcba6df67d9fba6da6ea647db7a69434d5b","serverName":"quasslabs-api","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"alignment_gate","description":"Run an AI system prompt (and optional agent config) through a 45-criterion alignment/safety rubric. Returns a letter grade (A-F), numeric score, per-flag remedi"},{"name":"blm_land_lookup","description":"Look up Bureau of Land Management land status for a US coordinate: BLM ownership, jurisdiction, allowed activities (rockhounding, camping), permit requirements,"},{"name":"diagram_contrast","description":"Diagram quality QA. Catch and fix the things that ruin diagrams: (1) unreadable label contrast - POST a mermaid/SVG or HTML diagram, get every WCAG-AA failure ("},{"name":"humanizer_score","description":"Detect AI-writing tells in text. POST prose and get a 0-1 ai_ness score + band (low/medium/high) + the EXACT patterns that fired (AI vocabulary, significance in"},{"name":"saas_metrics","description":"SaaS health advisor. POST your MRR/customers (+ optional churn/CAC/margin/growth) and get ARR/ARPA/LTV/CAC/payback/Rule-of-40/NRR/GRR computed, each with a heal"},{"name":"acceptance_criteria_validator","description":"QA advisor: validate acceptance criteria quality. POST a list of AC (or a story) and get per-AC problems (vague/untestable, non-atomic, no observable outcome) +"},{"name":"coverage_check","description":"Scope-completeness advisor. POST a brief (or requirements[]) + your stories[] and get a coverage score + the gaps (requirements no story covers), orphan stories"},{"name":"defect_triage","description":"Bug-triage advisor. POST one bug report (or a list) and get severity (critical/high/medium/low), category, whether it has repro steps, and what info is missing "},{"name":"model_advisor","description":"LLM selection + cost advisor. POST a task description (+ optional volume/tokens/constraints like local-only or cheap) and get a recommended model + fallback cha"},{"name":"tool_advisor","description":"Which QL-API endpoint fits this task. POST a task description and get the ranked endpoint(s) that best match, each with a confidence label (high/medium/low). De"},{"name":"humanize","description":"Rewrite text to remove AI-writing tells. POST prose and get it back with the mechanical tells fixed (AI vocabulary swapped for plain words, filler phrases strip"},{"name":"dependency_check","description":"Dependency-manifest hygiene check. POST package manifests (package.json, requirements.txt, pyproject.toml, go.mod, Gemfile, composer.json, pubspec.yaml, lockfil"},{"name":"log_audit_creator","description":"Generate a concrete audit-logging spec for an app. POST your feature list (and optional compliance targets: soc2/hipaa/gdpr/pci) and get a full audit-event cata"},{"name":"log_analyzer","description":"Analyze a log file. POST raw log text (or an upload_id from the uploads tool, up to 5MB) and get: level breakdown + time range, error clusters (messages normali"},{"name":"ticket_lint","description":"Full Jira-ticket quality linter (whole ticket, not just AC - use acceptance_criteria_validator for the deep AC pass). POST one ticket or a batch (max 50) and ge"},{"name":"story_lint","description":"Deterministic structural quality linter for user stories - a sibling to ticket_lint but scoped to story-writing concepts any team recognizes: narrative complete"},{"name":"estimate_sanity","description":"Deterministic classifier for story/task hour estimates against benchmarks: flags each estimate in_range, borderline, over, under, or unbenchmarked. Supply eithe"},{"name":"pr_description_lint","description":"Deterministic PR description quality linter: flags a missing/too-short body, absent test evidence, absent stated rationale, an unstructured long body, and - onl"},{"name":"commit_hygiene","description":"Deterministic commit-message hygiene checker: conventional-commit format, vague-subject detection, subject-length limit, a same-message secret-pattern scan (AWS"},{"name":"readability_grade","description":"Deterministic Flesch Reading Ease and Flesch-Kincaid Grade Level for a block of text, plus word/sentence/syllable counts and a plain-language reading-ease band "},{"name":"regex_lint","description":"Static safety analysis of a regular expression plus an English explanation of what it matches. Parses the pattern into an AST and flags the structures that caus"},{"name":"sprint_health","description":"Sprint/delivery health advisor. POST 1-24 sprints (committed/completed points, optional per-ticket estimate-vs-actual data) and get computed metrics each with a"},{"name":"worklog_guardrail","description":"Worklog/timesheet policy checker - run a batch of worklog entries through configurable guardrails BEFORE posting them to a time-tracking system. Checks: roundin"},{"name":"uploads","description":"Get a presigned S3 PUT URL to upload a file (policy doc, config, log, up to 5MB) that a file-ingesting endpoint then reads by upload_id. Two-step: call this, PU"},{"name":"feedback","description":"Submit free-text feedback about the API - a bug, a feature request, a docs gap, a billing question, or anything else. Tied to your key so we can follow up, but "},{"name":"buy_credits","description":"Get a Stripe Checkout link to top up the credits on the API key you are calling with. Starter pack: $5 for 500 credits. Pro pack: $20 for 2500 credits. 1 credit"},{"name":"rate_call","description":"Rate a specific prior metered call - thumbs up or down, plus an optional comment - keyed by the request_id that call's response reported. Scoped for now to rati"},{"name":"supply_chain_scan","description":"Scan package manifests, lockfiles, and MCP server configs for known supply-chain compromises. The only scanner treating MCP configuration as a security surface."},{"name":"describe_diagram","description":"Turn a plain-English description into Mermaid diagram source. Describe the flow, system, schema or timeline you want (\"a login flow with an OAuth branch and a f"},{"name":"convert_diagram","description":"Make Mermaid diagrams portable. Takes HTML containing <div class=\"mermaid\"> blocks (or a raw Mermaid source) and returns the same document with every diagram pr"}],"package":null,"toolSurface":{"id":"ts_vkc4wcj88ymb","endpointId":"ep_bet9uj7vcczh","hash":"e7f2a3eed689ba5f3fdc75c183ef5fcba6df67d9fba6da6ea647db7a69434d5b","toolCount":30,"serverName":"quasslabs-api","serverVersion":"0.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-11-01T11:26:35.732Z","lastSeenAt":"2026-11-03T11:30:10.971Z","observations":7,"toolNames":["alignment_gate","blm_land_lookup","diagram_contrast","humanizer_score","saas_metrics","acceptance_criteria_validator","coverage_check","defect_triage","model_advisor","tool_advisor","humanize","dependency_check","log_audit_creator","log_analyzer","ticket_lint","story_lint","estimate_sanity","pr_description_lint","commit_hygiene","readability_grade","regex_lint","sprint_health","worklog_guardrail","uploads","feedback","buy_credits","rate_call","supply_chain_scan","describe_diagram","convert_diagram"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_bet9uj7vcczh","url":"https://api.quasslabs.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-11-01T19:22:27.880Z","auth":{"observedAt":"2026-11-01T19:22:27.976Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-11-01T19:22:28.150Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"api.quasslabs.com","issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validFrom":"2026-07-22T00:00:00.000Z","validTo":"2027-02-04T23:59:59.000Z","daysToExpiry":93,"sanCount":1,"fingerprint256":"18:A3:B1:04:BA:65:F9:59:E5:E1:19:D8:BF:FE:21:C6:3B:DC:D4:76:97:92:F2:0C:79:54:C3:BC:FB:BE:4D:BA"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.quasslabs/api","url":"https://registry.modelcontextprotocol.io/v0/servers/com.quasslabs%2Fapi","firstSeenAt":"2026-11-01T09:19:43.152Z","fetchedAt":"2026-11-01T09:19:43.152Z","normalizedAt":"2026-11-01T09:19:43.152Z"}]},"firstSeenAt":"2026-11-01T09:19:43.152Z","updatedAt":"2026-11-03T11:35:15.408Z"}