mcp-chronoshell is a Model Context Protocol (MCP) server that grants AI agents the ability to execute terminal commands with a built-in "Undo Button." By utilizing hyper-fast, state-reverting snapshots, agents can safely write code, manipulate files, and run scripts without the risk of permanently breaking your local workspace.
🧠 How It Works: The Snapshot Architecture
When an agent is connected to Chronoshell, it gains access to a safe execution loop. The server exposes three primary tools to the LLM:
- 📸
run_safe_command(The Executor): Before executing a shell command, the server takes a millisecond-fast snapshot of the current working directory, ignoring heavy directories (e.g.,node_modules,.venv,.git). - ⏪
revert_workspace(The Undo Button): If the command exits with an error or causes unintended side effects, the agent can call this tool to instantly roll the directory back to its exact previous state. - 🗑️
commit_workspace(The Garbage Collector): If the command succeeds and the agent validates the output, it calls this tool to clear the snapshot cache and save disk space.
✨ Core Optimizations & Safety
- Zero-Latency Backups: Uses hardcoded blocklists and OS-level I/O optimizations to take snapshots in milliseconds, preventing the LLM from timing out.
- Concurrent Multi-Agent Safety: Injects cryptographic UUIDs into snapshot IDs, guaranteeing race-condition safety when multiple agents invoke commands simultaneously.
- Smart Symlink Evasion: Dynamically sniffs out and bypasses Windows Junctions and Reparse points to prevent infinite-loop crashes.
- Actionable Error Routing: Captures OS-level permission denials and
STDERRoutputs, routing them directly back into the LLM's context window so it can learn and adapt.
🚀 Installation
You can run mcp-chronoshell instantly via uv (recommended) or install it globally using pip:
# Using uv (Recommended)
uvx mcp-chronoshell
# Using pip
pip install mcp-chronoshell
🔌 Connecting to AI Clients
1. Google Antigravity (Workspace Local)
To give a specific Antigravity project access to the safety net, create a .agents/mcp_config.json file in the root of your project:
{
"mcpServers": {
"chronoshell": {
"command": "uvx",
"args": ["mcp-chronoshell"]
}
}
}
2. Claude Desktop (Global)
Add the server to your Claude Desktop configuration file:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - Mac:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"chronoshell": {
"command": "uvx",
"args": ["mcp-chronoshell"]
}
}
}
3. Custom LangChain / Python Agents
Chronoshell is fully compatible with langchain-mcp-adapters. Simply initialize the StdioServerParameters pointing to the uvx command to bind the tools to your custom ReAct or LangGraph agents.
🤝 Contributing
Contributions are welcome! If you have ideas for new features, performance optimizations, or find a bug, please open an issue or submit a pull request.
📄 License
This project is licensed under the MIT License.
Metadata
Release files for mcp-chronoshell 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| mcp_chronoshell-0.1.3.tar.gz | 159.1 kB | With provenance | Details for mcp_chronoshell-0.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mcp_chronoshell-0.1.3-py3-none-any.whl | Python 3 | none | any | Details for mcp_chronoshell-0.1.3-py3-none-any.whl |
Total release size: 165.6 kB
Release files / mcp_chronoshell-0.1.3.tar.gz
| Download URL | mcp_chronoshell-0.1.3.tar.gz |
|---|---|
| Size | 159.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9f11de42cb0bfe57917dfbfa1aa00ebda02d36a03702195aea704d7eb61129a2
|
|
BLAKE2b-256 checksum How to use checksums |
c8d1f626fb5f36a1bbc3f86dfb64010d2a0d9dc6afea5edb0274024a7186071c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.
Transparency logRelease files / mcp_chronoshell-0.1.3-py3-none-any.whl
| Download URL | mcp_chronoshell-0.1.3-py3-none-any.whl |
|---|---|
| Size | 6.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b4831a3b5fca3a069c772cab597915e819ed71b4c09585ab9891bdcb47738c8f
|
|
BLAKE2b-256 checksum How to use checksums |
474fbb96852ef700113488c420889986c88d3ef8955c3aafd61aa9b81ecca9f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.
Transparency logSecurity for mcp-chronoshell 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for mcp_chronoshell-0.1.3.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.