ricecoder_mcp/
lib.rs

1//! MCP Integration for RiceCoder
2//!
3//! Provides Model Context Protocol support for extending RiceCoder with custom tools
4//! and service integrations. Includes MCP client implementation, tool registry,
5//! permission system integration, and error handling.
6
7pub mod agent_integration;
8pub mod client;
9pub mod config;
10pub mod connection_pool;
11pub mod error;
12pub mod error_recovery;
13pub mod error_reporting;
14pub mod executor;
15pub mod health_check;
16pub mod hot_reload;
17pub mod lifecycle;
18pub mod marshaler;
19pub mod metadata;
20pub mod permissions;
21pub mod permissions_integration;
22pub mod registry;
23pub mod storage_integration;
24
25pub use agent_integration::{
26    AgentToolCapabilities, ToolDiscovery, ToolExecutionContext, ToolExecutionResult,
27    ToolInvoker, ToolWorkflowIntegration,
28};
29pub use client::MCPClient;
30pub use config::{MCPConfig, MCPConfigLoader};
31pub use connection_pool::{ConnectionPool, PoolConfig, PooledConnection, PoolStats};
32pub use error::{Error, ErrorContext, ErrorLogEntry, Result, ToolError};
33pub use error_recovery::{
34    BackoffConfig, GracefulDegradationHandler, RecoveryStrategy, RetryHandler,
35    determine_recovery_strategy,
36};
37pub use error_reporting::{ErrorMessageFormatter, ErrorReporter, ErrorStatistics};
38pub use executor::CustomToolExecutor;
39pub use health_check::{HealthChecker, HealthCheckConfig, HealthStatus, ServerAvailability};
40pub use hot_reload::ConfigWatcher;
41pub use lifecycle::{ServerLifecycle, ServerLifecycleInfo, ServerState};
42pub use marshaler::ToolMarshaler;
43pub use metadata::{ParameterMetadata, ToolMetadata, ToolSource};
44pub use permissions::{MCPPermissionManager, PermissionLevelConfig, PermissionRule};
45pub use permissions_integration::{
46    PermissionAwareToolExecution, ToolPermissionChecker, ToolPermissionDecision,
47    ToolPermissionEnforcer, ToolPermissionLevel, ToolPermissionPrompt, UserPermissionDecision,
48};
49pub use registry::ToolRegistry;
50pub use storage_integration::{
51    JsonToolRegistryStorage, ToolRegistryCache, ToolRegistryPersistence, ToolRegistryStorage,
52};