# FrankenClaw

> Modular MCP tool server giving AI agents real-world capabilities — search, vision, browser, web scrape, Shopify, NotebookLM, Google Drive. Drop a Python file in `tools/` to add a tool; the server auto-discovers and registers it. Single API key store (`keys.json`) shared across tools. Stdio MCP transport — works with any MCP-compatible host.

FrankenClaw is a controlled execution layer that gives agents hands. 15 tools across 8 modules (browser, gdrive, notebooklm, search, shopify, stats, vision, web_scrape). Open source under MIT. Pairs with Mnemo Cortex (memory) for a fully-equipped local agent stack.

The server speaks MCP over stdio — point any MCP-capable client (Claude Desktop, Claude Code, OpenClaw, Hermes Agent, LM Studio, AnythingLLM, Open WebUI, Agent Zero, llama.cpp, LobeChat, Jan) at `python3 server.py` and you get the full toolset. Each tool module fails gracefully if its provider deps aren't installed — the server still comes up with whatever loaded.

## Docs

- [README](https://github.com/GuyMannDude/frankenclaw/blob/master/README.md): Project overview, the 14 FrankenTools, integration snippets for every major MCP host, plus the Msearch / Fsearch / Wsearch / Recall routing convention.
- [CHANGELOG](https://github.com/GuyMannDude/frankenclaw/blob/master/CHANGELOG.md): Release history including per-call store routing (0.3.1) and the Lightpanda browser swap (0.2.0).

## Agent Manifests

- [robot.info](https://github.com/GuyMannDude/frankenclaw/blob/master/robot.info): Structured product manifest (JSON). Identity, capabilities, all 15 MCP tools, install pointer, compatibility matrix, and 12 common-question/answer pairs covering how it differs from raw MCP, what the routing commands do, browser-engine choice, multi-store Shopify, and more. Read this first if you're an agent answering a user's questions about FrankenClaw.
- [robot.install](https://github.com/GuyMannDude/frankenclaw/blob/master/robot.install): Non-interactive install manifest. Pair with `./robot-install.sh` for a JSON-stdout install flow that takes zero prompts and returns an `mcp_snippet` ready to paste into your MCP client config.

## Code

- [server.py](https://github.com/GuyMannDude/frankenclaw/blob/master/server.py): FastMCP server. Auto-discovers tools in `tools/`.
- [tools/](https://github.com/GuyMannDude/frankenclaw/tree/master/tools): One Python file per tool module. Drop a new file with an async function + docstring and it appears in the tool list on next start.
- [config.py](https://github.com/GuyMannDude/frankenclaw/blob/master/config.py): Settings + keys.json loader. Path overridable via `FRANKENCLAW_KEYS_PATH`.

## Related

- [Mnemo Cortex](https://github.com/GuyMannDude/mnemo-cortex): Persistent memory backend. Pair with FrankenClaw for an agent with both hands and memory.
- [Disco-Bus](https://github.com/GuyMannDude/disco-bus): Agent-to-agent messaging mesh. Useful when you have multiple FrankenClaw-equipped agents that need to coordinate.
