QuassLabs API
REMOTE · API.QUASSLABS.COM
30+ deterministic dev and delivery tools: linting, metrics, diagrams, model advice, AI-text checks.
Available components
Last scanned (22 hours ago)
Scores higher than 44% of remote servers
Reachable. Last reached 4 Nov 2026.
Category Developer Tools
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 30 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability64
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 5382 tokens (~179/item across 30 items; 30 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 Management16
- Stability check failed: schema churn in the 6 days we've observed: 1 tool removals, 0 breaking changes, 0 auth/transport breaks, 0 additions. See how to fix → Fail
Tool Coverage91
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 73% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 30 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 30 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
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.
- 3 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 6.
- 30 Oct 26 0
- Stability: unverified → fail ▼ security
- A breaking change shipped without a version bump: still 0.1.0 ▼ security
- Tool “compress” was removed ▼ security
- 29 Oct 26 60
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 4 Nov 2026 · Probed https://api.quasslabs.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=api.quasslabs.com | CN=Amazon RSA 2048 M04,O=Amazon,C=US | 22 Jul 2026 | 4 Feb 2027 | RSA 2048 | SHA256-RSA | 20dadf4586e959663e7e32907c13466 |
| SANs: api.quasslabs.com | ||||||
| CN=Amazon RSA 2048 M04,O=Amazon,C=US (CA) | CN=Amazon Root CA 1,O=Amazon,C=US | 23 Aug 2022 | 23 Aug 2030 | RSA 2048 | SHA256-RSA | 773124f2a952e3ed18a58bdb85d1bc0ce5f27 |
| CN=Amazon Root CA 1,O=Amazon,C=US (CA) | CN=Starfield Services Root Certificate Authority - G2,O=Starfield Technologies\, Inc.,L=Scottsdale,ST=Arizona,C=US | 25 May 2015 | 31 Dec 2037 | RSA 2048 | SHA256-RSA | 67f944a2a27cdf3fac2ae2b01f908eeb9c4c6 |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.quasslabs.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| quasslabs.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
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 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.quasslabs.com/mcp | Verified | 200 | |
| http (plaintext) | http://api.quasslabs.com/mcp | HTTPS enforced |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
acceptance_criteria_validator ~117
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) + a missing-coverage flag if there is no failure-path AC, plus a 0-100 score and pass/needs_work verdict. Tells you exactly what to fix. Deterministic, no LLM.
| Name | Type | Req | Description |
|---|---|---|---|
| acceptance_criteria | array | – | – |
| story | string | – | – |
| strictness | string | – | – |
No output schema declared.
No examples provided.
alignment_gate ~98
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 remediation, and a pass/fail verdict.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_config | object | – | Optional agent config (tools, memory, temperature, etc.). |
| model_id | string | – | Optional target model identifier. |
| system_prompt | string | yes | The system prompt text to evaluate. |
No output schema declared.
No examples provided.
blm_land_lookup ~110
Look up Bureau of Land Management land status for a US coordinate: BLM ownership, jurisdiction, allowed activities (rockhounding, camping), permit requirements, and special designations (ACEC, Wilderness, WSA, NM/NCA).
| Name | Type | Req | Description |
|---|---|---|---|
| lat | number | yes | Latitude, -90 to 90. |
| lon | number | yes | Longitude, -180 to 180. |
| radius_km | number | – | Optional buffer radius in km (0-50, default 1.0). |
No output schema declared.
No examples provided.
buy_credits ~154
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 = $0.01. Give the returned checkout_url to a human to complete payment in a browser; the credits are added to this key automatically once the payment succeeds, usually within seconds. Calling this tool does not charge anything and costs no credits.
| Name | Type | Req | Description |
|---|---|---|---|
| pack | string | – | Which pack to buy. Defaults to "starter" ($5 / 500 credits). "pro" is $20 / 2500 credits. |
| packs | integer | – | How many of that pack. Defaults to 1. |
No output schema declared.
No examples provided.
commit_hygiene ~178
Deterministic commit-message hygiene checker: conventional-commit format, vague-subject detection, subject-length limit, a same-message secret-pattern scan (AWS keys, private key headers, Slack/GitHub tokens, inline password=/secret= style credentials - checked against the message text only, never a diff), and an oversized-commit warning from caller-supplied insertions/deletions. POST one commit or a batch (max 200). Deterministic, no LLM, no network.
| Name | Type | Req | Description |
|---|---|---|---|
| commit | object | – | One commit: {sha?, message, insertions?, deletions?}. message is required. |
| commits | array | – | Alternative: batch of up to 200 commits. |
| max_lines_changed | integer | – | Default 500. Total insertions+deletions above this triggers a large_commit finding. |
No output schema declared.
No examples provided.
convert_diagram ~248
Make Mermaid diagrams portable. Takes HTML containing <div class="mermaid"> blocks (or a raw Mermaid source) and returns the same document with every diagram pre-rendered to inline SVG and the Mermaid CDN runtime stripped. A CDN-backed diagram only renders if the reader can fetch and run the runtime; inline SVG needs neither, so the output survives offline readers, email clients, Notion/Confluence (which strip <script>), and PDF export. Rendering happens on our infrastructure; diagram content is not sent to any third party.
| Name | Type | Req | Description |
|---|---|---|---|
| background | string | – | "transparent" (default), "white", or a hex color. |
| html | string | – | HTML document or fragment containing <div class="mermaid"> blocks. Mutually exclusive with mermaid_source. |
| inject_lightbox | boolean | – | Add click-to-enlarge overlay CSS+JS for small-text diagrams. Default false. |
| mermaid_source | string | – | A single raw Mermaid diagram source. Mutually exclusive with html. |
| output_format | string | – | Default "html". "svg" returns the raw inline SVG and requires mermaid_source. |
| theme | string | – | Mermaid theme. Default "default". |
No output schema declared.
No examples provided.
coverage_check ~97
Scope-completeness advisor. POST a brief (or requirements[]) + your stories[] and get a coverage score + the gaps (requirements no story covers), orphan stories (possible scope creep), and missing structural buckets (auth/CRUD/error-states/tests). Tells you what the scope is missing. Deterministic, no LLM.
| Name | Type | Req | Description |
|---|---|---|---|
| brief | string | – | – |
| requirements | array | – | – |
| stories | array | yes | – |
No output schema declared.
No examples provided.
defect_triage ~96
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 (no repro / no expected-vs-actual / no environment). For a list: priority ranking + likely-duplicate clusters. Deterministic, no LLM.
| Name | Type | Req | Description |
|---|---|---|---|
| report | string | – | – |
| reports | array | – | – |
No output schema declared.
No examples provided.
dependency_check ~180
Dependency-manifest hygiene check. POST package manifests (package.json, requirements.txt, pyproject.toml, go.mod, Gemfile, composer.json, pubspec.yaml, lockfiles) or an upload_id and get findings with severity + concrete fixes: wildcard/unbounded versions, missing lockfiles, unpinned installs, non-https indexes, install-script risks, dependency-confusion signals, and matches against a static snapshot of famously compromised packages. NOT a live CVE feed - pair with npm audit / pip-audit / osv-scanner for that. Deterministic, no network, no LLM.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | – | Required with upload_id so the manifest type can be detected. |
| manifests | array | – | Up to 20 manifest files inline. |
| upload_id | string | – | Alternative: a single manifest uploaded via the uploads tool. |
No output schema declared.
No examples provided.
describe_diagram ~174
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 failure path") and get back complete, valid Mermaid - no need to know the syntax. The mermaid field of the response is directly usable as the mermaid_source input of convert_diagram, so describe -> render is a two-call pipeline. Generation runs on our infrastructure via AWS Bedrock; your description is not sent to any third-party service beyond that.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | yes | What the diagram should show, in plain language. Include the nodes/steps/entities you care about; the generator fills in sensible structure. |
| diagram_type | string | – | Force a specific Mermaid diagram type. Default "auto" - the generator picks the type that fits the description. |
No output schema declared.
No examples provided.
diagram_contrast ~405
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 (incl. mermaid <style>-block label colors, with unresolvable fills flagged honestly, not false-passed) + auto-corrected colors; (2) harden a mermaid SOURCE before it renders - rewrites every fill/label pair and remaps fills no label color can rescue, which scanning cannot do because a per-node style line overrides the theme block; (3) HTML-looks-fine-but-prints-broken - checks for the print-color-adjust/page-break gotchas and returns the fix CSS; (4) arrows crossing objects - returns the ELK-renderer config + layout rules that minimize crossings. Pure deterministic - no AI, no rate limit.
| Name | Type | Req | Description |
|---|---|---|---|
| add_init | boolean | – | harden: prepend the %%{init}%% theme block (default true). |
| autofix | boolean | – | scan: include suggested corrected colors. |
| bg | string | – | contrast/readable: background/fill hex (#rrggbb). |
| brand | string | – | brand palette to use (e.g. appstango). Default from config. |
| content | string | – | scan/print: the SVG or HTML diagram/document source. |
| fg | string | – | contrast: foreground hex (#rrggbb). |
| format | string | – | scan: content format (default svg). |
| large | boolean | – | contrast/harden: use the 3:1 large-text threshold. |
| mode | string | – | Default "scan". scan=check rendered output; harden=fix a mermaid source before rendering; print=print-safety check; layout=arrow-crossing reduction. |
| renderer | string | – | layout: mermaid renderer (default "elk"). |
| source | string | – | harden: the mermaid SOURCE text (not rendered SVG). |
No output schema declared.
No examples provided.
estimate_sanity ~320
Deterministic classifier for story/task hour estimates against benchmarks: flags each estimate in_range, borderline, over, under, or unbenchmarked. Supply either an explicit {min, max} range per type (benchmarks) or a list of historical actual hours per type (historical) that this endpoint derives a mean/stdev variance band from - explicit ranges win when both are given for the same type. No benchmark numbers are built in; a type with neither input is reported unbenchmarked, never guessed at. POST one estimate or a batch (max 200). Deterministic, no LLM.
| Name | Type | Req | Description |
|---|---|---|---|
| benchmarks | object | – | Optional. Per type: {min?, max?}. Wins over historical for the same type. |
| borderline_z | number | – | Default 1.0. Stdevs from the historical mean before a result is "borderline" instead of "in_range". |
| estimate | object | – | One item: {id?, type, hours}. type and hours are required. |
| estimates | array | – | Alternative: batch of up to 200 items. |
| flag_z | number | – | Default 2.0. Stdevs from the historical mean beyond which a result is "over"/"under" instead of "borderline". Must be >= borderline_z. |
| historical | object | – | Optional. Per type: array of past actual hours (max 500 each), used to derive mean/stdev when no explicit benchmark exists for that type. Needs at least 2 values to produce a band. |
No output schema declared.
No examples provided.
feedback ~161
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 not billed and not a support-ticket SLA. Auth required; not billed.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Defaults to "other". |
| contact_ok | boolean | – | Optional, defaults to false. Whether we may follow up with you about this. |
| endpoint | string | – | Optional. Which /v1/* endpoint or MCP tool this is about, e.g. "/v1/ticket-lint". |
| message | string | yes | What you want us to know. Up to 4000 characters. |
| severity | string | – | Optional. Omit if not applicable. |
No output schema declared.
No examples provided.
humanize ~129
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 stripped, em-dash overuse reduced, significance inflation deflated) plus a change log, before/after ai-ness scores, and a residual list of tells that need human judgment (not auto-rewritten). Code fences, inline code, URLs, and quotes are never touched. Deterministic, no LLM. Sister to humanizer_score (the detector).
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | The prose to rewrite (up to 100k chars). |
No output schema declared.
No examples provided.
humanizer_score ~124
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 inflation, promotional language, filler phrases, negative parallelism, rule-of-three, em-dash overuse) with sample spans. Explainable, not an opaque classifier - every point is a named, located pattern. Deterministic, no LLM. The rewrite is a separate step.
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | The prose to score (up to 100k chars). |
No output schema declared.
No examples provided.
log_analyzer ~195
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 normalized so variable ids/numbers collapse into one signature, with counts + first/last seen + a sample), a timeline, detected anomalies (error spikes, retry storms, new error signatures, log gaps/outages, level-ratio shifts) with evidence, and templated recommendations. Handles JSON-lines and plain formats (ISO8601/syslog/CLF/epoch timestamps). Deterministic, single-pass, no LLM.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | – |
| text | string | – | Raw log content (up to 1M chars). |
| top_n | number | – | Top clusters to return (1-50, default 10). |
| upload_id | string | – | Alternative: a log file uploaded via the uploads tool. |
No output schema declared.
No examples provided.
log_audit_creator ~179
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 catalog (namespaced event names, actor/target/required fields, PII flags, retention), a canonical event envelope schema, a storage plan (append-only, access control, alerting), and per-framework compliance notes. A dev team can implement it directly. Deterministic, no LLM. Retention/compliance figures are common-practice defaults to verify with counsel.
| Name | Type | Req | Description |
|---|---|---|---|
| compliance | array | – | – |
| description | string | – | Optional free-text app description (scanned for features). |
| features | array | – | App features, e.g. ["user login", "payments", "file upload"]. |
| stack | string | – | – |
No output schema declared.
No examples provided.
model_advisor ~205
LLM selection + cost advisor. POST a task description (+ optional volume/tokens/constraints like local-only or cheap) and get a recommended model + fallback chain + do-not-use (with reasons), the complexity tier, and per-run + monthly cost. A maintained model+price catalog. Deterministic, no LLM. Tells the AI/user which model to use and what it costs.
| Name | Type | Req | Description |
|---|---|---|---|
| constraints | array | – | – |
| models | array | – | Optional allowlist - restrict ranking to only these model identifiers (e.g. models you already have access to). Any catalog model not in this list is excluded, listed in do_not_use. |
| task | string | yes | – |
| tokens_in | number | – | – |
| tokens_out | number | – | – |
| top_n | integer | – | How many ranked models to return as primary+fallbacks (rest land in also_considered). Default 1 = primary alone. |
| volume_per_month | number | – | – |
No output schema declared.
No examples provided.
pr_description_lint ~156
Deterministic PR description quality linter: flags a missing/too-short body, absent test evidence, absent stated rationale, an unstructured long body, and - only for PRs that look like bugfixes (title prefix fix/bug/hotfix/patch, or an explicit is_bugfix flag) - missing repro steps. Optionally requires a linked issue/ticket reference. Single PR only, no batch. Deterministic, no LLM.
| Name | Type | Req | Description |
|---|---|---|---|
| pr | object | yes | {title?, body?, is_bugfix?}. is_bugfix overrides title-based inference when supplied. |
| require_issue_link | boolean | – | Default false. When true, flags a missing issue/ticket reference in the title or body. |
No output schema declared.
No examples provided.
rate_call ~146
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 rating compress calls, so you can tell us when a compression was too aggressive or dropped something it shouldn't have. Resubmitting the same request_id overwrites your previous rating rather than adding a second one. Auth required; not billed - rating a call you already paid for should not cost more.
| Name | Type | Req | Description |
|---|---|---|---|
| comment | string | – | Optional. What was good or wrong about that call's result. |
| rating | string | yes | – |
| request_id | string | yes | The request_id from the response of the call you are rating. |
No output schema declared.
No examples provided.
readability_grade ~173
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 (very_easy through very_confusing). Syllable counting is the standard vowel-group heuristic (same approximation used by textstat and most open readability tools), not a dictionary lookup. Optionally pass target_grade to get an on_target flag (within +/-2.0 grade levels). Different metric family from humanizer_score - this is pure readability statistics, not AI-writing-tell detection. Deterministic, no LLM.
| Name | Type | Req | Description |
|---|---|---|---|
| target_grade | number | – | Optional target Flesch-Kincaid grade level, 0-20. |
| text | string | yes | Prose to analyze. Max 100,000 characters. |
No output schema declared.
No examples provided.
regex_lint ~215
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 cause catastrophic backtracking (ReDoS): nested unbounded quantifiers like (a+)+, repeated alternations whose branches can start with the same character like (a|ab)*, adjacent unbounded quantifiers over overlapping character sets like \d+\d+, and implausibly large bounded repeats. The pattern is COMPILED but never EXECUTED against input - running a caller-supplied regex is itself the denial-of-service vector. Detection is a structural heuristic, so a risk of "none" means no known dangerous shape was found, not a proof of safety. Deterministic, no LLM.
| Name | Type | Req | Description |
|---|---|---|---|
| flags | string | – | Optional inline flags, any of "imsxau" (ignorecase, multiline, dotall, verbose, ascii, unicode). |
| pattern | string | yes | The regular expression source, without delimiters. Max 2,000 characters. |
No output schema declared.
No examples provided.
saas_metrics ~176
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 health tag, plus an overall grade + a ranked "what to fix first" focus list. Deterministic math + advisory, no LLM.
| Name | Type | Req | Description |
|---|---|---|---|
| cac | number | – | – |
| churned_mrr | number | – | – |
| customers | number | yes | – |
| expansion_mrr | number | – | – |
| gross_margin_pct | number | – | – |
| mrr | number | yes | – |
| new_customers | number | – | – |
| new_mrr | number | – | – |
| prior_mrr | number | – | – |
| sales_marketing_spend | number | – | – |
No output schema declared.
No examples provided.
sprint_health ~180
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 good/warn/bad health tag: velocity avg + trend + stability, commitment reliability, spillover rate, mid-sprint scope change, estimate accuracy (median + chronic-overrun pct), and WIP concentration per assignee. Plus an overall grade and a ranked what-to-fix-first focus list. Pure math + advisory, no LLM.
| Name | Type | Req | Description |
|---|---|---|---|
| sprint_length_days | number | – | Default 10. |
| sprints | array | yes | Oldest first: [{name, committed_points, completed_points, added_points?, spillover_points?, tickets?: [{key, estimate_hours, actual_hours, status, assignee}]}]. |
| team_size | number | – | – |
No output schema declared.
No examples provided.
story_lint ~277
Deterministic structural quality linter for user stories - a sibling to ticket_lint but scoped to story-writing concepts any team recognizes: narrative completeness (As-a/I-want-to/So-that/Summary), acceptance criteria presence, duplicate/unknown dependency IDs, a "Manage X" story with no CRUD split, list stories missing a pagination mention. An OPTIONAL rate_config unlocks team-specific checks (screen-vs-narrative match, hour-rate-per-screen tolerance, required risk level by story type, milestone-code format, required companion story types per milestone) - omit it and only the universal checks run. No house rates or milestone conventions are hardcoded. POST one story or a batch (max 50). Deterministic, no LLM.
| Name | Type | Req | Description |
|---|---|---|---|
| rate_config | object | – | Optional. Enables team-specific checks, all off by default. |
| stories | array | – | Alternative: batch of up to 50 stories. Dependency/duplicate/required-companion checks are evaluated across the whole batch. |
| story | object | – | One story: {id, title, story: {as_a, i_want_to, so_that, summary, type_label?, on_screen?}, acceptance_criteria, dependencies?: [id], screen?, hours?: {<field>: number}, risk?, milestone_code?}. Miss… |
No output schema declared.
No examples provided.
supply_chain_scan ~95
Scan package manifests, lockfiles, and MCP server configs for known supply-chain compromises. The only scanner treating MCP configuration as a security surface. Returns findings with severity and remediation.
| Name | Type | Req | Description |
|---|---|---|---|
| archive_base64 | string | – | Base64-encoded ZIP of manifests/lockfiles/MCP configs. |
| archive_url | string | – | Presigned HTTPS URL to a ZIP (for large archives). |
| ecosystems | array | – | Optional ecosystem filter. |
No output schema declared.
No examples provided.
ticket_lint ~212
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 get per-ticket findings with severity + concrete fixes: missing/weak summary or description, missing AC or estimate, bugs without repro/expected-vs-actual/environment, missing epic link, points-vs-hours mismatch, oversized estimates to split, urgent-but-thin tickets. Returns score, grade, and a ready/needs_work verdict per ticket plus batch summary. Type-aware rules (story/bug/task/epic/subtask), strict profile available. Deterministic, no LLM.
| Name | Type | Req | Description |
|---|---|---|---|
| profile | string | – | – |
| ticket | object | – | One ticket: {key, summary, description, acceptance_criteria, issue_type, estimate_hours|story_points, priority, labels, components, epic_link, ...}. Missing fields ARE findings. |
| tickets | array | – | Alternative: batch of up to 50 tickets. |
No output schema declared.
No examples provided.
tool_advisor ~205
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). Deterministic keyword matching over this platform's own endpoint catalog, no LLM. Pairs with model_advisor (which itself is one of the recommendable endpoints, so a "which model" task surfaces it) - call them independently and chain the results yourself; optionally pass a prior model_advisor result's rationale in as `context` to bias matching.
| Name | Type | Req | Description |
|---|---|---|---|
| context | string | – | Optional extra text to fold into matching - e.g. a prior model_advisor rationale, or more detail than fits in `task`. |
| task | string | yes | What you are trying to do. |
| tools | array | – | Optional allowlist - restrict matching to only these endpoint names. |
| top_n | integer | – | How many ranked endpoints to return. Default 1 = best match only. |
No output schema declared.
No examples provided.
uploads ~121
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, PUT your file to the returned url, then pass upload_id to the consuming endpoint. Uploads auto-expire in 1 day and are readable only by your key. Auth required; not billed.
| Name | Type | Req | Description |
|---|---|---|---|
| content_type | string | – | MIME type of the file you will PUT (e.g. text/plain, application/json). Default application/octet-stream. |
No output schema declared.
No examples provided.
worklog_guardrail ~256
Worklog/timesheet policy checker - run a batch of worklog entries through configurable guardrails BEFORE posting them to a time-tracking system. Checks: rounding increment (default 0.25h, float-safe), per-entry min/max, per-author daily totals, duplicates, over-estimate alerts (never suggests inflating hours or estimates - flags to PM instead), future dates, weekends, immutable-author edit protection, missing description/ticket. Returns pass/warnings/blocked verdict + per-entry violations with fixes + hour totals by author and date. Caller supplies the reference date - fully deterministic, no LLM.
| Name | Type | Req | Description |
|---|---|---|---|
| entries | array | yes | Up to 500: [{author, date "YYYY-MM-DD", hours, ticket?, description?, estimate_hours?, already_logged_hours?, id?, edit?, delete?, new?}]. |
| policy | object | – | Optional overrides: rounding_increment, max_hours_per_day, max_hours_per_entry, min_hours_per_entry, immutable_authors, require_description, require_ticket, over_estimate_policy (alert|block|ignore),… |
| today | string | yes | Reference date "YYYY-MM-DD" for future-date checks. |
No output schema declared.
No examples provided.
How do I install the QuassLabs API MCP server?
QuassLabs API is a hosted endpoint at https://api.quasslabs.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.quasslabs.com
claude mcp add --transport http com-quasslabs-api 'https://api.quasslabs.com/mcp'
What is the QuassLabs API MCP server?
QuassLabs API is an MCP server listed in the public MCP registry as com.quasslabs/api. 30+ deterministic dev and delivery tools: linting, metrics, diagrams, model advice, AI-text checks. This page covers its hosted endpoint (https://api.quasslabs.com/mcp).
Is the QuassLabs API MCP server safe to use?
QuassLabs API scores 62 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the QuassLabs API MCP server expose?
QuassLabs API exposes 30 tools: alignment_gate, blm_land_lookup, diagram_contrast, humanizer_score, saas_metrics, and 25 more. Their descriptions and schemas cost roughly 5,382 tokens of context every time the server is loaded.
Does the QuassLabs API MCP server require authentication?
No. We connected to QuassLabs API without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the QuassLabs API MCP server still maintained?
QuassLabs API is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.