Skip to main content
Glama
Claude Error Collector

Claude Error Collector

by henningziech

Claude Error Collector

An MCP server for Claude Code that learns from your corrections. When you tell Claude "that was wrong" or "no, do it like this", it records the lesson as a rule in your CLAUDE.md - so the same mistake doesn't happen twice.

How It Works

  1. You correct Claude during a coding session

  2. Claude recognizes the correction and calls the record_error tool

  3. The server derives a rule and writes it to the appropriate CLAUDE.md

  4. Claude reads that rule in future sessions and avoids repeating the mistake

The server automatically detects whether you're in a project directory (writes to project CLAUDE.md) or your home directory (writes to ~/.claude/CLAUDE.md).

Related MCP server: claude-memory-mcp

Tools

record_error

Records a correction and saves it as a learned rule with metadata (date, category).

Parameter

Type

Required

Description

error_description

string

yes

What was wrong

correction

string

yes

What is correct

rule

string

yes

Derived guideline, e.g. "ALWAYS use X instead of Y"

category

string

no

Rule category (e.g. "n8n", "bash", "google-workspace"). Auto-detected if omitted.

project_dir

string

no

Current working directory (for finding project CLAUDE.md)

list_errors

Lists all learned rules from the relevant CLAUDE.md. Supports filtering and grouping.

Parameter

Type

Required

Description

category

string

no

Filter rules by category

grouped

boolean

no

Group rules by category with headings

project_dir

string

no

Current working directory

delete_rule

Deletes a learned rule by index or substring match.

Parameter

Type

Required

Description

index

number

no*

1-based index of the rule to delete

match

string

no*

Substring to match (must match exactly one rule)

project_dir

string

no

Current working directory

*Exactly one of index or match must be provided.

update_rule

Updates an existing rule's text, date, and optionally category.

Parameter

Type

Required

Description

index

number

no*

1-based index of the rule to update

match

string

no*

Substring to match (must match exactly one rule)

new_rule

string

yes

The new rule text

category

string

no

New category (keeps existing if omitted)

project_dir

string

no

Current working directory

*Exactly one of index or match must be provided.

review_rules

Reviews all rules with their age for lifecycle management.

Parameter

Type

Required

Description

older_than_days

number

no

Threshold in days to consider "old" (default: 30)

project_dir

string

no

Current working directory

Output Format

Rules are stored in a ## Learned Rules section in your CLAUDE.md with metadata as HTML comments:

## Learned Rules

- Legacy rule without metadata (still supported)

### N8n

- Bei n8n IMMER nodeId verwenden <!-- @date:2026-02-15 @category:n8n -->

### Bash

- NEVER embed large JSON inline in Bash commands <!-- @date:2026-02-20 @category:bash -->

Metadata fields:

  • @date:YYYY-MM-DD — when the rule was created/updated

  • @category:name — rule category for grouping

Rules without metadata (legacy format) remain fully supported and appear at the top of the section without a category heading.

Installation

git clone https://github.com/henningziech/claude-error-collector-mcp.git
cd claude-error-collector-mcp
npm install && npm run build
claude mcp add error-collector -s user -- node "$PWD/dist/index.js"

Restart Claude Code after installation. No manual CLAUDE.md editing needed — the server provides its own instructions to Claude via MCP server metadata.

CLAUDE.md Resolution

The server finds the right CLAUDE.md using this logic:

  1. If project_dir is provided: walk up the directory tree looking for CLAUDE.md

  2. If found and not in the home directory: use it (project-level rules)

  3. Fallback: ~/.claude/CLAUDE.md (global rules)

Duplicate Detection

Duplicate detection works on two levels:

  1. Server-side: Before writing a rule, the server checks existing rules using case-insensitive substring matching. If the new rule is already covered by an existing one (or vice versa), it skips the write.

  2. Semantic (via instructions): The server instructs Claude to review existing learned rules for semantic equivalence before calling record_error — even if the wording differs. Claude will:

    • Skip silently if the rule clearly already exists

    • Record it if the rule is clearly new

    • Ask the user if a similar rule exists but it's not 100% clear whether it's a duplicate, offering options to add alongside, consolidate, or skip

License

MIT

Available Tools

2 tools
list_errorsC

List all learned rules from the CLAUDE.md file.

Inputs: project_dir.

record_errorA

Record a correction from the user and save it as a learned rule in CLAUDE.md. Call this whenever the user corrects you.

Inputs: error_description (required), correction (required), rule (required), project_dir.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 2 tools

    Disambiguation5/5

    The two tools have completely distinct purposes: list_errors retrieves existing rules, while record_error adds new rules. There is no overlap in functionality, making it impossible to confuse them.

    Naming Consistency5/5

    Both tools follow a consistent verb_noun pattern (list_errors, record_error) with clear action-object naming. The style is uniform throughout the set.

    Tool Count2/5

    With only 2 tools, the server feels thin for error collection and learning. While it covers basic listing and recording, typical error management systems would benefit from additional operations like updating rules, deleting outdated ones, or searching/filtering errors.

    Completeness3/5

    The tools provide minimal CRUD coverage: create (record_error) and read (list_errors) are present, but update and delete operations are missing. This creates a dead-end where rules cannot be modified or removed once recorded, limiting practical utility.

    Maintenance

    ActivityNo data
    ResponsivenessSyncing

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      A
      maintenance
      An MCP server that gives Claude persistent, locally-stored memory with verification-gated lessons and a Pattern Oracle to prevent unverified guesses from becoming ingrained facts.
      13
      73 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Persistent memory MCP server for Claude Code that captures and recalls project context across sessions, eliminating the need to re-explain architecture and decisions daily.
      98 npm
      1
      MIT