Expand description
CLI integration and configuration framework for MCP servers
This crate provides automatic CLI generation, configuration management, and server setup for MCP servers. It eliminates boilerplate code and provides a modern, ergonomic API.
§Features
- Automatic CLI Generation: Generate command-line interfaces from configuration structs
- Configuration Management: Type-safe configuration with environment variable support
- Server Integration: Seamless integration with the MCP server framework
- Logging Setup: Built-in structured logging configuration
- Builder Patterns: Fluent APIs for server configuration
§Quick Start
ⓘ
use pulseengine_mcp_cli::{McpConfig, DefaultLoggingConfig};
use pulseengine_mcp_protocol::ServerInfo;
use clap::Parser;
#[derive(McpConfig, Parser)]
struct MyServerConfig {
#[clap(short, long, default_value = "8080")]
port: u16,
#[clap(short, long)]
database_url: String,
#[mcp(auto_populate)]
#[clap(skip)]
server_info: Option<ServerInfo>,
#[mcp(logging)]
#[clap(skip)]
logging: Option<DefaultLoggingConfig>,
}
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = MyServerConfig::parse();
config.initialize_logging()?;
// Use server_builder() for advanced configuration
Ok(())
}
Re-exports§
Modules§
- config
- Configuration management and utilities
- error
- Re-export commonly used types Error types for the MCP protocol
- model
- Re-export commonly used types MCP model types for protocol messages and data structures
- server
- Server integration utilities
- utils
- Utility functions for CLI operations
- validation
- Re-export commonly used types Validation utilities for MCP protocol types
Structs§
- Annotations
- Re-export commonly used types Resource annotations
- Call
Tool Request Param - Re-export commonly used types Tool call parameters
- Call
Tool Result - Re-export commonly used types Tool call result
- Complete
Request Param - Re-export commonly used types Completion request parameters
- Complete
Result - Re-export commonly used types Complete result
- Completion
Info - Re-export commonly used types Completion information
- Error
- Re-export commonly used types Core MCP error type
- GetPrompt
Request Param - Re-export commonly used types Get prompt parameters
- GetPrompt
Result - Re-export commonly used types Get prompt result
- Implementation
- Re-export commonly used types Server implementation information
- Initialize
Request Param - Re-export commonly used types Initialize request parameters
- Initialize
Result - Re-export commonly used types Initialize result
- List
Prompts Result - Re-export commonly used types List prompts result
- List
Resource Templates Result - Re-export commonly used types List resource templates result
- List
Resources Result - Re-export commonly used types List resources result
- List
Tools Result - Re-export commonly used types List tools result
- Logging
Capability - Re-export commonly used types
- Paginated
Request Param - Re-export commonly used types Pagination parameters
- Prompt
- Re-export commonly used types Prompt definition
- Prompt
Argument - Re-export commonly used types Prompt argument definition
- Prompt
Message - Re-export commonly used types Prompt message
- Prompts
Capability - Re-export commonly used types
- Protocol
Version - Re-export commonly used types Protocol version information
- RawResource
- Re-export commonly used types Raw resource (for internal use)
- Read
Resource Request Param - Re-export commonly used types Read resource parameters
- Read
Resource Result - Re-export commonly used types Read resource result
- Request
- Re-export commonly used types JSON-RPC 2.0 Request
- Resource
- Re-export commonly used types Resource definition
- Resource
Contents - Re-export commonly used types Resource contents wrapper
- Resource
Template - Re-export commonly used types Resource template definition
- Resources
Capability - Re-export commonly used types
- Response
- Re-export commonly used types JSON-RPC 2.0 Response
- Sampling
Capability - Re-export commonly used types
- Server
Capabilities - Re-export commonly used types Server capabilities configuration
- Server
Capabilities Builder - Re-export commonly used types
- Server
Info - Re-export commonly used types Server information response
- SetLevel
Request Param - Re-export commonly used types Set logging level parameters
- Subscribe
Request Param - Re-export commonly used types Subscribe request parameters
- Text
Content - Re-export commonly used types Text content struct for compatibility
- Tool
- Re-export commonly used types Tool definition
- Tools
Capability - Re-export commonly used types
- Unsubscribe
Request Param - Re-export commonly used types Unsubscribe request parameters
- Validator
- Re-export commonly used types Protocol validation utilities
Enums§
- CliError
- Error types for CLI operations
- Content
- Re-export commonly used types Content types for tool responses
- Prompt
Message Content - Re-export commonly used types Prompt message content
- Prompt
Message Role - Re-export commonly used types Prompt message role
Constants§
- MCP_
VERSION - Re-export commonly used types Protocol version constants
- SUPPORTED_
PROTOCOL_ VERSIONS - Re-export commonly used types
Traits§
- McpConfiguration
- Configuration trait for MCP servers
Functions§
- is_
protocol_ version_ supported - Re-export commonly used types Check if a protocol version is supported
- validate_
protocol_ version - Re-export commonly used types Validate MCP protocol version compatibility
Type Aliases§
- Result
- Re-export commonly used types Result type alias for MCP operations
Derive Macros§
- McpBackend
- Derive macro for
McpBackend
- McpConfig
- Derive macro for
McpConfig