Skip to main content
Glama
741,228 tools. Updated 2026-11-04 02:24

"How to fix SonarQube findings" matching MCP tools:

  • Run a CanaryUsers UX scan on a DEPLOYED URL (your live or preview app — not source code). A flock of AI personas evaluates the page and reports where real users would get stuck, with concrete fixes. Returns AI-ready findings you can act on immediately. Use depth='deep' for the thorough scan that renders the page, checks it VISUALLY on desktop + mobile (catches mobile breakage and layout issues), and clicks through key flows like signup/checkout (slower, ~60-90s, uses one credit); depth='quick' (default) is a fast static check that does NOT see mobile or visual issues — use 'deep' when the user mentions mobile, layout, or visual problems. IMPORTANT: if this returns status 'running' with a scanId, the findings are not ready yet — wait ~30s, then call get_report_markdown(scanId), repeating until it returns the report. Always fetch and present the findings before stopping, then offer to fix the top issues.
    ConnectorNo auth
  • Check whether AI assistants (ChatGPT, Claude, Perplexity, Google AI) can reach, read, and cite a web page. Runs the full suite: robots.txt rules per AI crawler, a live firewall test that requests the page as GPTBot, JavaScript dependency, llms.txt, headings, structured data, and author identity. Returns a score out of 100 with a grade, a score per category, and a finding per check with why it matters and how to fix it. Use this for a whole-page verdict; use check_robots_txt_for_ai when the question is only about crawler access. Returns { ok, report: { score, grade, scoredOutOf, categories[], findings[] with why and fix, detection }, cached, ageSeconds }. Limit: 10 runs per hour per IP. Allow up to 75s for a response. Free, no account, no API key. Pass `url` to start a run. A slow run answers with `{ status: "pending", runId }` instead of a result: call this same tool again with just that `runId` to collect it, as many times as it takes. Collecting costs no rate-limit slot.
    ConnectorNo auth
  • Returns the plain-language meaning and step-by-step fix for one Malinois finding. Use it while helping the user fix an issue reported by scan_app, or when they ask what a finding means. Pass the rule_id exactly as scan_app returned it. Read-only, no network, instant.
    ConnectorNo auth
  • Apply a post-hoc triage verdict to a finding that was previously recorded via record_finding. Used by the /reply-to-code-review flow to persist whether a finding is TRUE / FALSE / UNCERTAIN and the FIX / DEFER / IGNORE action taken. The finding is located only by the exact `finding_id` returned by list_pr_findings, on ANY lifecycle status (open, fixed, or dismissed — so verdicts still apply after a PR is merged and findings were swept to dismissed). Only findings recorded into the data layer (the aictrl-dev MCP path) can receive a verdict. Idempotent: re-applying overwrites the prior verdict. A not_found response is an application error; call list_pr_findings to refresh stale IDs and do not treat the write as successful. `judged_at_sha` is required: send the full 40-hex commit SHA of the code you actually read. A SHA that is neither the review SHA nor a later commit of the same PR is rejected with validation_error. `reasoning` is required too (#5364): a verdict whose reasoning cannot be audited later is not worth storing. Each write appends to the finding's judgment history; a re-judge from the same run at the same commit updates that run's own row rather than appending a duplicate. A FALSE verdict on an OPEN finding of severity MINOR or NIT (medium/low/info) also dismisses it as a false positive, with your `reason` as the note; on MAJOR or BLOCKER (high/critical) it stays a suggestion a person confirms. The result reports `autoDismissed` (and `autoDismissReason` when false). A dismissal is not reopened by this tool; a person can restore the finding from the pull-request page.
    Connector
    Destructive
    API key
  • Decode a database error and get the fix and the next step — no connection needed. Paste a MySQL error number (1213, 1062, 1452, 1205…) or a PostgreSQL SQLSTATE (40P01, 23505, 53300…), optionally with the failing statement, and get the proximate cause, the concrete fix, and — when it helps — the SIXTA tool and artifact to go deeper (e.g. a deadlock → paste SHOW ENGINE INNODB STATUS for sixta_explain_deadlock). Use when the user pastes a DB error code or message. Input is analyzed in memory and never stored.
    ConnectorOAuth
  • Turn a flagged anti-pattern into the safe, equivalent rewrite — no connection needed. Paste a SQL query and get ready-to-run rewrites anchored to deterministic rules: `= NULL` → `IS NULL`, `NOT IN (subquery)` → `NOT EXISTS` (NULL-safe), deep OFFSET → keyset pagination, `ORDER BY RAND()` → a keyed random sample — each with its semantics caveat spelled out. Every literal rewrite is then re-analyzed in-process and reported as 'clean' or 'still flags X', so the safe rewrite is self-checked — no need to feed it back through sixta_analyze_query. Use when the user asks 'how do I fix / rewrite this query' or after sixta_analyze_query flags a smell. Input is analyzed in memory and never stored.
    ConnectorOAuth

Matching MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    A read-only MCP server that provides AI assistants with structured access to SonarQube projects, issues, metrics, and rules. It enables safe analysis of code quality and security findings through a set of validated, safety-first tools.
    6
    -

Matching MCP Connectors

  • Run the enforced Axint Apple build loop outside the Xcode UI. Use: use for the complete proof loop; use swift.validate, cloud.check, or fix-packet when only one stage is needed. Inputs: integration=minimal enforces local advisory no-fix behavior; background returns a job id; outputDir controls artifacts. Effects: starts child processes, writes .axint/run artifacts, may run xcodebuild/tests, and may call Cloud Check.
    ConnectorNo auth
  • Use when: adding a small edge case, version note, or extra context that does not change the core fix. Returns: the published addendum when agent_usage_count >= 1. On unused solutions (usage 0), auto-applies the text as a notes edit so the contribution is not lost. Do not use when: the core solution is wrong (use suggest_edit), the problem is genuinely distinct and solved (use submit_solution), or you are stuck without a fix (use submit_open_issue). Safety: there is no preview gate — redact PII, secrets, and proprietary context before posting.
    ConnectorNo auth
  • Rewrite a prompt to score higher on the PQS rubric, AND show before/after output comparisons so the user can see the impact. Returns the optimized prompt, the original PQS score, the optimized PQS score, and side-by-side sample outputs from a frontier model using both versions. USE WHEN: - The user got a low score from score_prompt and asks how to improve. - The user explicitly asks to "improve" / "rewrite" / "fix" / "optimize" a prompt they pasted. - The user is dissatisfied with output quality from a previous prompt and asks how to get better results. - score_prompt returned a suggestion to invoke this tool. DO NOT USE WHEN: - The user just asked for a score (use score_prompt only — don't double up). - The user wants you to write a new prompt from scratch (write it directly). REQUIRES: A PQS API key from a Pro subscription ($19.99/month, 1,000 calls/mo, includes batch + A/B comparison). If the user has not provided one, the tool returns a clear subscription URL — pass that response to the user verbatim. Do not invent or guess API keys. There is no free trial of this tool; the user must subscribe before the first call. COST: Counted against your Pro subscription's monthly call quota. LATENCY: ~6-8 seconds.
    ConnectorNo auth
  • Rewrite a prompt to score higher on the PQS rubric, AND show before/after output comparisons so the user can see the impact. Returns the optimized prompt, the original PQS score, the optimized PQS score, and side-by-side sample outputs from a frontier model using both versions. USE WHEN: - The user got a low score from score_prompt and asks how to improve. - The user explicitly asks to "improve" / "rewrite" / "fix" / "optimize" a prompt they pasted. - The user is dissatisfied with output quality from a previous prompt and asks how to get better results. - score_prompt returned a suggestion to invoke this tool. DO NOT USE WHEN: - The user just asked for a score (use score_prompt only — don't double up). - The user wants you to write a new prompt from scratch (write it directly). REQUIRES: A PQS API key from a Pro subscription ($19.99/month, 1,000 calls/mo, includes batch + A/B comparison). If the user has not provided one, the tool returns a clear subscription URL — pass that response to the user verbatim. Do not invent or guess API keys. There is no free trial of this tool; the user must subscribe before the first call. COST: Counted against your Pro subscription's monthly call quota. LATENCY: ~6-8 seconds.
    ConnectorNo auth
  • Schema-validate an airpipe YAML config. Send { "yaml": <the full YAML string> }. Returns { valid: true } when it passes, or { valid: false, error: <message> } when it fails — feed the error back into your fix and call again until valid. Schema check only; does not save. Use create_config to persist a valid config.
    ConnectorNo auth
  • Schema-validate an airpipe YAML config. Send { "yaml": <the full YAML string> }. Returns { valid: true } when it passes, or { valid: false, error: <message> } when it fails — feed the error back into your fix and call again until valid. Schema check only; does not save. Use create_config to persist a valid config.
    ConnectorNo auth
  • Everything validation does, plus deterministic fixes: the corrected source comes back in fixed_code, and the original is kept whenever the fix cannot be proven safe. The code is still never run. Use it when validation failed and you want the fix rather than the diagnosis. Alternatives: validate_python when the diagnosis is enough; execute_python when the fix has to be proven to run. Auth: a key is required. This call needs a paid key and answers HTTP 402 without one. Credits are bought without an account, 3 per call: GET /v1/pricing says where to send the xDAI. Or pay for this one call with no key at all: call it without one and the result carries x402 payment requirements ($0.03 in USD Coin on eip155:8453); sign them and repeat the call with the payment in _meta['x402/payment']. Arguments: code: the whole file, 1..200000 bytes of UTF-8 measured after encoding (empty is refused with 400, larger with 413); a fragment is fine, but line and column numbers in the answer count from 1 in what you sent. language: must be 'python'; anything else is 400, and the field may be omitted. options.max_iterations (1..10, default 3) caps the fix/verify rounds: raise it for a file with several independent faults, leave it for a snippet. options.optimize (default false) additionally folds constants and drops dead code, and is only worth setting when you asked for a rewrite anyway. options.transpile_to (e.g. 'javascript') returns a translation of the *repaired* source in transpiled, not of what you sent. fixed_code is null when nothing could be proven safe to change, so treat null as 'no fix', not as an error. options.timeout_s, options.examples and options.expected_output do nothing here: nothing is run, so there is no clock, no stdout, and no way to check an example. Returns valid, score 0..1, diagnostics (rule, message, line, column), security findings, fixes, fixed_code and runtime; see outputSchema. The code and its verdict are retained to improve the service.
    ConnectorNo auth
  • Forecast future periods with a linear trend and honest fit quality. PREMIUM (license). For quick planning, not statistical modeling. Typical input {"values": [100, 120, 138, 161], "periods_ahead": 3} returns {"trend_per_period": 20.2, "r_squared": 0.998, "forecast": [180.9, 201.1, 221.3], "caveat": "..."}. Use when a series is roughly linear and fit quality matters as much as the projection. Not for seasonal or cyclical data, and not for measuring growth already observed (growth_rates). Errors: on invalid, missing, or malformed input this tool never raises a protocol error; it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "need at least 4 historical values"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
    ConnectorNo auth
  • Compute the gross price to charge so you net a target after fees. FREE. 'Charge X to receive Y' after percentage + fixed processor fees. Typical input {"net_target": 100, "pct_fee": 2.9, "fixed_fee": 0.30} returns {"charge": 103.4, "fee": 3.4, "net": 100.0}. The inverse of processor_fees - solves for gross from a target net. Use when the payout is the fixed requirement. Not when the price is already set. Errors: on invalid, missing, or malformed input this tool never raises a protocol error; it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "net_target > 0 and pct_fee < 100 required"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
    ConnectorNo auth
  • Compute a prorated charge or refund for a partial billing period. PREMIUM (license). Typical input {"amount_per_period": 90, "days_used": 10, "days_in_period": 30} returns {"days_used": 10, "days_in_period": 30, "prorated_charge": 30.0, "prorated_refund": 60.0, "answer": 30.0}. Use when a plan starts, ends, or changes mid-period. Not for splitting a full amount into scheduled payments (installment_plan). Errors: on invalid, missing, or malformed input this tool never raises a protocol error; it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "need amount > 0 and 0 <= days_used <= days_in_period"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
    ConnectorNo auth
  • Split a total into an installment schedule with optional deposit. PREMIUM (license). Rounding remainders land on the final payment so the schedule always sums exactly. Typical input {"total": 1000, "installments": 3, "deposit_pct": 10} returns {"deposit": 100.0, "payments": [300.0, 300.0, 300.0], "check_sum": 1000.0}. Use when one total is paid across scheduled dates. Not for partial-period adjustments (proration). Errors: on invalid, missing, or malformed input this tool never raises a protocol error; it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "total > 0 and 1-36 installments"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
    ConnectorNo auth
  • Compute when a ticket's SLA falls due, wall-clock or business-hours. PREMIUM (license). Typical input {"opened_at": "2026-03-02T15:30", "sla_hours": 8, "business_hours_only": true} returns {"due": "2026-03-03T15:30", "mode": "business hours 09:00-17:00"}; with business_hours_only false the mode is "wall-clock". Use when a response or resolution clock has started and one due moment is needed. Not for multi-step project schedules (deadline_planner). Errors: on invalid, missing, or malformed input this tool never raises a protocol error; it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "opened_at must be ISO YYYY-MM-DDTHH:MM"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
    ConnectorNo auth
  • Get or redeem a premium skill or multi-fix bundle after choosing with list_skills. Call with the id alone to receive the free outline, dollar price, signed Base Pay USDC and exact-ETH offers, and one pay-and-redeem action. After payment, call once more with the matching paymentTx and private paymentOffer for the complete SKILL.md or assembled bundle decision tree, fix bodies, verification commands, update guidance, and sources. Do not use this for individual fixes; call get_fix instead. Never pay again merely because an existing proof is pending or denied.
    ConnectorNo auth
  • Fetch a live website and report how legible it is to search engines and AI assistants: structured data (JSON-LD), llms.txt, robots.txt, title and meta description, headings, image alt text, HTTPS and document weight. Returns findings with severity and a 0-100 score. Use this to check a real site before recommending changes to it. Makes one outbound request to the URL given, so it only sees what a fetch can establish — never rendering or browser metrics. Refuses private, loopback and link-local addresses, and reports a page as unreachable rather than scoring the error body.
    ConnectorNo auth
  • Compute when a ticket's SLA falls due, wall-clock or business-hours. PREMIUM (license). Typical input {"opened_at": "2026-03-02T15:30", "sla_hours": 8, "business_hours_only": true} returns {"due": "2026-03-03T15:30", "mode": "business hours 09:00-17:00"}; with business_hours_only false the mode is "wall-clock". Use when a response or resolution clock has started and one due moment is needed. Not for multi-step project schedules (deadline_planner). Errors: on invalid, missing, or malformed input this tool never raises a protocol error; it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "opened_at must be ISO YYYY-MM-DDTHH:MM"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
    ConnectorNo auth