| Crates.io | kodegen_tools_browser |
| lib.rs | kodegen_tools_browser |
| version | 0.10.11 |
| created_at | 2025-11-03 16:43:21.780014+00 |
| updated_at | 2026-01-02 15:14:42.397014+00 |
| description | KODEGEN.ᴀɪ: Memory-efficient, Blazing-Fast, MCP tools for code generation agents. |
| homepage | https://kodegen.ai |
| repository | https://github.com/cyrup-ai/kodegen-tools-browser |
| max_upload_size | |
| id | 1914968 |
| size | 4,601,591 |
Memory-efficient, blazing-fast MCP tools for browser automation and AI-powered web research.
kodegen-tools-browser is a high-performance Model Context Protocol (MCP) server that provides browser automation capabilities for AI agents. Built in Rust with chromiumoxide, it offers 13 specialized tools for web automation, search, and autonomous research.
# Clone the repository
git clone https://github.com/cyrup-ai/kodegen-tools-browser.git
cd kodegen-tools-browser
# Install Rust nightly (if not already installed)
rustup toolchain install nightly
rustup default nightly
# Build the project
cargo build --release
# Run the server
cargo run --release --bin kodegen-browser
Edit config.yaml to customize browser behavior:
browser:
headless: true # Run browser in headless mode
disable_security: false # Security features (keep enabled)
window:
width: 1280 # Browser window width
height: 720 # Browser window height
| Tool | Description |
|---|---|
browser_navigate |
Navigate to URL with optional selector wait |
browser_click |
Click elements with navigation wait support |
browser_type_text |
Type text into input fields |
browser_extract_text |
Extract visible text or selector content |
browser_scroll |
Scroll page by pixels or to selector |
browser_screenshot |
Capture page or element screenshots |
| Tool | Description |
|---|---|
web_search |
DuckDuckGo search with structured result extraction |
| Tool | Description |
|---|---|
start_browser_research |
Start background research session |
get_research_status |
Poll session progress |
get_research_result |
Retrieve completed research |
stop_browser_research |
Cancel running session |
list_research_sessions |
List all active sessions |
| Tool | Description |
|---|---|
browser_agent |
AI-powered autonomous task execution with local LLM |
use kodegen_tools_browser::{BrowserManager, BrowserNavigateTool};
use serde_json::json;
#[tokio::main]
async fn main() -> Result<()> {
// Get global browser instance
let manager = BrowserManager::global();
// Navigate to a URL
let tool = BrowserNavigateTool::new(manager.clone());
tool.execute(json!({
"url": "https://docs.rs",
"wait_for_selector": "#search"
})).await?;
Ok(())
}
use kodegen_tools_browser::WebSearchTool;
use serde_json::json;
#[tokio::main]
async fn main() -> Result<()> {
let tool = WebSearchTool::new();
let result = tool.execute(json!({
"query": "Rust MCP server examples"
})).await?;
println!("Search results: {:?}", result);
Ok(())
}
use kodegen_tools_browser::StartBrowserResearchTool;
use serde_json::json;
#[tokio::main]
async fn main() -> Result<()> {
let tool = StartBrowserResearchTool::new();
// Start background research
let result = tool.execute(json!({
"query": "Latest Rust async runtime benchmarks",
"max_pages": 5
})).await?;
let session_id = result["session_id"].as_str().unwrap();
println!("Research session started: {}", session_id);
// Poll for completion and retrieve results
// ... (see browser_demo.rs for full example)
Ok(())
}
# Demonstrates all 13 tools with real-world workflows
cargo run --example browser_demo
# Run comprehensive tool demo (no unit tests currently)
cargo run --example browser_demo
# Format code
cargo fmt
# Lint with clippy
cargo clippy --all-targets --all-features
# Check without building
cargo check
src/tools/your_tool.rsMCPTool trait with schema and execute logicsrc/tools/mod.rssrc/main.rs via register_tool().js file to src/kromekover/evasions/EVASION_SCRIPTS array in src/kromekover/mod.rskodegen-tools-browser/
├── src/
│ ├── agent/ # Autonomous agent system
│ ├── browser/ # Browser wrapper and lifecycle
│ ├── kromekover/ # Stealth evasion scripts
│ ├── page_extractor/ # Content extraction utilities
│ ├── research/ # Async research sessions
│ ├── tools/ # MCP tool implementations
│ ├── utils/ # Shared utilities
│ ├── web_search/ # Web search integration
│ ├── lib.rs # Library exports
│ └── main.rs # HTTP server binary
├── examples/
│ └── browser_demo.rs # Comprehensive tool demonstration
├── config.yaml # Browser configuration
└── Cargo.toml # Project metadata
Contributions are welcome! Please ensure:
cargo fmtcargo clippy --all-targets --all-featurescargo run --example browser_demoLicensed under either of:
at your option.
Built by KODEGEN.ᴀɪ - Memory-efficient, blazing-fast tools for code generation agents.