checkpointer
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@checkpointerundo my last edit to config.json"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
checkpointer
MCP server for file checkpointing and undo. Built with the Python MCP SDK v2 (mcp[cli] 2.0.0b1), implementing the 2025-07-28 MCP spec.
Lets an AI agent safely read, write, and edit files within a project directory while maintaining a full snapshot history. Changes can be reverted per-file or globally without requiring git or any external VCS.
How it works
All file state is tracked in a .checkpointer/ directory at the project root. Before any mutating tool runs, the current file content is hashed, compressed, and stored as a snapshot. A master ledger (master.json) records the per-file undo stack and a global edit history.
This adds minimal token overhead — snapshots are stored on disk, not in context.
Related MCP server: claude-vigil-mcp
Tools
Tool | Description |
| Read a file with line numbers. Smart-truncates large files (head+tail). Supports |
| List directory contents, optionally recursive to a given depth. |
| Overwrite or create a file. Snapshots before writing. |
| Replace a line range. Returns surrounding context with line numbers. |
| Content-based find-and-replace. |
| Revert a specific file to its state before the last mutation. |
| Revert whichever file was last mutated. |
| Discard all AI changes for a specific file. |
| Revert all AI changes across the project and delete history. |
| Unified diff of a file against its original state. |
Setup
Requires Python 3.10+.
uv syncSet PROJECT_DIR to the root of the project you want to checkpoint:
PROJECT_DIR=/path/to/project uv run main.pyConfiguration
After cloning the repo, add to your Claude Code MCP config:
{
"mcpServers": {
"checkpointer": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/this/repo/",
"server.py"
],
"env": {
"PROJECT_DIR": "/path/to/target/project/"
}
}
}
}Available Tools
10 toolsedit_file_linesOverwrite a specific chunk in a file.ADestructive
To replace a specific chunk in a file from start_line inclusive to end_line inclusive with content(one based indexing for lines), after it's snapshot has been taken.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | ||
| end_line | Yes | ||
| filepath | Yes | ||
| start_line | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already show destructiveHint=true; description adds snapshot requirement, one-based indexing, and chunk replacement semantics. Could clarify error handling for out-of-bounds lines.
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?
Single sentence front-loading purpose, but slightly run-on. Efficient yet could be split for clarity.
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?
Describes core functionality and snapshot requirement, but misses output schema mention, error cases, and file path context. Output schema exists but not referenced.
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?
With 0% schema description coverage, the description adds meaning for start_line, end_line (inclusive, one-based), and content, but filepath is not elaborated. Partial compensation.
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?
Clearly states verb 'replace a specific chunk' and resource 'file', with indexing detail. Distinguishes from siblings like str_replace and write_file. However, phrasing is slightly awkward.
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?
Implies prerequisite ('after its snapshot has been taken') but no explicit when-to-use or when-not-to-use compared to siblings like str_replace or revert_file.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_session_diffB
Get a diff of what exactly was modified in a file from its orignal state.
| Name | Required | Description | Default |
|---|---|---|---|
| filepath | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description solely states it returns a diff but lacks details on format, prerequisites (e.g., file must be modified), or side effects. Insufficient for a mutation-adjacent tool.
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?
Single sentence with no fluff, but lacks structured presentation like parameter bullet points. Efficient yet not optimal for agent parsing.
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 low complexity and existence of output schema, description is minimally adequate but leaves ambiguity about 'original state' (e.g., session start vs commit). Gaps remain.
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?
Schema description coverage is 0% and description adds no meaning to the filepath parameter (e.g., path requirements, allowed extensions). Fails to compensate for missing schema descriptions.
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?
Description clearly states verb 'get', resource 'diff', and scope 'from its original state', distinguishing it from sibling tools like revert_file or read_file. Specific and unambiguous.
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 alternatives such as revert_file or undo_file_edit. Context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_directoryGet the structure of a directory.ARead-only
To read the structure inside a directory, either surface level or recursively. Results will be truncated if they exceed 500.
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | ||
| recursively | No | ||
| directory_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds that results are truncated at 500 entries, which is important behavioral context beyond annotations. It also mentions recursive vs. surface level, but does not detail the depth parameter's effect.
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?
Two sentences, front-loaded with purpose, no redundant information. Each sentence adds value: first states action and options, second notes a critical limitation.
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's simplicity and existence of an output schema, the description covers the main use case and a limitation (truncation). It does not explicitly mention default behavior or the depth parameter, but the output schema supplements return value details. Overall adequate for a simple read-only tool.
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?
Schema description coverage is 0%, so the description must compensate. It mentions 'surface level or recursively' which maps to the boolean parameter, but does not explain the depth parameter (default 2) or the directory_path string. Partial semantic value, but insufficient for full coverage.
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 'read the structure inside a directory' which identifies the verb and resource. It specifies 'surface level or recursively', covering both modes. It is distinct from sibling tools which are all file editing/undo/diff operations.
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 implies the tool is for reading directory structure, which is clear given sibling tools are editing-oriented. However, it does not explicitly state when to use this vs. alternatives, nor provide prerequisites or exclusions. The context makes it clear but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_fileRead a file inside the project directory.ARead-only
To read the contents of a file with line numbers. Returns numbered lines. For large files, output is truncated to head+tail unless a specific range is given via start_line/end_line (1-based, inclusive).
| Name | Required | Description | Default |
|---|---|---|---|
| end_line | No | ||
| filepath | Yes | ||
| start_line | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark as read-only and non-destructive. The description adds value by explaining truncation and range parameters (start_line/end_line), which are not inferable from annotations.
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?
Two sentences, no filler. Purpose is front-loaded, each sentence adds essential information. Highly concise.
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 simple read operation and existence of output schema, the description covers truncation and range usage completely. No gaps for typical usage.
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?
No parameter descriptions in schema (0% coverage). Description explains start_line/end_line as 1-based inclusive, and filepath is implied. Compensates partially but not fully for missing schema docs.
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 verb 'read' and resource 'file with line numbers' are clearly stated. It distinguishes from siblings like write_file and edit_file_lines by specifying the read-only nature and line numbering.
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?
Describes when to use (reading file contents with line numbers) and mentions truncation behavior for large files. Lacks explicit alternatives or when-not conditions, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reset_sessionWipe all AI changes across the directory.DDestructive
Wipe all AI changes across the directory
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond what is already indicated by the destructiveHint annotation. It fails to disclose what 'AI changes' entails, the scope of the wipe, or any effects beyond the annotation.
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 that exactly repeats the title, adding no value. It is under-specified rather than concise.
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 an output schema, the description lacks critical context about the reset's scope, irreversibility, or side effects. It fails to adequately describe the tool's behavior beyond a vague phrase.
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?
No parameters exist, so the input schema fully covers the interface. The description does not need to add parameter 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 is identical to the title, constituting a tautology. It does not provide any additional specificity about the tool's purpose beyond restating its name, nor does it distinguish it from sibling tools like undo_global.
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 is provided on when to use this tool versus alternatives (e.g., undo_global, revert_file). Agents receive no information about precedents, prerequisites, or appropriate usage contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
revert_fileUndo all LLM changes for this specific file.BDestructive
Discard all AI changes for this specific file.
| Name | Required | Description | Default |
|---|---|---|---|
| filepath | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description confirms the destructive nature, consistent with the destructiveHint annotation. However, it does not elaborate on side effects (e.g., reversibility, impact on file state) beyond the annotation.
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 that is clear and to the point. It avoids redundancy but could benefit from slightly more detail without sacrificing conciseness.
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 presence of an output schema and annotations, the description covers the basic function. However, it lacks information on success/failure behavior and the exact scope of 'all AI changes', leaving room for ambiguity.
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 single parameter 'filepath' is not elaborated in the description or schema. With 0% schema description coverage, the description should compensate but only implicitly references 'this specific file', adding little meaning.
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 action ('discard') and the resource ('all AI changes for this specific file'). It distinguishes from siblings like 'undo_file_edit' by targeting all AI changes at once, but could be more precise about scope.
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 alternatives like undo_file_edit or undo_global. The description does not specify prerequisites or exclusions, leaving the agent to infer usage without clear direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
str_replaceReplace matching text in a file.ADestructive
Replace an exact occurrence of old_str with new_str in a file. old_str must appear exactly once in the file. No line numbers needed — matches on content.
| Name | Required | Description | Default |
|---|---|---|---|
| new_str | Yes | ||
| old_str | Yes | ||
| filepath | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructive behavior. The description adds the constraint that old_str must appear exactly once, which is critical behavioral context beyond the annotations. However, it does not disclose error handling or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no wasted words. It front-loads the action and then provides constraints concisely.
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?
The tool is simple with 3 required parameters and an output schema. The description covers the main behavior but omits details on error conditions (e.g., if old_str not found or appears multiple times). Still adequate for a straightforward tool.
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?
With 0% schema coverage, the description carries the burden. It explains the roles of old_str and new_str but lacks detail on expected formats, encoding, or behavior if constraints are violated. It provides minimal but sufficient meaning.
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 action (replace), the resource (file), and constraints (exact occurrence, once). It distinguishes from siblings like write_file and edit_file_lines by specifying content-based matching without line numbers.
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 the tool (replace a unique string) but does not explicitly state when not to use it or mention alternatives beyond implicit differentiation from sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
undo_file_editUndo changes in a file.ADestructive
Revert file before the most recent mutating tool was called on it. This will be recorded in the master ledger as an undo operation.
| Name | Required | Description | Default |
|---|---|---|---|
| filepath | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate destructiveHint=true and readOnlyHint=false. The description adds context that it is an undo operation recorded in the master ledger, which does not contradict annotations and provides additional behavioral insight.
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?
Two sentences, front-loaded with key action and scope. No superfluous 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?
For a simple tool with one parameter and an output schema, the description is mostly complete. It could mention edge cases (e.g., no prior mutating tool), but overall adequate.
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 sole parameter 'filepath' has no schema description (0% coverage). The tool description does not explain the parameter beyond its name, so it adds no additional meaning.
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 action (revert file) and the specific resource (file before the most recent mutating tool). It distinguishes from siblings like 'revert_file' and 'undo_global' by specifying the undo scope.
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 explicitly states when to use (after a mutating tool on a file). It does not specify when not to use or name alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
undo_globalUndo changes in the last file edited or reverted.ADestructive
Revert the last file edited before the most recent mutating tool was called on it(undo_file_edit is also mutating)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true. The description adds context about scope (last file edited before most recent mutating tool) and clarifies undo_file_edit is mutating. However, lacks details on what revert entails (e.g., state restoration) and any limitations.
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?
Description is one sentence, concise and front-loaded. However, the phrasing is slightly awkward ('on it(undo_file_edit is also mutating)'), slightly reducing clarity.
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?
Core behavior is described, but edge cases (e.g., no previous mutation, behavior after multiple mutations) are missing. Output schema may cover return values, but the description lacks completeness for usage.
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?
No parameters exist, so no parameter semantics are needed. The description correctly implies no arguments. With 100% schema coverage for 0 params, baseline 4 is appropriate.
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 that the tool reverts the last file edited before the most recent mutating tool, distinguishing it from siblings like undo_file_edit which is also mutating. The verb 'Revert' and resource 'last file edited' are specific.
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 explicit guidance on when to use this tool versus alternatives like undo_file_edit or revert_file. Only a hint that undo_file_edit is mutating, but no comparison or recommendation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_fileOverwrite a entire file.CDestructive
To completely overwrite a file, after it's snapshot has been taken. (or to create a new file)
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | ||
| filepath | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint=true and readOnlyHint=false. The description adds the snapshot dependency, which is important behavioral context beyond annotations. However, it is poorly expressed and does not address other aspects like permission requirements.
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 very short and front-loaded with the action, but the inclusion of the awkward snapshot clause makes it less clear. It is concise but at the cost of completeness.
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 two required parameters, no schema descriptions, and sibling tools that do similar things, the description is severely lacking. It does not cover parameters, usage guidelines, or clarify the snapshot dependency adequately.
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?
Schema description coverage is 0%, so the description must compensate. It fails to describe either parameter (filepath, content), leaving agents without context for these required inputs.
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 overwrites a file completely or creates a new one, distinguishing it from partial edits like str_replace. The phrase 'after it's snapshot has been taken' is confusing but does not obscure the main purpose.
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 explicit guidance on when to use this tool over siblings like edit_file_lines or str_replace. The precondition about snapshots is mentioned but not elaborated, and no alternatives are listed.
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. Dates show when Glama detected each change.
10 tool updates
v0.1.0- First observed
edit_file_lines - First observed
get_session_diff - First observed
list_directory - First observed
read_file - First observed
reset_session - First observed
revert_file - First observed
str_replace - First observed
undo_file_edit - First observed
undo_global - First observed
write_file
TDQS
Most tools have distinct purposes, but undo_file_edit and undo_global could be confused due to similar names and descriptions. edit_file_lines and str_replace both replace content, though their methods differ. Overall, the overlap is minor.
Tool names follow a verb_noun snake_case pattern (e.g., edit_file_lines, list_directory, write_file). However, 'str_replace' deviates from the pattern (no underscore after verb), and 'undo_file_edit' is slightly awkward. Overall consistent.
10 tools is appropriate for the scope of file editing and version control. Each tool has a clear role without being excessive or insufficient.
The tool set covers reading, writing, editing (two methods), listing, diff, undo, revert, and session reset. Missing features like manual snapshot saving or session listing are minor gaps given the automatic snapshotting implied.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for building and testing AI agents with multi-model experimentation and insights.
Persistent file storage for AI agents via MCP and curl. Upload, download, and version files.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Cloud-hosted MCP server for durable AI memory
Related MCP Servers
- FlicenseNot gradedqualityAmaintenanceMCP server that intercepts and controls AI agent actions in your codebase by enforcing policies on file operations and commands, with logging, approval workflows, and rollback capabilities.-
- AlicenseAqualityDmaintenanceAn MCP server for creating named checkpoints and snapshots of projects, with selective file restore, content diffs, and artifact preservation, enabling safe recovery from external file changes in Claude Code.5157MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that provides on-demand safety for AI coding workflows, enabling inspection, review, checkpointing, and rollback of risky actions.211MIT
- AlicenseNot gradedqualityBmaintenanceA filesystem MCP server that journals every file operation (write, delete, move, mkdir) and outbound commands (exec, http) into an append-only ledger, enabling undo and compensation of actions.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/IronKommander/checkpointer'
If you have feedback or need assistance with the MCP directory API, please join our Discord server