A WebAssembly-based MCP plugin that provides time operations and utilities.
This plugin provides various time-related operations including getting the current UTC time, parsing time strings, and calculating time offsets. It's designed to be used with the hyper-mcp server.
Original source: https://github.com/dylibso/mcp.run-servlets/tree/main/servlets/time
- Get Current UTC Time: Retrieve the current time in UTC timezone
- Parse Time: Convert RFC2822 formatted time strings to timestamps
- Time Offset: Add or subtract time offsets from timestamps
- Git-based Versioning: Built with git-version for traceable builds
Returns the current time in UTC timezone.
Parameters: None
Returns:
utc_time: Unix timestamp (seconds since epoch)utc_time_rfc2822: RFC2822 formatted timestamp
Parses a time string in RFC2822 format and converts it to a timestamp.
Parameters:
time_rfc2822(string): Time in RFC2822 format (e.g., "Mon, 23 Jan 2024 15:30:00 +0000")
Returns:
utc_time: Unix timestamputc_time_rfc2822: RFC2822 formatted timestamp
Adds a time offset to a given timestamp.
Parameters:
timestamp(integer): Unix timestamp in secondsoffset(integer): Offset in seconds (positive or negative)
Returns:
utc_time: New timestamp after applying offsetutc_time_rfc2822: RFC2822 formatted timestamp
Use the plugin through the hyper-mcp server:
{
"name": "time",
"arguments": {
"name": "get_time_utc"
}
}{
"name": "time",
"arguments": {
"name": "parse_time",
"time_rfc2822": "Mon, 23 Jan 2024 15:30:00 +0000"
}
}{
"name": "time",
"arguments": {
"name": "time_offset",
"timestamp": 1706023800,
"offset": 3600
}
}The plugin is available as a container image:
docker pull ghcr.io/[owner]/time-plugin:latestFor production use, pin to a specific version using the immutable digest (see release notes).
- Install Rust and the wasm32-wasip1 target:
rustup target add wasm32-wasip1- Build the plugin:
cargo build --release --target wasm32-wasip1The compiled .wasm file will be in target/wasm32-wasip1/release/plugin.wasm.
This plugin uses git-based versioning via the git-version crate. The version information is embedded in the plugin description and can be viewed when the plugin is loaded.
Version format:
- Release builds:
v1.0.0(when built from a git tag) - Development builds:
v1.0.0-N-gHASH(where N is commits since tag, HASH is commit) - Modified builds:
v1.0.0-N-gHASH-modified(when built with uncommitted changes) - Fallback:
0.1.0(from Cargo.toml if git info unavailable)
All container images are:
- Multi-architecture ready (though WASM is platform-independent)
- Signed with Cosign for security
- Available with both version tags and immutable digests
See the releases page for verification instructions.
cargo build --target wasm32-wasip1docker build -t time-plugin .Note: The Dockerfile includes the .git directory to enable git-version during builds.
cargo test- All container images are signed with Sigstore Cosign
- Verification instructions are provided in each release
- Use immutable digests for production deployments
Apache-2.0
Contributions are welcome! Please ensure:
- Code builds successfully for
wasm32-wasip1target - Git commits follow conventional commit format
- Version information is preserved (don't modify git-version setup)