Crate pulseengine_mcp_cli

Source
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§

pub use clap;
pub use config::*;
pub use server::*;

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
CallToolRequestParam
Re-export commonly used types Tool call parameters
CallToolResult
Re-export commonly used types Tool call result
CompleteRequestParam
Re-export commonly used types Completion request parameters
CompleteResult
Re-export commonly used types Complete result
CompletionInfo
Re-export commonly used types Completion information
Error
Re-export commonly used types Core MCP error type
GetPromptRequestParam
Re-export commonly used types Get prompt parameters
GetPromptResult
Re-export commonly used types Get prompt result
Implementation
Re-export commonly used types Server implementation information
InitializeRequestParam
Re-export commonly used types Initialize request parameters
InitializeResult
Re-export commonly used types Initialize result
ListPromptsResult
Re-export commonly used types List prompts result
ListResourceTemplatesResult
Re-export commonly used types List resource templates result
ListResourcesResult
Re-export commonly used types List resources result
ListToolsResult
Re-export commonly used types List tools result
LoggingCapability
Re-export commonly used types
PaginatedRequestParam
Re-export commonly used types Pagination parameters
Prompt
Re-export commonly used types Prompt definition
PromptArgument
Re-export commonly used types Prompt argument definition
PromptMessage
Re-export commonly used types Prompt message
PromptsCapability
Re-export commonly used types
ProtocolVersion
Re-export commonly used types Protocol version information
RawResource
Re-export commonly used types Raw resource (for internal use)
ReadResourceRequestParam
Re-export commonly used types Read resource parameters
ReadResourceResult
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
ResourceContents
Re-export commonly used types Resource contents wrapper
ResourceTemplate
Re-export commonly used types Resource template definition
ResourcesCapability
Re-export commonly used types
Response
Re-export commonly used types JSON-RPC 2.0 Response
SamplingCapability
Re-export commonly used types
ServerCapabilities
Re-export commonly used types Server capabilities configuration
ServerCapabilitiesBuilder
Re-export commonly used types
ServerInfo
Re-export commonly used types Server information response
SetLevelRequestParam
Re-export commonly used types Set logging level parameters
SubscribeRequestParam
Re-export commonly used types Subscribe request parameters
TextContent
Re-export commonly used types Text content struct for compatibility
Tool
Re-export commonly used types Tool definition
ToolsCapability
Re-export commonly used types
UnsubscribeRequestParam
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
PromptMessageContent
Re-export commonly used types Prompt message content
PromptMessageRole
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