Moth
Moth es un servidor MCP ligero para el análisis de corrección de errores local al proyecto y la memoria de correcciones verificadas.
Qué hace Moth
Moth recibe la salida de errores a través de MCP, redacta posibles secretos, normaliza el fallo, detecta la pila probable, comprueba la memoria de correcciones local del proyecto y devuelve un resumen de corrección estructurado.
Moth no edita código, no ejecuta comandos de shell, no rastrea repositorios, no requiere un backend ni mantiene una base de datos global de errores.
Related MCP server: looplens-mcp
¿Por qué Moth?
El contexto de corrección de errores suele ser local a un proyecto: el comando que falló, el framework en uso, la configuración cercana y las correcciones que ya han funcionado o fallado en ese repositorio.
Moth mantiene ese flujo de trabajo pequeño y explícito. Analiza el contexto de error proporcionado, sugiere una mejor primera corrección y registra solo los resultados de corrección verificados en la memoria local del proyecto.
Inicio rápido
Requiere Node.js 18+.
Ejecutar directamente:
npx -y @stfade/moth moth-mcpO instalar globalmente:
npm install -g @stfade/moth
moth-mcpConfiguración genérica de MCP
{
"mcpServers": {
"moth": {
"command": "npx",
"args": ["-y", "@stfade/moth", "moth-mcp"]
}
}
}Ejemplo de uso
Al usar Moth con un agente de IA compatible, puedes incluir un prompt simple como este junto con tu error:
"Usa Moth para analizar este error antes de corregirlo."
Clientes compatibles
Cliente | Estado | Configuración |
Codex | Listo para plugin local | |
Claude Code | Listo para plugin local | |
Cursor | Estructura de plugin | |
Gemini CLI | Estructura de extensión | |
Gemini Antigravity | Listo para configuración MCP | |
OpenCode | Listo para configuración MCP | |
Generic MCP | Listo para configuración |
“Listo para plugin local” significa que el envoltorio de integración está incluido y puede probarse localmente. La presentación y aprobación en el Marketplace aún no están incluidas.
Herramientas
Moth expone exactamente dos herramientas MCP.
analyze_error
Analiza la salida de error proporcionada antes de intentar una corrección.
Campos de entrada:
error_outputcommand?cwd?package_context?relevant_files?environment?
Campos de salida:
analysis_idfingerprintstacklikely_causebest_first_fixverificationprior_project_fixesavoidconfidence
remember_fix_result
Registra la memoria de corrección verificada local al proyecto.
Campos de entrada:
analysis_idfingerprintstackfix_attemptedverification_commandverification_result: "passed" | "failed"notes?
La entrada pública worked es rechazada. worked se deriva de verification_result.
Ciclo de vida de la memoria verificada
analyze_error
→ apply/attempt fix
→ run verification command
→ remember_fix_resultLlama a remember_fix_result solo cuando:
se intentó realmente una corrección/cambio
el comando de verificación se ejecutó realmente
el resultado es claramente
passedofailed
No lo llames para sugerencias, cambios omitidos, falta de verificación, resultados ambiguos o suposiciones.
Memoria local
La memoria de corrección verificada local al proyecto se almacena en:
.moth/fix-memory.jsonlMoth mantiene un pequeño registro de análisis propiedad de Moth fuera del proyecto para que remember_fix_result pueda asignar analysis_id de nuevo a la ruta correcta del proyecto después de un reinicio del servidor MCP.
Habilidades
Moth incluye habilidades concisas para agentes compatibles:
moth-debug-first-fixmoth-source-backed-researchmoth-verify-fix
El servidor MCP en sí no realiza investigación web en vivo. Los agentes compatibles pueden usar sus propias herramientas de búsqueda, guiados por las habilidades de Moth, cuando se necesiten fuentes externas.
Seguridad
solo lectura por defecto
sin ediciones de código fuente
sin ejecución de shell
sin escaneo de todo el repositorio
sin observador en segundo plano
no requiere servicio externo
redacta posibles secretos antes del análisis, las respuestas y las escrituras en memoria
Desarrollo
pnpm install
pnpm test
pnpm build
pnpm dev
npm pack --dry-runLicencia
MIT
Available Tools
2 toolsanalyze_errorAnalyze ErrorC
Analyze provided error output and return a deterministic project-local fix brief.
| Name | Required | Description | Default |
|---|---|---|---|
| error_output | Yes | ||
| command | No | ||
| cwd | No | ||
| package_context | No | ||
| relevant_files | No | ||
| environment | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| analysis_id | Yes | |
| fingerprint | Yes | |
| stack | Yes | |
| likely_cause | Yes | |
| best_first_fix | Yes | |
| verification | Yes | |
| prior_project_fixes | Yes | |
| avoid | Yes | |
| confidence | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the output is 'deterministic' and 'project-local'. It does not disclose if the tool modifies state (e.g., reads files, changes anything), required permissions, or potential side effects, leaving agents to infer behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core purpose. However, it sacrifices critical parameter and usage details, which is a minor structural flaw given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having a rich input schema and output schema, the description omits explanation of parameter roles, return format, and usage context. For a complex analysis tool, this is incomplete, though the output schema may partially mitigate return value clarity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 6 parameters with 0% description coverage, yet the description adds no parameter information beyond mentioning 'error output' in the purpose. The other parameters (command, cwd, relevant_files, etc.) remain unexplained, forcing agents to guess their semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool analyzes error output and returns a deterministic project-local fix brief. It uses a specific verb ('analyze') and resource ('error output'), and the mention of 'fix brief' distinguishes it from the sibling tool 'remember_fix_result' which likely stores results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the sibling 'remember_fix_result' or other alternatives. The description implicitly suggests using it when an error occurs, but does not specify prerequisites or exclude scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remember_fix_resultRemember Fix ResultA
Record verified project-local fix memory only after a fix/change was actually attempted, the verification command was actually run, and the result is clearly passed or failed.
| Name | Required | Description | Default |
|---|---|---|---|
| analysis_id | Yes | ||
| fingerprint | Yes | ||
| stack | Yes | ||
| fix_attempted | Yes | ||
| verification_command | Yes | ||
| verification_result | Yes | ||
| notes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| recorded | Yes | |
| memory_path | Yes | |
| timestamp | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool records memory only under specified conditions. However, it lacks details about side effects, authorization needs, or what happens if conditions are unmet. No annotations exist to supplement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the verb and resource, and includes necessary conditional clauses. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 required parameters and no annotations, the description is insufficient. It does not explain what 'fix memory' is, how to obtain analysis_id/fingerprint/stack, or what the output schema contains. An agent would struggle to use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 7 parameters with 0% description coverage. The description does not explain any parameters, forcing agents to infer meaning from names alone. This is a significant gap given the tool's complexity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to record a verified fix result after a fix attempt and verification. It specifies the exact conditions (fix attempted, verification run, result passed/failed) and distinguishes from analyze_error.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use: only after a fix is attempted and verification run with a clear result. It does not explicitly state when not to use or mention alternatives, but the conditions are well-defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.1.0- First observed
analyze_error - First observed
remember_fix_result
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: analyze_error generates a fix brief from error output, while remember_fix_result records the outcome of a fix attempt. There is no overlap or ambiguity.
Both tool names follow a consistent verb_noun pattern in snake_case: analyze_error and remember_fix_result. The naming is clear and predictable.
With only 2 tools, the server feels under-scoped for a typical error analysis workflow. While it may be intentionally minimal, a more comprehensive set would include tools for retrieving fix history or clearing memory.
The tool set lacks retrieval capabilities (e.g., listing or searching past fix results) and memory management (e.g., clearing or updating records). These are notable gaps that could hinder agent workflows.
Maintenance
Related MCP Connectors
Shared debugging memory for AI coding agents
Agent Replay Debugger MCP — record every agent step + deterministic replay. Step-debugger for
Structured failure knowledge for AI agents — dead ends, workarounds, error chains
GodPrompt MCP + Agent Skill for coding agents with TDD, debugging, verification, and task routing.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceShared debugging memory for AI coding agents. Agents search, report, patch, and verify bug fixes through 5 MCP tools. Verified by proof, not upvotes.1-
- AlicenseBqualityDmaintenanceAn MCP server for detecting retry loops and analyzing iteration patterns in agentic coding workflows, providing structured debugging intelligence to improve repair attempts.164MIT
- AlicenseNot gradedqualityDmaintenanceA deterministic AST evidence engine that forces AI agents to debug using verified execution facts instead of pattern-matching symptoms, enabling hallucination-free debugging for MCP-compatible agents.8 npmBusiness Source 1.1
- AlicenseNot gradedqualityDmaintenanceAn MCP server that gives coding agents a persistent, chained memory of debugging investigations, tracking what's been tried, ruled out, and solved across sessions and scopes.28 npmMIT