FrankenClaw

FrankenClaw

Modular MCP toolbox that gives AI agents controlled access to shell, files, Git, Ollama, Shopify, vision, browser automation, and more — 12 FrankenTools.

Category
Visit Server

README

FrankenClaw

FrankenClaw

Give your AI agent real tools — without losing control of cost or models.

FrankenClaw is a controlled execution layer for AI agents. It serves FrankenTools over standard MCP — search, vision, browser automation, web scraping, Shopify, and content generation — so any agent can use them. You pick the models. You control the keys. The tools just execute.

Drop a Python file in the tools/ folder. It auto-registers. No config. No wiring. That's it.

[!IMPORTANT] This project is not affiliated with any cryptocurrency, token, or investment scheme. FrankenClaw is an open-source MCP toolbox for AI agents, built by Project Sparks. If anyone offers you a "FrankenClaw token" — it's a scam.

FrankenTools

12 tools. Each one is a single Python file. Use the whole box or just the tools you need.

FrankenTool What It Does Backend
search_web Web search with clean structured results SearXNG
vision_analyze Describe or analyze any image by URL or path Gemini via OpenRouter
web_scrape Scrape any page to clean markdown — no ads, no nav Firecrawl API
browser_task Control a real browser — click, fill forms, screenshot, run JS agent-browser (14 actions, session persistence)
shopify_products List, create, update, delete Shopify products Shopify Admin API
shopify_inventory Manage inventory levels and locations Shopify Admin API
shopify_collections Browse product collections Shopify Admin API
notebooklm_manage Create, list, rename, delete NotebookLM notebooks notebooklm-py
notebooklm_source Add URLs, text, or files as sources to a notebook notebooklm-py
notebooklm_generate Generate podcasts, videos, infographics, slide decks, and more NotebookLM
notebooklm_download Download generated artifacts (audio, video, PDF, etc.) NotebookLM
notebooklm_ask Ask questions about sources in a notebook NotebookLM

Quick Start

With OpenClaw

git clone https://github.com/GuyMannDude/frankenclaw.git
cd frankenclaw
pip install -r requirements.txt

# Register and go
openclaw mcp set frankenclaw '{"command":"python3","args":["/path/to/frankenclaw/server.py"]}'
openclaw gateway restart

Your agent now has all 12 FrankenTools in its tool list.

With Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "frankenclaw": {
      "command": "python3",
      "args": ["/path/to/frankenclaw/server.py"]
    }
  }
}

With Claude Code

claude mcp add frankenclaw -- python3 /path/to/frankenclaw/server.py

With Any MCP Client

FrankenClaw speaks standard MCP over stdio. Point any MCP-compatible client at server.py and it works.

Add Your Own FrankenTools

FrankenClaw auto-discovers tools from the tools/ directory. To add one:

  1. Create a Python file in tools/
  2. Write an async function with a docstring
  3. Restart FrankenClaw

That's it. No server.py edits. No registration. No config.

# tools/my_tool.py

async def my_cool_tool(query: str, limit: int = 10) -> str:
    """
    Does something cool.

    Args:
        query: What to look for.
        limit: Max results (default: 10).

    Returns:
        JSON with results.
    """
    # Your code here
    return '{"result": "done"}'

Functions starting with _ are ignored (use them for helpers). Every public async function becomes a FrankenTool.

Search Routing

FrankenClaw adds a web search tool (search_web) to your agent. If your agent already has a built-in web search (like OpenClaw's Brave search), you now have two web search tools competing for the same word "search."

If you also use Mnemo Cortex for agent memory, that's three search systems triggered by one word.

The model will default to whichever tool it pattern-matches first — usually the built-in one. Prompt-based routing instructions ("check memory first") are unreliable because tool selection happens before the model processes system prompt logic.

The fix: plain-language search commands.

Add these to your agent's system prompt or behavioral instructions:

  • Msearch [query] — Memory search only (Mnemo Cortex). Does not touch web search.
  • Fsearch [query] — FrankenClaw web search only. Does not touch memory.
  • Wsearch [query] — Same as Fsearch. Web search.
  • Recall [query] — Same as Msearch. Memory search.
  • search [query] — Agent decides based on context (may default to built-in web search).

These are plain words, not slash commands. They work because they're unambiguous — no tool is named "Msearch" or "Fsearch," so the model can't reflexively grab the wrong one.

Msearch and Fsearch are non-negotiable overrides. When a user says Msearch, the agent searches memory. When they say Fsearch or Wsearch, it searches the web. No routing logic needed — the word itself IS the routing.

Architecture

FrankenClaw is a pure function. Request in, result out.

  • No memory — your agent has that (try Mnemo Cortex)
  • No model routing — your agent has that (try Rocky's Switch)
  • No conversation context — your agent framework has that
  • No agent brain — the agent IS the agent

The tool is an IO device, not intelligence. Each piece does one thing. Snap them together however you want.

Security

  • Runs locally — FrankenClaw executes on your machine, not in the cloud
  • No key duplication — API keys live in one place (Rocky's Switch), FrankenClaw reads them at runtime
  • You control providers — pick which models handle which jobs
  • No hidden API costs — route cheap models to grunt work, smart models to decisions, free models to filler

The Vision

FrankenClaw is part of a modular, open-source agent stack. Every piece connects via MCP. Mix and match:

Module What It Does Repo
FrankenClaw Tools — search, vision, browser, scraping, content generation You're here
Mnemo Cortex Memory — semantic recall across sessions mnemo-cortex
Rocky's Switch Model routing — pick providers, manage keys, switch models rockys-switch
LightRAG Knowledge — retrieval-augmented generation (coming soon)

No vendor lock-in. No monolith. Just MCP servers that do their job.

Configuration

API Keys are read from Rocky's Switch (~/.rockys-switch/keys.json). One place for all your keys. FrankenClaw never stores credentials.

Tool settings live at ~/.frankenclaw/config.json (auto-created on first run with sane defaults). Configurable options include vision model, browser engine, search result limits, and timeouts.

Requirements

  • Python 3.12+
  • agent-browsernpm install -g agent-browser (for browser_task)
  • SearXNG instance (for search_web) — or swap in your own search
  • Firecrawl API key (for web_scrape)
  • NotebookLM auth via notebooklm login (for notebooklm tools)
pip install -r requirements.txt

Browser Automation

browser_task gives your agent a real, visible browser window. The agent clicks, fills forms, takes screenshots — you watch it happen in real time. Powered by agent-browser from Vercel Labs.

Key features:

  • Persistent sessions — browser stays open between tool calls
  • Visible by default — watch your agent browse (visible=True)
  • Accessibility snapshots — agent reads the page structure, finds elements by ref
  • 14 actions — open, snapshot, click, fill, type, press, screenshot, eval, scroll, back, forward, wait, close, upload

Built With

SPARC principles. AI designed for AI. From Project Sparks.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured