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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_chronoshell-0.1.3.tar.gz.
File metadata
- Download URL: mcp_chronoshell-0.1.3.tar.gz
- Upload date:
- Size: 159.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f11de42cb0bfe57917dfbfa1aa00ebda02d36a03702195aea704d7eb61129a2
|
|
| MD5 |
2612726b2d5f01758d6510ff509e4b64
|
|
| BLAKE2b-256 |
c8d1f626fb5f36a1bbc3f86dfb64010d2a0d9dc6afea5edb0274024a7186071c
|
Provenance
The following attestation bundles were made for mcp_chronoshell-0.1.3.tar.gz:
Publisher:
publish.yml on ANSHUMANSINGH987/mcp-chronoshell
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_chronoshell-0.1.3.tar.gz -
Subject digest:
9f11de42cb0bfe57917dfbfa1aa00ebda02d36a03702195aea704d7eb61129a2 - Sigstore transparency entry: 2588348033
- Sigstore integration time:
-
Permalink:
ANSHUMANSINGH987/mcp-chronoshell@03c0fb6f11c56b235cf7408d2397482961ad56e5 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/ANSHUMANSINGH987
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@03c0fb6f11c56b235cf7408d2397482961ad56e5 -
Trigger Event:
release
-
Statement type:
File details
Details for the file mcp_chronoshell-0.1.3-py3-none-any.whl.
File metadata
- Download URL: mcp_chronoshell-0.1.3-py3-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4831a3b5fca3a069c772cab597915e819ed71b4c09585ab9891bdcb47738c8f
|
|
| MD5 |
d1936e19baec5c9c8e36cd0e6522dca3
|
|
| BLAKE2b-256 |
474fbb96852ef700113488c420889986c88d3ef8955c3aafd61aa9b81ecca9f2
|
Provenance
The following attestation bundles were made for mcp_chronoshell-0.1.3-py3-none-any.whl:
Publisher:
publish.yml on ANSHUMANSINGH987/mcp-chronoshell
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_chronoshell-0.1.3-py3-none-any.whl -
Subject digest:
b4831a3b5fca3a069c772cab597915e819ed71b4c09585ab9891bdcb47738c8f - Sigstore transparency entry: 2588349126
- Sigstore integration time:
-
Permalink:
ANSHUMANSINGH987/mcp-chronoshell@03c0fb6f11c56b235cf7408d2397482961ad56e5 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/ANSHUMANSINGH987
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@03c0fb6f11c56b235cf7408d2397482961ad56e5 -
Trigger Event:
release
-
Statement type: