Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Recently observed → Unavailable
Live → Recently observed
Changed the definition of "analyze"
⟨105 unchanged words⟩ 20 seconds, 10 requests per minute per IP,onsharedeachacross serverinstance.instances. No .hefesto.yaml is read. Files are deleted after ⟨14 unchanged words⟩
Changed the definition of "analyze" and "pricing"
⟨38 unchanged words⟩ in analysis. ok false carries error and message.TheOn success the content text isunchangedtheeithersummary,way.the analyzer JSON, and one PRO price line. On failure the content text is the error sentence only.","properties":{"analysis":{"additionalProperties": ⟨125 unchanged words⟩
Changed the definition of "analyze", "compare", "install" and 1 more
before
—after
Analyze code⟨8 unchanged words⟩ free tier) on the files you send to the hosted analyzer and returns its findings: rule id, severity, ⟨10 unchanged words⟩ " adds the full SARIF 2.1.0 log). Provide files, or a single code snippet plus language. Covers Python, COBOL, the DevOps/IaC formats hefesto ⟨40 unchanged words⟩ per file, 256 KB in total, 20seconds.seconds, 10 requests per minute per IP on each server instance. No .hefesto.yaml is read. Files are deleted after the run; nothing is stored. For a whole repository, run `hefesto analyze .` locally.
Changed the definition of "analyze"
ReturnsRunsinstructionsthetoopen-sourceinstallhefesto-aiHefestoAIengine (`hefesto analyze --no-config`, free tier) on the files you send andrunreturns`hefestoitsanalyze`findings:locally.ruleThis
Changed the definition of "analyze"
AnalyzeReturnsainstructions to install HefestoAI and run `hefesto analyze` locally. This hosted endpoint does not analyze code:snippetanyforcodequalityorissueslanguage you pass is ignored andsemanticnothingdriftis executed or stored.
Certificate recorded, valid to 2026-11-26
Authorization not required
First tool surface recorded: 4 tools (server version 4.13.1)
Showing the latest 10 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨18 unchanged words⟩ "Checkout URL.","type":"string"},"founding_member":{"description":"Founding-member price note.","type":"string"},"free":{"description":"Free tier, $0/month.","type":"string"},"omega":{"description":"OMEGAtier,: $19/month.","type":"string"},"pro":{"description":"PROtier, $8/month.","type":"string"},"trial":{"description":"Trialterms.$8/month.","type":"string"}},"required":["free","pro","omega","trial","founding_member","checkout"],"type":"object"}
{"additionalProperties":false,"description":"Provide files, or code (language optional, default python). severity and format are optional.","properties":{"code":{"description":"A single snippet, used only when files isnot givenomitted (written as e.g. snippet.py for language python). At most 100 KB.","type":"string"},"files":{"description":"Files to analyze. Used instead of code when present. path: relative POSIX,pathat(most 200 characters and 8 levels; each segment is letters, digits,'_'\"_\",'.',\".\"'-';or \"-\" and must not start with \"-\"; no'..'\"..\", no absolute paths);, no \".git\" or \".hefesto.yaml\". content: UTF-8text.text, no NUL bytes, at most 100 KB.","items":{"additionalProperties":false,"properties":{"content":{"description":"UTF-8 source text. At most 100 KB. No NUL bytes.","type":"string"},"path":{"description":"Relative POSIX path.","maxLength":200,"type":"string"}}," ⟨27 unchanged words⟩ ,"language":{"description":"Language of code:pythonwhen(default),files is omitted. Default python. Ignored when files is set. An unknown language is rejected; send files instead.","enum":["python","py","cobol","yaml","yml","dockerfile","docker","terraform","hcl","shell","bash","sh","sql","javascript","js","typescript","ts","java","go","rust",csharp."csharp","c#"],"type":"string"},"severity":{"description" ⟨11 unchanged words⟩ ","CRITICAL"],"type":"string"}},"required":[],"type":"object"}
before
—after
{"additionalProperties":false,"allOf":[{"if":{"properties":{"ok":{"const":true}},"required":["ok"],"type":"object"},"then":{"required":["ok","analysis"]}},{"if":{"properties":{"ok":{"const":false}},"required":["ok"],"type":"object"},"then":{"required":["ok","error","message"]}}],"description":"ok true carries the hosted analyzer body in analysis. ok false carries error and message. The content text is unchanged either way.","properties":{"analysis":{"additionalProperties":true,"description":"Analyzer JSON. The content text is a one-line summary plus this object.","properties":{"analyzed":{"description":"true on this branch.","type":"boolean"},"engine":{"additionalProperties":true,"type":"object"},"findings":{"items":{"additionalProperties":true,"type":"object"},"type":"array"},"stored":{"description":"false. Nothing is stored.","type":"boolean"},"summary":{"additionalProperties":true,"properties":{"critical":{"type":"number"},"files_analyzed":{"type":"number"},"files_received":{"type":"number"},"high":{"type":"number"},"low":{"type":"number"},"medium":{"type":"number"},"total_issues":{"type":"number"}},"type":"object"}},"required":["analyzed","summary","findings","stored"],"type":"object"},"error":{"description":"Failure code when ok is false. invalid_json when the analyzer body was not JSON.","type":"string"},"message":{"description":"Same string as content[0].text when ok is false.","type":"string"},"ok":{"description":"true when the engine returned analyzed: true.","type":"boolean"}},"required":["ok"],"type":"object"}before
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Analyze code"}before
—after
Compare toolsCompareReturn a short static comparison of HefestoAI withotherone named tool. No live lookup and no codequalityistoolsinspected. Known values: sonarqube (the default when tool is omitted), snyk, github-advanced-security, semgrep, claude-code-security. Any other value is answered as sonarqube.
{"additionalProperties":false,"properties":{"tool":{"description":"Tool to compare with:(sonarqube (default), snyk, github-advanced-security, semgrep,claude-code-security)or claude-code-security.","type":"string"}},"type":"object"}
before
—after
{"additionalProperties":false,"description":"Static comparison. tool is the known value actually answered (unknown names are sonarqube). text is the content text.","properties":{"text":{"description":"Comparison paragraph. Same string as content[0].text.","type":"string"},"tool":{"description":"sonarqube, snyk, github-advanced-security, semgrep, or claude-code-security.","type":"string"}},"required":["tool","text"],"type":"object"}before
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Compare tools"}before
—after
InstallGetReturninstallationinstallinstructionscommands forHefestoAIthe open-source package (pip install hefesto-ai, Python 3.10+). Does not install anything on the caller's machine. No parameters.
{"properties":{},"requiredadditionalProperties":[]false,"type":"object"}
before
—after
{"additionalProperties":false,"description":"Install commands for the open-source package. Does not install anything. The content text is the same prose as before.","properties":{"command":{"description":"pip install command.","type":"string"},"requires":{"description":"Python version required.","type":"string"},"steps":{"description":"Quickstart steps, in order.","items":{"type":"string"},"type":"array"}},"required":["command","requires","steps"],"type":"object"}before
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Install"}before
—after
PricingGetReturn current HefestoAIpricingpricesinformation(Free $0, PRO $8/month, OMEGA $19/month, 14-day trial). Static text. Does not look up or change a subscription. No parameters.
{"properties":{},"requiredadditionalProperties":[]false,"type":"object"}
before
—after
{"additionalProperties":false,"description":"Current HefestoAI prices. Static. The content text is this object as JSON.","properties":{"checkout":{"description":"Checkout URL.","type":"string"},"founding_member":{"description":"Founding-member price note.","type":"string"},"free":{"description":"Free tier, $0/month.","type":"string"},"omega":{"description":"OMEGA tier, $19/month.","type":"string"},"pro":{"description":"PRO tier, $8/month.","type":"string"},"trial":{"description":"Trial terms.","type":"string"}},"required":["free","pro","omega","trial","founding_member","checkout"],"type":"object"}before
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Pricing"}{"properties":{"code":{"description":"Ignored.AAcceptedsingleforsnippet,backwardusedcompatibility;whenrunfileshefestoisanalyzenotlocallygiven (written as e.g. snippet.py for language python).","type":"string"},"files":{"description":"Files toanalyzeanalyze.code.path: relative POSIX path (letters, digits, '_', '.', '-'; no '..', no absolute paths); content: UTF-8 text.","items":{"properties":{"content":{"type":"string"},"path":{"maxLength":200,"type":"string"}},"required":["path","content"],"type":"object"},"maxItems":20,"type":"array"},"format":{"description":"json (default): findings only; sarif: also the full SARIF 2.1.0 log.","enum":["json","sarif"],"type":"string"},"language":{"description":"Ignored.LanguageAcceptedofforcode:backwardpythoncompatibility.(default), cobol, yaml, dockerfile, terraform, shell, sql, javascript, typescript, java, go, rust, csharp.","type":"string"},"severity":{"description":"Minimum severity to report (default LOW).","enum":["LOW","MEDIUM","HIGH","CRITICAL"],"type":"string"}},"required":[ ⟨2 unchanged words⟩
{"properties":{"code":{"description":"CodeIgnored.snippetAccepted for backward compatibility; run hefesto analyze locally to analyze code.","type":"string"},"language":{"description":"ProgrammingIgnored.languageAccepted(python,forjavascript,backwardetc)compatibility.","type":"string"}},"required":["code"],"type":"object"}