Skip to main content
Glama
mrfentmen

git-reflog-archaeologist-mcp

by mrfentmen

git-reflog-archaeologist-mcp

Git Reflog Archaeologist is a local MCP for the moment after an accidental reset, deleted branch, or abandoned experiment. It looks at Git metadata that can help answer whether recovery may still be possible.

Tools

  • reflog_signals: aggregate reflog count, age buckets, and loose or packed object counts

  • recovery_signals: aggregate unreachable object counts by type

  • stash_signals: aggregate stash count and age buckets

The outputs include coarse recovery hints such as recent-history-may-be-recoverable or unreachable-commits-found. They do not return commit hashes, subjects, ref names, file paths, remote names, author data, or file contents.

Related MCP server: Repo Therapist

Safety

  • Local Git commands only. No network access is used.

  • The selected repository must stay inside GIT_ARCHAEOLOGY_ROOT.

  • Git output is line and count bounded.

  • The server never runs mutating commands such as reset, reflog expire, prune, or garbage collection.

  • This is a recovery signal tool, not a guarantee that an object can be restored.

Run

npm install
npm run build
node dist/index.js

The server uses stdio and works with Claude Desktop, Cursor, VS Code, MCP Inspector, and compatible CLI harnesses.

Available Tools

3 tools
recovery_signalsA

Count unreachable Git object types and recovery hints without returning object IDs, messages, paths, or contents.

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoLocal Git repository path; no network access is used..

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses a key behavioral trait: it does not return object IDs, messages, paths, or contents, implying a read-only counting operation. This adds transparency beyond the schema. However, it does not describe the output format or any potential side effects, though the absence of annotations raises the bar slightly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that is well-structured, front-loaded with the main action, and contains no redundant words or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one optional parameter and no output schema, the description covers the core purpose and the main behavioral constraint. It could be more explicit about what 'recovery hints' includes, but the overall information is sufficient for basic selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully documents the only parameter 'cwd' with a description including that no network access is used. The description adds no additional parameter semantics, but since schema coverage is 100%, the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Count' and identifies the resource as 'unreachable Git object types and recovery hints', and explicitly states what is excluded (object IDs, messages, paths, contents), which distinguishes it from sibling tools like reflog_signals and stash_signals.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when summary counts of unreachable objects are needed, but it does not explicitly state when to use this tool over alternatives or provide exclusions. No reference to sibling tools is made, though the 'without returning...' clause hints at use cases where detailed data is not required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reflog_signalsA

Summarize local reflog activity by count and age bucket without returning ref names, hashes, subjects, paths, or remotes.

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoLocal Git repository path; no network access is used..

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It discloses the local-only scope and that no network access is used (via the cwd parameter description), and explicitly states what data is omitted from the result. This goes beyond a bare restatement, though it does not detail output format or potential side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence: it leads with the verb and resource, then specifies constraints. Every clause adds value, with no filler or duplication of schema information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter, no output schema, and simple summarization behavior, the description provides enough context about scope, input, and output nature (count and age bucket). It does not specify the exact return structure, but the phrase 'by count and age bucket' is sufficiently clear for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter 'cwd', including a meaningful description ('Local Git repository path; no network access is used'). The tool description adds no further parameter-level detail, but the schema already provides the necessary semantics, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Summarize') and resource ('local reflog activity'), which clearly distinguishes it from siblings like recovery_signals and stash_signals. The explicit exclusion list (no ref names, hashes, subjects, paths, remotes) further sharpens the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear context is given: use this when you need a high-level summary of local reflog activity grouped by count and age. It does not explicitly name alternatives or when-not-to-use, but the sibling names imply distinct git data sources (recovery, stash), making the intended scope evident.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stash_signalsA

Summarize local stash age buckets and count without returning stash messages, refs, hashes, or paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoLocal Git repository path; no network access is used..

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that the tool only returns aggregate age buckets and counts, and explicitly states that no stash messages, refs, hashes, or paths are returned. This clarifies the read-only, non-revealing nature, though it does not mention failure modes or edge cases like an empty stash.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that uses no filler words. It efficiently conveys the action, scope, and limitations in a compact format.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional parameter) and the absence of an output schema, the description is complete enough. It tells the agent exactly what will be returned (age buckets and count) and what will not be included, leaving no critical gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter cwd is fully documented in the schema with 'Local Git repository path; no network access is used.' The description itself adds no additional parameter-level meaning beyond what the schema already covers, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Summarize local stash age buckets and count' with a specific verb and resource. It also distinguishes itself by explicitly listing what it does not return (messages, refs, hashes, paths), setting it apart from sibling tools that might provide more detail.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for getting a high-level stash summary, but it does not explicitly state when to use this tool over reflog_signals or recovery_signals. No direct guidance on exclusions or alternative scenarios is provided.

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.

  1. 3 tool updatesv1.0.0
    • First observedrecovery_signals
    • First observedreflog_signals
    • First observedstash_signals

TDQS

A4.3/5.0

Scored across 3 tools

Disambiguation5/5

Each tool targets a distinct Git data source: reflog, unreachable objects, and stash. The descriptions clearly separate their inputs and outputs, leaving no ambiguity about which tool to choose for a given task.

Naming Consistency5/5

All tool names follow the exact same pattern of '<domain>_signals', creating a predictable and uniform naming scheme. This consistency makes it easy to infer the purpose of any tool in the set.

Tool Count5/5

With only three tools, the server is tightly scoped to its 'archaeologist' purpose. Each tool covers a different aspect of Git history recovery, and none feel redundant or extraneous.

Completeness4/5

The server covers the main recovery-related signals: reflog activity, unreachable objects, and stash state. While other signals like branch or tag history could be added, the core recovery workflow is well represented and no critical gaps are apparent.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A specialized MCP server for in-depth analysis of git repositories, offering tools for branch overview, time period analysis, file changes, and merge recommendations.
    4
    7
    Apache 2.0
  • F
    license
    A
    quality
    D
    maintenance
    An MCP server that transforms repositories into queryable knowledge by combining static code analysis with git history tracking. It allows users to investigate codebase structure, identify fragile files based on churn, and receive risk assessments through natural language queries.
    7
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that gives AI assistants deep understanding of your local Git repositories, providing instant repo overviews, change summaries, blame analysis, changelogs, branch health checks, and history search.
    23 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for fast, bounded, read-only Git evidence, enabling AI agents to query commit history, diffs, status, and snapshots by parsing repository storage directly.
    345 npm
    MIT