icarus-derive

Crates.ioicarus-derive
lib.rsicarus-derive
version0.6.0
created_at2025-09-01 14:42:20.838927+00
updated_at2025-09-13 17:31:50.970282+00
descriptionProcedural macros for the Icarus SDK - enables automatic MCP tool metadata generation
homepagehttps://github.com/galenoshea/icarus-sdk
repositoryhttps://github.com/galenoshea/icarus-sdk
max_upload_size
id1819748
size110,356
Galen O'Shea (galenoshea)

documentation

https://docs.rs/icarus

README

icarus-derive

Procedural macros for the Icarus SDK that enable automatic MCP tool metadata generation.

This crate provides:

  • #[icarus_module] - Generates tool metadata and exports for your canister
  • #[icarus_tool] - Marks functions as MCP tools with automatic metadata
  • #[derive(IcarusStorable)] - Enables types for stable storage

Usage

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

[dependencies]
icarus = "0.1"

Then use the macros in your code:

use icarus::prelude::*;

#[icarus_module]
mod tools {
    #[update]
    #[icarus_tool("Store a memory")]
    pub fn memorize(content: String) -> Result<String, String> {
        // Your implementation
    }
}

License

Apache 2.0

Commit count: 163

cargo fmt