Titan MCP
Supports automated navigation and interaction with the Firefox web browser as a target for AI-driven tasks.
Connects AI agents to local models via Ollama to facilitate autonomous browser-based interaction and coordination.
Allows AI agents to control and automate interactions within the Opera web browser.
Integrates Puppeteer as a backend automation engine to enable Chromium-based browser control for AI agents.
Leverages Selenium as a backend to provide cross-browser automation and traditional web control capabilities.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Titan MCPnavigate to https://github.com/mrhavens and take a screenshot"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Titan MCP - Unified Browser Automation Protocol
A unified Model Context Protocol (MCP) that connects AI agents to multiple browser automation tools.
Overview
Titan MCP provides a unified interface for AI agents to control web browsers using multiple backends:
Selenium - Traditional browser automation
Playwright - Modern Chromium automation
Puppeteer - Node.js browser control
Browser-Use - AI-powered browser interactions
Installation
# Clone the repository
git clone https://github.com/mrhavens/titan-mcp.git
cd titan-mcp
# Install Python dependencies
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Install Node.js dependencies
npm install
# Configure
cp config/mcp.yaml.example config/mcp.yaml
# Edit mcp.yaml with your settingsConfiguration
Edit config/mcp.yaml:
browsers:
chromium:
enabled: true
headless: false
viewport: { width: 1920, height: 1080 }
firefox:
enabled: false
headless: true
webkit:
enabled: false
automation:
selenium:
implicit_wait: 10
page_load_timeout: 30
playwright:
slow_mo: 0
accept_downloads: true
browser_use:
max_steps: 100
headless: false
agents:
openclaw:
gateway: "ws://192.168.1.64:18789"
token: "your-gateway-token"
# Connect to witness-zero agents
witness_zero:
ollama: "http://192.168.1.64:11434"Usage
Starting the MCP Server
# Start MCP server
python3 mcp_server.py
# Or with custom config
python3 mcp_server.py --config config/mcp.yamlConnecting to AI Agents
The MCP exposes WebSocket and HTTP endpoints for agent connections:
# Example: Connect OpenClaw agent
import websocket
ws = websocket.create_connection("ws://localhost:8765/agent")
ws.send('{"action": "navigate", "url": "https://example.com"}')API Endpoints
Endpoint | Method | Description |
| POST | Navigate to URL with optional actions |
| GET | Take screenshot of current page |
| POST | Execute JavaScript in browser |
| POST | Fill form fields |
| POST | Click elements |
| WS | WebSocket for agent commands |
Available Browsers
Browser | Status | Command |
Chrome | ✅ Installed |
|
Firefox | ✅ Installed |
|
Chromium | ✅ Installed |
|
Edge | ✅ Installed |
|
Opera | ⚠️ Install issues | - |
Text Browsers (Fallback)
Browser | Command |
Lynx |
|
Links2 |
|
W3m |
|
Architecture
┌─────────────────────────────────────────────────────────┐
│ AI Agents │
│ (OpenClaw, Claude, GPT, Ollama, etc.) │
└──────────────────────┬──────────────────────────────────┘
│ WebSocket / HTTP
▼
┌─────────────────────────────────────────────────────────┐
│ Titan MCP Server │
│ ┌──────────────┬──────────────┬──────────────┐ │
│ │ Selenium │ Playwright │ Puppeteer │ │
│ └──────────────┴──────────────┴──────────────┘ │
│ ┌──────────────┬──────────────┐ │
│ │ Browser-Use │ Text Mode │ │
│ └──────────────┴──────────────┘ │
└──────────────────────┬──────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ Browsers │
│ Chrome | Firefox | Chromium | Edge | Opera │
└─────────────────────────────────────────────────────────┘Environment Variables
# Ollama (local models)
OLLAMA_HOST=http://192.168.1.64:11434
# OpenClaw Gateway
OPENCLAW_GATEWAY=ws://192.168.1.64:18789
OPENCLAW_TOKEN=your-token
# Browser settings
BROWSER_HEADLESS=false
BROWSER_TIMEOUT=30Examples
Navigate and Screenshot
import requests
# Navigate to URL
response = requests.post("http://localhost:8765/browse", json={
"action": "navigate",
"url": "https://github.com/mrhavens",
"wait_for": "networkidle"
})
# Take screenshot
screenshot = requests.get("http://localhost:8765/screenshot")
with open("screenshot.png", "wb") as f:
f.write(screenshot.content)Execute JavaScript
response = requests.post("http://localhost:8765/execute", json={
"script": "document.title = 'Hello from Titan MCP'",
"return_value": "document.title"
})KAIROS Integration
This MCP integrates with the KAIROS ADAMON system for autonomous agent coordination.
Phase Lock Testing
# Run phase lock test with 7 agents
python3 scripts/phase_lock_test.pyLicense
MIT
Author
Mark Havens / Titan Root Havens
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mrhavens/titan-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server