Expand description
RiceCoder Enhanced Tools
Provides webfetch, patch, todo, and web search tools with hybrid MCP provider architecture.
§Overview
Enhanced Tools implements a hybrid provider pattern where built-in implementations provide default functionality, while optional MCP servers can override or extend behavior for advanced use cases.
§Architecture
All tools follow a provider priority chain:
- MCP Server (if configured and available) - Custom implementations via external MCP servers
- Built-in Implementation (fallback) - Default ricecoder implementation
- Error (if both unavailable) - Report that tool is not available
This enables:
- Out-of-the-box functionality with built-in tools
- Advanced customization via custom MCP servers
- Graceful fallback when MCP is unavailable
- Zero configuration required for basic use
§Modules
error- Error types with context and suggestionsresult- Result types with metadata about executionprovider- Provider trait and registry for tool implementationswebfetch- Webfetch tool for fetching web contentpatch- Patch tool for applying unified diff patches- [
todo] - Todo tools for managing task lists search- Web search tool for searching the web
§Example
ⓘ
use ricecoder_tools::provider::ProviderRegistry;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let registry = ProviderRegistry::new();
// Register providers
// registry.register_builtin_provider("webfetch", builtin_provider).await;
// Get provider and execute
// let provider = registry.get_provider("webfetch").await?;
// let result = provider.execute("https://example.com").await?;
Ok(())
}Re-exports§
pub use error::ToolError;pub use provider::Provider;pub use provider::ProviderRegistry;pub use result::ResultMetadata;pub use result::ToolErrorInfo;pub use result::ToolResult;pub use search::SearchInput;pub use search::SearchOutput;pub use search::SearchResult;pub use search::SearchTool;pub use todo::Todo;pub use todo::TodoPriority;pub use todo::TodoreadInput;pub use todo::TodoreadOutput;pub use todo::TodoStatus;pub use todo::TodoTools;pub use todo::TodowriteInput;pub use todo::TodowriteOutput;
Modules§
- error
- Error types for ricecoder-tools
- patch
- Patch tool for applying unified diff patches
- provider
- Provider trait and registry for tool implementations
- result
- Result types for tool operations
- search
- Web search tool for searching the web
- todo
- Todo tools for managing task lists
- webfetch
- Webfetch tool for fetching web content