Enforces architectural invariants and code quality rules inside your AI agent's edit loop.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Map a natural-language symptom (e.g. 'my app is slow', 'hardcoded password', 'infinite react loop') to the relevant Code Auditor rule(s) and their fixes. Call this when a user describes a problem rather than naming a rule.
A plain-language description of the problem.
Map a natural-language symptom (e.g. 'my app is slow', 'hardcoded password', 'infinite react loop') to the relevant Code Auditor rule(s) and their fixes. Call this when a user describes a problem rather than naming a rule.
| Argument | Type | Description |
|---|---|---|
| symptom* | string | A plain-language description of the problem. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"symptom"
],
"properties": {
"symptom": {
"type": "string",
"description": "A plain-language description of the problem."
}
}
}Return the exact install commands for Code Auditor for a given AI agent. Call this when a user asks how to install Code Auditor, or asks for the command for a specific agent (claude, cursor, codex, gemini, agents, zcode, or all).
| Argument | Type | Description |
|---|---|---|
| agent* | string | The AI agent to install for (e.g. claude, cursor, codex, all). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"agent"
],
"properties": {
"agent": {
"type": "string",
"description": "The AI agent to install for (e.g. claude, cursor, codex, all)."
}
}
}Return the rule kind, description, default severity, detection method, and threshold for a given Code Auditor rule or analyzer. Call this when a user asks what a specific rule does (e.g. import-ban, sql-injection, n+1).
| Argument | Type | Description |
|---|---|---|
| rule_id* | string | Rule or analyzer id, e.g. import-ban, sql-injection, n+1. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"rule_id"
],
"properties": {
"rule_id": {
"type": "string",
"description": "Rule or analyzer id, e.g. import-ban, sql-injection, n+1."
}
}
}Request a new Code Auditor rule. Call lookup_rule or explain_symptom first to confirm no existing rule covers it. Provide a minimal example that should be flagged and a corrected example that should not. Reduce both to the smallest code that shows the difference, and remove secrets and proprietary identifiers. Returns a receipt id.
| Argument | Type | Description |
|---|---|---|
| title* | string | |
| signal* | string | |
| symptom* | string | |
| languages* | array | |
| toolVersion | string | |
| cleanExample* | array | |
| firingExample* | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title",
"symptom",
"signal",
"languages",
"firingExample",
"cleanExample"
],
"properties": {
"title": {
"type": "string",
"maxLength": 120,
"minLength": 10
},
"signal": {
"type": "string",
"maxLength": 2000,
"minLength": 40
},
"symptom": {
"type": "string",
"maxLength": 2000,
"minLength": 40
},
"languages": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"maxItems": 8,
"minItems": 1
},
"toolVersion": {
"type": "string"
},
"cleanExample": {
"type": "array",
"items": {
"type": "object",
"required": [
"path",
"content"
],
"properties": {
"path": {
"type": "string",
"minLength": 1
},
"content": {
"type": "string",
"minLength": 1
}
}
},
"maxItems": 6,
"minItems": 1
},
"firingExample": {
"type": "array",
"items": {
"type": "object",
"required": [
"path",
"content"
],
"properties": {
"path": {
"type": "string",
"minLength": 1
},
"content": {
"type": "string",
"minLength": 1
}
}
},
"maxItems": 6,
"minItems": 1
}
}
}