Python SDK for Undisk MCP — undo-first versioned file storage for AI agents
Project description
undisk-mcp
[!TIP] Home: https://mcp.undisk.app Issues: https://github.com/kiarashplusplus/undisk-mcp-tracker/issues
Python SDK for Undisk MCP — undo-first versioned file storage for AI agents.
Install
pip install undisk-mcp
Quick Start
import asyncio
from undisk_mcp import UndiskClient
async def main():
async with UndiskClient(api_key="your-api-key") as client:
await client.initialize()
# Write a file
await client.write_file("hello.txt", "Hello from Python!")
# Read it back
result = await client.read_file("hello.txt")
print(result.text)
# List all files
files = await client.list_files()
print(files.text)
asyncio.run(main())
Features
- Typed client with convenience methods for common MCP tools
- Session management (automatic
Mcp-Session-Idtracking) - Retry with exponential backoff (configurable)
- Async-first design using
httpx - Context manager support (
async with)
API Reference
UndiskClient
client = UndiskClient(
api_key="your-key",
endpoint="https://mcp.undisk.app", # default
max_retries=3, # default
timeout=60.0, # default
)
Methods
| Method | Description |
|---|---|
initialize() |
Initialize MCP session |
call_tool(name, args) |
Call any MCP tool by name |
read_file(path) |
Read a file |
write_file(path, content) |
Write a file |
create_file(path, content) |
Create a new file (fails if exists) |
list_files(path) |
List files |
delete_file(path) |
Delete a file |
move_file(from_path, to_path) |
Move or rename a file |
search_files(pattern) |
Search file contents |
list_versions(path) |
Get version history |
restore_version(path, version_id) |
Restore a version |
get_diff(path, from_version, to_version) |
Compare two versions |
append_log(path, content) |
Append to a log file |
close() |
Close the client |
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
undisk_mcp-0.49.0.tar.gz
(14.0 kB
view details)
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 undisk_mcp-0.49.0.tar.gz.
File metadata
- Download URL: undisk_mcp-0.49.0.tar.gz
- Upload date:
- Size: 14.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f3eee1f38b6d82cf05f526f731cefd1efce9458aaa0007b37a0f12f46fa47c0
|
|
| MD5 |
27f05e473ea7c165587fe17c340846f5
|
|
| BLAKE2b-256 |
af948e2f12e52b29a61b604b2bc41cb1ee55014ae11de90154ca71a66413667f
|
File details
Details for the file undisk_mcp-0.49.0-py3-none-any.whl.
File metadata
- Download URL: undisk_mcp-0.49.0-py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5dd73fa3fba726cc5a80bb0ab183c91406c415ed37e07d8f821d9d65b46c9727
|
|
| MD5 |
3e79d77b9d32b66208ea5431f720a86c
|
|
| BLAKE2b-256 |
0b0bb5111220195e3faee53667f91155391364b2d1acff4ad7699591e4972e8f
|