{"name":"io.github.b-hash88/knownfix","slug":"b-hash88-knownfix","title":"KnownFix","description":"Verified fixes, professional reviews, and evidence-led apparel over MCP.","url":"https://mcp.market/server/b-hash88-knownfix","rating":null,"grade":"B","score":84,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":36,"stars":1,"forks":0,"downloads_week":102,"last_push_at":"2026-09-05T01:55:07.000Z","license":"MIT"},"uptime":{"percent":100,"checks":6,"ok":6,"last_checked_at":"2026-09-20T22:05:36.070Z","last_ok_at":"2026-09-20T22:05:36.070Z","latency_ms":1212},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/b-hash88/knownfix","website":"https://b-hash88.github.io/knownfix/","version":"0.5.1","remotes":[{"type":"streamable-http","url":"https://knownfix-backend-28.b-hash88.deno.net/mcp"}],"packages":[{"registryType":"npm","identifier":"knownfix","version":"0.3.17","transport":{"type":"stdio"}}],"tools":[{"name":"audit_endpoint","description":"Readiness audit of any agent-facing URL: MCP handshake, CORS, discovery docs (llms.txt, mcp.json), and payment-offer behaviour. First call with url alone for the FREE grade and failing-check list. For the full findings and remediations, call get_offer with productType \"audit\" and productId \"conformance-report\", pay, then call audit_endpoint again with the same url plus paymentTx and paymentOffer. This tool both previews and redeems the paid report; no separate delivery tool is needed.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"paymentTx":{"type":"string","description":"Base Pay UserOperation hash for USDC or Base transaction hash for ETH, for the full paid report"},"paymentOffer":{"type":"string","description":"Signed offer token from get_offer (productType: audit)"},"url":{"type":"string","format":"uri","description":"Base URL to audit, e.g. https://your-agent.example.com"}},"required":["url"]}},{"name":"audit_theme","description":"Run a read-only theme audit on a public HTTP(S) page, free in full. Fetches but never modifies the page, then checks inline style CSS for brace errors, token gaps, incomplete dark themes, missing body backgrounds, and WCAG body-text contrast. External stylesheets are counted but not fetched. Use audit_endpoint instead for MCP, CORS, discovery, and payment readiness.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public HTTP(S) page to fetch and inspect. Direct localhost, .local, loopback, private IPv4, and IPv6-literal targets are rejected. Inline style CSS is analyzed; external stylesheets are not fetched."}},"required":["url"],"additionalProperties":false}},{"name":"check_request","description":"Check a private ticket from request_fix. Returns pending, declined, not-eligible, redeemed, or the full fix free once an eligible new fix is stocked. This call may atomically consume the ticket's one-time delivery, so save the returned body. Use get_fix when you already have a catalog id; do not create another request while this ticket is pending.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticket":{"type":"string","description":"Private req_ ticket returned once by request_fix. Reuse it unchanged and never publish it. A stocked eligible result can be redeemed only once, so save the returned fix body."}},"required":["ticket"],"additionalProperties":false}},{"name":"check_service_order","description":"Check a private service order by its svc_ ticket. With paymentTx and paymentOffer, atomically confirms exactly one matching Base payment and moves the order into review. Without payment fields, returns current status; once complete, it returns the private Markdown report and SHA-256 digest. Keep the ticket and signed offer private.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"ticket":{"type":"string","pattern":"^svc_[0-9a-f]{32}$","description":"Private bearer ticket returned once by order_service."},"paymentTx":{"type":"string","description":"Base Pay UserOperation hash for USDC or mined Base transaction hash for ETH. Omit after payment is confirmed."},"paymentOffer":{"type":"string","maxLength":2048,"description":"Matching private signed offer returned by order_service. Omit after payment is confirmed."}},"required":["ticket"],"additionalProperties":false}},{"name":"check_submission","description":"Check the private submissionId returned by submit_fix. Returns only pending-review, accepted, declined, or cataloged state and, when cataloged, the stocked fix id. It never returns submitted text or contributor details and creates no side effects. Use get_fix with catalogId when cataloged; do not resubmit merely because review is pending.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"submissionId":{"type":"string","format":"uuid","description":"Private UUID returned once by submit_fix. Reuse it unchanged and never publish it; it identifies the review record but cannot retrieve submitted text."}},"required":["submissionId"],"additionalProperties":false}},{"name":"get_fix","description":"Get or redeem a fix after search_fixes or list_catalog identifies the id. Free samples return immediately. For a paid fix, call with the id alone to receive a free diagnosis preview, confidence and compatibility, dollar price, signed Base Pay USDC and exact-ETH offers, and one pay-and-redeem action; then call once more with the matching paymentTx and private paymentOffer. Never pay again merely because an existing proof is pending or denied.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","description":"Fix id from search_fixes or list_catalog"},"paymentTx":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$","description":"Base Pay UserOperation hash for USDC or Base transaction hash for ETH; omit for free samples."},"paymentOffer":{"type":"string","maxLength":2048,"description":"Private signed bearer token from search_fixes or get_offer; omit for free samples and never publish it."}},"required":["id"]}},{"name":"get_offer","description":"Create or refresh a one-hour signed bearer offer for a chosen skill, bundle, audit, or fix. Do not call this after a paid search_fixes result or an unpaid get_fix/get_skill result because those responses already include both payment rails. Choose USDC for Base Pay or ETH for exact wei; with no product arguments, this returns the general settlement document.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"productType":{"type":"string","enum":["fix","skill","audit","service"],"description":"Catalog shelf that owns the product id; bundles use skill."},"productId":{"type":"string","description":"Exact fix, skill, bundle, or audit product id."},"currency":{"type":"string","enum":["USDC","ETH"],"description":"Settlement rail. Defaults to ETH for backward compatibility."}}}},{"name":"get_skill","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","description":"Exact skill or bundle id from list_skills."},"paymentTx":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$","description":"Base Pay UserOperation hash for USDC or Base transaction hash for ETH."},"paymentOffer":{"type":"string","maxLength":2048,"description":"Private signed bearer token from get_offer; never publish it."}},"required":["id"]}},{"name":"list_catalog","description":"Browse every stocked error signature, title, tag, confidence label, and free-sample flag without ranking or creating an offer. Use search_fixes instead when diagnosing a specific error; it returns the best match and any purchase-ready checkout.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"list_merch","description":"Browse the KnownFix Merch Store. Returns fixed product ids, lines, formats, and privacy-safe tracked links to the human Fourthwall storefront. Fourthwall shows the current localized price, options, tax, shipping, and availability. This tool does not place an order or collect checkout data.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"list_services","description":"Compare KnownFix's $49 website first-look report and deeper website, public-codebase, agent-commerce, and release-pipeline reviews. Returns bounded scope, deliverables, delivery time, limitations, sample-report links where available, and exact prices. Call order_service only after choosing a service and confirming authority over the public target.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"list_skills","description":"Compare premium skills and multi-fix bundles. Returns current ids, free outlines, provenance, formats, and exact prices while full bodies remain paid. Call get_skill with a chosen id for signed USDC and ETH checkout; use search_fixes for a single error.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"order_service","description":"Create a private ticket and signed Base USDC/ETH checkout for one published professional service. Accepts public HTTPS websites or public GitHub repositories only. Never include credentials, tokens, secrets, private repository URLs, or confidential data. The returned svc_ ticket is shown once and is the only report-retrieval credential.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"serviceId":{"type":"string","enum":["website-growth-audit","codebase-review","agent-commerce-audit","release-pipeline-review"]},"targetUrl":{"type":"string","format":"uri","maxLength":2048,"description":"Public HTTPS website or exact public GitHub repository URL. Do not include credentials, query parameters, or fragments."},"notes":{"type":"string","maxLength":1500,"description":"Optional review focus. Never include credentials, tokens, secrets, private URLs, or confidential data."},"publishTarget":{"type":"boolean","description":"Optional explicit consent to show the target and status in the public work queue. Defaults to false."},"authorizationConfirmed":{"type":"boolean","description":"Must be true: confirms the target is public and the requester is authorized to commission a passive, non-destructive review."}},"required":["serviceId","targetUrl","authorizationConfirmed"],"additionalProperties":false}},{"name":"report_checkout_blocker","description":"Use only after a signed KnownFix checkout cannot proceed before a payment hash exists. Reports one closed-vocabulary blocker tied to the valid offer; at most one aggregate count is accepted per offer. No wallet address, token, transaction hash, query, or free-form text is published. Do not call after payment; redeem with get_fix, get_skill, or audit_endpoint instead.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"productType":{"type":"string","enum":["fix","skill","audit","service"],"description":"Product shelf encoded in the signed offer."},"productId":{"type":"string","maxLength":120,"description":"Exact product id encoded in the signed offer."},"paymentOffer":{"type":"string","maxLength":2048,"description":"Private signed offer returned by KnownFix. It is verified, never returned, and never published."},"blocker":{"type":"string","enum":["no-compatible-wallet","funding-unavailable","insufficient-balance","base-pay-unavailable","payment-rejected","payment-failed"],"description":"Observed pre-payment stopping point. Use funding-unavailable when no practical funding path exists; insufficient-balance when a compatible wallet exists but lacks the required asset."}},"required":["productType","productId","paymentOffer","blocker"],"additionalProperties":false}},{"name":"request_fix","description":"Ask for a fix this store does not have yet. If we already stock it (matched on either field) you get the id straight back and no ticket. Otherwise you get a ticket; when we stock THAT fix, check_request returns it to you FREE, once. A ticket only ever redeems a fix created after the request: fixes that already existed when you asked are not free, whatever the request said. No contact details are collected. Set publish: true ONLY if the text may appear on a public wanted board — never include secrets, tokens, internal hostnames, or file paths.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"signature":{"type":"string","description":"The exact error text you are stuck on"},"context":{"type":"string","description":"What you already tried, and the tool/runtime versions"},"publish":{"type":"boolean","description":"Allow this text on the public board (default false)"}},"required":["signature"]}},{"name":"search_fixes","description":"Use this first for an exact error or distinctive symptom. Returns up to three confident ranked matches. A free top match includes the full fix. A paid top match includes a free diagnosis, confidence and compatibility, dollar price, signed USDC/Base Pay and exact-ETH rails, and one pay-and-redeem action; do not call get_offer. Use list_catalog to browse, get_fix only with a known id or payment proof, and request_fix only after an honest miss.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Preserve the exact error code and distinctive text; add tool or runtime context needed to disambiguate it. Omit credentials, tokens, private hostnames, and private paths."}},"required":["query"],"additionalProperties":false}},{"name":"submit_fix","description":"Offer a fix for the catalog. Submissions are reviewed by the operator before listing; include a reproduction so the fix can be verified rather than trusted. Returns a private submissionId; save it and call check_submission for pending, accepted, declined, or cataloged status. Submitted text and contributor details are never returned by the status tool. Revenue-sharing for accepted contributions is planned, not yet live.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"title":{"type":"string","description":"Short, specific failure-and-recovery name; do not use a generic category.","maxLength":160},"signature":{"type":"string","description":"Exact error text an agent would search, including the code and distinctive tokens; omit secrets and private paths.","maxLength":2000},"cause":{"type":"string","description":"Root cause supported by the reproduction, without secrets or private paths.","maxLength":4000},"fix":{"type":"string","description":"Concrete remediation steps and commands, sanitized of credentials.","maxLength":8000},"reproduction":{"type":"string","description":"Minimal steps that reproduce the failure, followed by commands or checks proving the remediation works; omit credentials and private infrastructure.","maxLength":8000},"contributor":{"type":"string","description":"Optional private credit/contact string (name, public URL, or wallet). Stored for review; never returned by check_submission.","maxLength":500}},"required":["title","signature","fix"],"additionalProperties":false}}],"scan":{"score":84,"grade":"B","scanned_at":"2026-09-20T20:56:43.805Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T20:56:43.755Z","components":{"code":{"score":25,"max":25,"notes":["3 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1064ms"]},"poisoning":{"score":15,"max":15,"notes":["17 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 5 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 16 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://knownfix-backend-28.b-hash88.deno.net/mcp","reachable":true,"authRequired":false,"latencyMs":1064,"serverInfo":{"name":"knownfix","version":"0.5.1"}}],"packages":[{"registryType":"npm","identifier":"knownfix","version":"0.3.17","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":1,"publishedAt":"2026-08-29T21:30:57.478Z","repositoryUrl":"git+https://github.com/b-hash88/knownfix-cli.git","weeklyDownloads":102}],"repo":{"found":true,"owner":"b-hash88","repo":"knownfix","archived":false,"pushedAt":"2026-09-05T01:55:07Z","stars":1,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/316456368?v=4","ownerCreatedAt":"2026-08-13T06:04:58Z"},"icon":{"url":"https://b-hash88.github.io/knownfix/knownfix-icon.png","source":"registry","width":1254,"height":1254},"presence":{"stars":1,"forks":0,"downloadsWeek":102,"license":"MIT","lastPushAt":"2026-09-05T01:55:07.000Z","score":36}}}},"grade_history":[],"reviews":[]}