FrankenClaw

Modular MCP toolbox that gives AI agents controlled access to shell, files, Git, Ollama, Shopify, and more — without losing cost or model control.

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.

FrankenToolWhat It DoesBackend
search_webWeb search with clean structured resultsSearXNG
vision_analyzeDescribe or analyze any image by URL or pathGemini via OpenRouter
web_scrapeScrape any page to clean markdown — no ads, no navFirecrawl API
browser_taskControl a real browser — click, fill forms, screenshot, run JSagent-browser (14 actions, session persistence)
shopify_productsList, create, update, delete Shopify productsShopify Admin API
shopify_inventoryManage inventory levels and locationsShopify Admin API
shopify_collectionsBrowse product collectionsShopify Admin API
notebooklm_manageCreate, list, rename, delete NotebookLM notebooksnotebooklm-py
notebooklm_sourceAdd URLs, text, or files as sources to a notebooknotebooklm-py
notebooklm_generateGenerate podcasts, videos, infographics, slide decks, and moreNotebookLM
notebooklm_downloadDownload generated artifacts (audio, video, PDF, etc.)NotebookLM
notebooklm_askAsk questions about sources in a notebookNotebookLM

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:

ModuleWhat It DoesRepo
FrankenClawTools — search, vision, browser, scraping, content generationYou're here
Mnemo CortexMemory — semantic recall across sessionsmnemo-cortex
Rocky's SwitchModel routing — pick providers, manage keys, switch modelsrockys-switch
LightRAGKnowledge — 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

Related Servers

NotebookLM Web Importer

Import web pages and YouTube videos to NotebookLM with one click. Trusted by 200,000+ users.

Install Chrome Extension