mcpField
M
Mime (mcp Integrated Modern Executor)

Mime (mcp Integrated Modern Executor)

Local
github.com/akashrtdBrowser Automation1Updated 12w ago

About Mime (mcp Integrated Modern Executor)

MIME is a Go browser automation server with native MCP support, aimed at AI agents that need to navigate, inspect, and interact with web pages. It combines a single-binary installation with browser controls, page extraction, screenshots, and multi-page crawling.

Key features

  1. 01Go-based browser automation
  2. 02Single binary with no runtime dependencies
  3. 03Navigate, click, type, and scroll
  4. 04Extract text, HTML, metadata, and links
  5. 05Screenshots, crawling, and site mapping
  6. 06Stealth mode and action tracing

Use cases

  1. 01Navigate pages and extract story titles
  2. 02Inspect forms and enter information
  3. 03Capture screenshots for page review
  4. 04Crawl a site and save Markdown

MCP support

MIME runs as an MCP server and exposes browser navigation, interaction, extraction, screenshot, crawl, and mapping tools to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MIME

MIME (MCP-Integrated Modern Executor) is a high-performance browser automation tool built in Go with native Model Context Protocol (MCP) support.

Go Version License MCP

🏆 Performance

MetricMIMEPuppeteerPlaywrightvs Puppeteervs Playwright
Startup650 ms855 ms720 ms24% faster10% faster
Navigation187 ms808 ms450 ms77% faster58% faster
Screenshot95 ms163 ms122 ms42% faster22% faster
Extraction2 ms17 ms12 ms88% faster83% faster
Total934 ms1843 ms1304 ms49% faster28% faster

✨ Features

  • 🚀 High Performance - Built with Go and Rod (Chrome DevTools Protocol)
  • 🤖 MCP Native - AI agents like Claude can control browsers directly
  • 📦 Single Binary - No runtime dependencies (Node/Python not required)
  • 🛡️ Stealth Mode - Built-in anti-detection and fingerprint masking
  • 🕵️ Trace Mode - Record every action with screenshots for debugging
  • ⚡ Auto-Wait - Intelligent stability checks (waiting for animations/enabled state)

🆚 Comparison with Playwright

FeatureMIMEPlaywright
ArchitectureSingle Static Binary (Go)Node.js Runtime + NPM Modules
Use CaseAI Agents & LLMsE2E Testing & QA
Installationgo install (Zero Config)npm install + npx playwright install
PerformanceHigh (Go + Raw CDP)Moderate (JS Bridge Overhead)
StealthNative (Integrated)Requires plugins (stealth-evasions)
SecuritySandbox-ready, Block file://Full local access by default
EcosystemMCP-First (Claude/Cursor)Developer-First (VS Code / CI)

🚀 Installation

Note: This is a private repository. You need repository access to install.

Option 1: Build from Source (Recommended)
git clone [email protected]:akashrtd/mime.git
cd mime
make install
Option 2: Install via Go
# Requires GOPRIVATE to be set for private repo access
export GOPRIVATE=github.com/akashrtd/*
go install github.com/akashrtd/mime/cmd/mime@latest

You can also use make build to create a binary in ./bin/mime without installing it system-wide.

🤖 MCP Server (AI Integration)

MIME can be used as an MCP server, allowing AI assistants to control browsers.

Configure with Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "mime": {
      "command": "/path/to/mime",
      "args": ["serve"]
    }
  }
}
Available MCP Tools
ToolDescription
navigateNavigate to a URL
clickClick an element by CSS selector
typeType text into an element
extractExtract text from an element
screenshotCapture screenshot (PNG/JPEG). Options: format, quality
executeRun JavaScript on the page
htmlGet page HTML content
wait_forWait for element (text/css)
scrollScroll to element or position
hoverHover over an element
markdownGet page content as Markdown
metadataExtract page metadata
linksExtract all links
get_cookiesGet all cookies
clear_cookiesClear all cookies
observeAnalyze page for AI agents
actNatural language actions
crawlMulti-page crawl
mapSite structure mapping
Example Prompts for Claude
  • "Navigate to https://news.ycombinator.com and extract the top story title"
  • "Go to example.com, take a screenshot, and describe what you see"
  • "Click the login button and type my email into the form"
  • "Observe the page and tell me what forms are available"
  • "Crawl https://example.com and save the markdown to a file"

📖 Go Library Usage

package main

import (
    "context"
    "fmt"
    "log"

    "github.com/akashrtd/mime/pkg/mime"
)

func main() {
    m, err := mime.New(context.Background())
    if err != nil {
        log.Fatal(err)
    }
    defer m.Close()

    m.Navigate("https://example.com")
    title, _ := m.Extract("h1")
    fmt.Println(title)
}

🛠️ CLI Commands

# Start MCP server
mime serve

# Start with visible browser (debug mode)
mime serve --visible

# Start with stealth mode enabled
mime serve --stealth


# Show version
mime version

📦 TypeScript SDK

Install the TypeScript SDK for Node.js projects:

npm install @mime-browser/sdk
import { MIME } from "@mime-browser/sdk";

const browser = await MIME.connect();
await browser.navigate("https://example.com");
const title = await browser.extract("h1");
await browser.close();

See sdk/typescript/README.md for full documentation.

📊 Benchmarks

See benchmark/RESULTS.md for detailed performance comparison.

# Run benchmarks
go run benchmark/mime/benchmark.go

📂 Project Structure

mime/
├── cmd/mime/        # CLI entry point
├── pkg/mime/        # Core library code
├── sdk/             # Client SDKs
├── examples/        # Usage examples
├── Makefile         # Build commands
└── go.mod

🛠️ Development

We use a Makefile to standardize development tasks.

# Show available commands
make help

# Build binary
make build

# Run tests
make test

🗺️ Roadmap

  • Core browser automation
  • Simple Go API
  • CLI tool
  • MCP server integration
  • TypeScript SDK
  • CI/CD & Automated Releases
  • Session Persistence
  • Markdown & Metadata
  • AI Agent Tools (Observe, Act)
  • Multi-Page (Crawl, Map)
  • Connection pooling (Library) - Implemented in pkg/mime/pool.go
  • Retry logic - Implemented in pkg/mime/retry.go
  • Stealth Mode (Anti-detection)

📄 License

MIT License - see LICENSE

🙏 Acknowledgments

  • Rod - High-level DevTools Protocol driver
  • MCP - Model Context Protocol by Anthropic

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.