MCP / Claude Code
Connect Manycrawl to Claude Code
The same server the other clients use, over the same port. Claude Code can reach it two ways, and the one you want depends on whether you are running the installed app or a checkout of the repo.
FirstCheck whether it is already connected
If you have ever clicked Connect Claude Desktop in the app, an entry already exists in ~/.claude.json, and Claude Code reads that file too. Ask it to call manycrawl_engine_status before you add anything.
If the tools answer, you are done — stop here. Adding a second entry on top of the first is the one mistake worth avoiding: two configured servers expose every tool twice, and the model then has to pick between duplicates on every call.
Step 1Open the app and sign in
The desktop app is the engine, so it has to be running. Opening it starts the local bridge on port 8765 and the scraper sidecar on 8766 — you do not run either yourself, and you do not need Node installed. The app ships its own.
Step 2Add the entry to your project
Create or edit .mcp.json in the project you run Claude Code from:
{
"mcpServers": {
"manycrawl": { "type": "http", "url": "http://127.0.0.1:8765/mcp" }
}
}
This is the HTTP transport, and it is the one to use while the desktop app is running: one always-on process, one port, nothing spawned per session. A project-level .mcp.json scopes the server to that repo; the app's Connect button writes the same entry user-wide instead.
Step 3Ask for a list
Say the word Manycrawl in the request:
"Use Manycrawl to find 50 dentists in Ljubljana and get their emails."
Naming it matters. Without it Claude may answer from a web search instead — which returns names but rarely phone numbers or emails, and leaves no table behind in the app.
CheckIs it working?
Ask for manycrawl_engine_status. A healthy answer looks like this:
{
"bridge": true,
"dashboardAlive": true,
"engine": { "desktop": true, "authenticated": true, "isPro": true }
}
Leave the app running and signed in while you work. Closing its window is fine — it hides to the tray and keeps serving. Quitting it properly stops the bridge, and Claude Code loses the server until you open the app again.
The other directionClaude Code can also do the thinking
An AI column in the app can send its work to Claude Code instead: pick Claude Code (local agent) as the column's model and each row is answered by the CLI on your machine, on your Claude subscription, with no API key and no per-token bill. More on that — and Codex does the same job if that is the plan you pay for.
DevRunning from a checkout
Only if you are working from the repo rather than the installed app. Here you do need Node, and you start the bridge yourself:
cd claude-code-bridge npm install node bridge-server.js
With the bare bridge running, the HTTP entry above still works. If you would rather Claude Code spawn the server itself over stdio, point it at the script with an absolute path instead:
{
"mcpServers": {
"manycrawl": {
"command": "node",
"args": ["/path/to/claude-code-bridge/mcp-server.mjs"]
}
}
}
One or the other, never both. And do not run a hand-started bridge alongside the installed app: the app claims port 8765 on launch and will stop whatever else is holding it.
FAQWhen it does not work
Every tool appears twice
Two entries for the same server. Usually a hand-added .mcp.json on top of the one the Connect button wrote to ~/.claude.json, or an HTTP entry alongside a stdio one. Remove whichever you added by hand; if the leftover is the button's, use Disconnect on its card rather than deleting the line, because the app treats Connect as a standing intent and will put it back.
bridge: false
Nothing is answering on port 8765. Usually the app is not running — open it and it starts the bridge. If the app is running and you still see this, something else on your machine is holding 8765; quit that and restart the app. Running from a checkout, start it with node bridge-server.js.
authenticated: false
The app is running but signed out. Sign in and the tools start working immediately; nothing needs restarting.
Can I use this from a cloud session?
No. The endpoint is 127.0.0.1, so it is only reachable from the machine running the app. Anything executing elsewhere cannot see it, by design.
Does the agent spend my actions?
Yes, at the same rate as clicking Run yourself: one action per row processed. Creating a source and adding a column through MCP costs exactly what it costs in the app.