icarus-canister

Crates.ioicarus-canister
lib.rsicarus-canister
version0.6.0
created_at2025-09-01 14:42:52.101946+00
updated_at2025-09-13 17:32:16.187536+00
descriptionICP canister integration with stable memory for persistent MCP servers
homepagehttps://github.com/galenoshea/icarus-sdk
repositoryhttps://github.com/galenoshea/icarus-sdk
max_upload_size
id1819750
size170,026
Galen O'Shea (galenoshea)

documentation

https://docs.rs/icarus

README

icarus-canister

ICP canister integration with stable memory for persistent MCP servers.

This crate provides:

  • stable_storage! macro for declaring persistent data structures
  • Memory management utilities for ICP stable memory
  • State persistence helpers
  • Integration with IC-CDK for canister development

Features

  • Zero-copy stable memory operations
  • Type-safe stable structures
  • Automatic state persistence
  • Built-in memory management

Usage

This crate is typically used as part of the main icarus SDK:

[dependencies]
icarus = "0.1"

Then use stable storage in your canister:

use icarus::prelude::*;

stable_storage! {
    MEMORIES: StableBTreeMap<String, MemoryEntry, Memory> = memory_id!(0);
}

License

Apache 2.0

Commit count: 163

cargo fmt