Skip to content

Conversation

@peteski22
Copy link
Contributor

Implements a complete Rust SDK for building mcpd plugins, following the same patterns established in the Go, Python, and .NET SDKs while adhering to Rust idioms and best practices.

- Trait-based plugin architecture
- Support for request/response flows
- Static binary builds with musl
- Examples: simple, auth, rate-limit
- CI/CD with GitHub Actions
- justfile for task automation
- Comprehensive documentation
- Remove redundant single-component path imports of tracing_subscriber
  from all example files
- Update Makefile lint target to use --all-targets --all-features
  to match CI configuration and justfile

This ensures make lint catches the same issues as CI clippy checks.
Update Minimum Supported Rust Version from 1.75.0 to 1.83.0 due to
dependency requirements (icu_collections v2.1.1 requires rustc 1.83+).

Updated in:
- Cargo.toml: rust-version field
- README.md: version badge and policy section
- CONTRIBUTING.md: prerequisites section
- .github/workflows/test.yaml: CI test matrix
Updated documentation examples to use the correct r#continue raw
identifier syntax instead of continue_ for the HttpResponse field.
This matches the protobuf-generated code where continue is a Rust
reserved keyword.

Fixed in src/lib.rs:
- Quick Start example (line 72)
- Authentication Plugin example pass-through (line 131)
- Authentication Plugin short-circuit (line 139)

All doctests now pass.
Renamed .cargo-deny.toml to deny.toml for proper detection by cargo-deny.

Updated license configuration to:
- Add missing permissive licenses (0BSD, Unicode-3.0, CDLA-Permissive-2.0)
- Remove deprecated configuration options (vulnerability, copyleft, deny)
- Add explicit documentation that all allowed licenses are compatible
  with Apache-2.0
- Simplify configuration to work with latest cargo-deny version

All allowed licenses are permissive (non-copyleft) and compatible with
the Apache-2.0 license used by this SDK.
@peteski22 peteski22 requested a review from besaleli November 11, 2025 16:31
Copy link
Member

@besaleli besaleli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this slays

@peteski22 peteski22 merged commit 36eef32 into main Nov 11, 2025
10 checks passed
@peteski22 peteski22 deleted the peteski22/rust-sdk branch November 11, 2025 16:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants