#canister #mcp #stable-memory #internet-computer

icarus-canister

ICP canister integration with stable memory for persistent MCP servers

18 releases (4 breaking)

0.6.0 Sep 13, 2025
0.5.8 Sep 9, 2025
0.4.0 Sep 6, 2025
0.3.4 Sep 6, 2025
0.1.0 Sep 1, 2025

#77 in #internet-computer

37 downloads per month
Used in icarus

Custom license

135KB
3K SLoC

ICP canister integration for Icarus MCP servers

This crate provides the canister implementation details for running MCP servers on the Internet Computer.


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

Dependencies

~8–21MB
~241K SLoC