v0.9.0: Complete MCP Resource Integration with Modern Macro Patterns
π― PulseEngine MCP Framework v0.9.0
This release introduces comprehensive MCP resource support alongside significant improvements to the macro system and framework capabilities.
β¨ Major Features
π MCP Resource Integration
- Complete MCP resource implementation with
#[mcp_resource]macro - URI template support for parameterized resources (e.g.,
timedate://current-time/{timezone}) - Automatic resource discovery and registration
- Read-only data access pattern differentiated from tools
- Resource listing via
resources/listand reading viaresources/read
π Enhanced Macro System
- Modern macro patterns with improved error handling
- Generic type support for MCP servers (
GenericServer<T>) - Comprehensive trait delegation with runtime detection
- Improved clippy compliance and formatting standards
- Fixed helper method generation for test compatibility
π Framework Improvements
- Panic-catching resource trait delegation
- Enhanced error handling and validation
- Improved CI/CD pipeline with comprehensive testing
- Updated template MCP server with resource examples
- Complete documentation for tools vs resources distinction
π¦ Published Crates
All framework crates published to crates.io:
| Crate | Version | Purpose |
|---|---|---|
pulseengine-mcp-protocol |
v0.9.0 | Core MCP protocol types & validation |
pulseengine-mcp-logging |
v0.9.0 | Structured logging & tracing |
pulseengine-mcp-security |
v0.9.0 | Security validation & monitoring |
pulseengine-mcp-monitoring |
v0.9.0 | Performance & health monitoring |
pulseengine-mcp-auth |
v0.9.0 | Authentication & authorization |
pulseengine-mcp-transport |
v0.9.0 | Transport layer implementations |
pulseengine-mcp-server |
v0.9.0 | Core MCP server framework |
pulseengine-mcp-macros |
v0.9.0 | Procedural macros & code generation |
pulseengine-mcp-cli-derive |
v0.9.0 | CLI derive macros |
pulseengine-mcp-cli |
v0.9.0 | CLI utilities & tooling |
π§ Technical Improvements
- β Fixed clippy warnings and formatting issues
- β Enhanced generic support in macros
- β Improved trait bound handling
- β Better error propagation and handling
- β Comprehensive test coverage
π Documentation & Templates
- π Updated template MCP server with resource examples
- π Complete tools vs resources distinction guide
- π URI template documentation and examples
- π Integration examples with MCP Inspector
π Getting Started
Add the framework to your Cargo.toml:
[dependencies]
pulseengine-mcp-server = "0.9.0"
pulseengine-mcp-macros = "0.9.0"Example with resources:
use pulseengine_mcp_macros::{mcp_server, mcp_tools, mcp_resource};
#[mcp_server(name = "My Server")]
#[derive(Clone)]
pub struct MyServer;
#[mcp_tools]
impl MyServer {
/// A tool that performs an action
pub async fn my_tool(&self, input: String) -> anyhow::Result<String> {
Ok(format\!("Processed: {}", input))
}
/// A resource that provides read-only data
#[mcp_resource(
uri_template = "my-server://data/{id}",
name = "server_data",
description = "Server data by ID"
)]
pub async fn get_data(&self, id: String) -> anyhow::Result<MyData> {
// Return data for the given ID
}
}π What's Next
This release represents a major milestone in MCP framework development, providing complete resource support while maintaining full backward compatibility.
View the full changelog and migration guide β
Install: cargo install pulseengine-mcp-cli
Template: Use our template repository to get started
Docs: Framework Documentation
MCP Spec: Model Context Protocol