All topics

Connecting your own AI

How a maker connects their own AI assistant (Claude or ChatGPT) to Toolcrow, what that AI can read and do, and what it cannot do.

Last updated

The connection

  • The connection uses MCP (Model Context Protocol), the standard way AI assistants connect to outside services. There are two ways to connect; both give the same access to all of the maker's own drops.
  • Sign in (the usual way). In Claude (Settings, Connectors), the maker adds a custom connector with the URL https://www.toolcrow.app/mcp. Claude sends the maker to Toolcrow to sign in, and Toolcrow shows which app asks for access, what it can do and where the maker goes back to. The connection starts after "Allow access".
  • Once per Claude account. The connector belongs to the maker's Claude account, so after adding it once Toolcrow works in Claude chat and in Claude Code, on claude.ai and in the Claude desktop app. A connector added on claude.ai shows up in a desktop app that was already open after the app restarts.
  • Claude Code in a terminal. Claude Code on the command line can also add Toolcrow on its own: claude mcp add --transport http toolcrow https://www.toolcrow.app/mcp, then /mcp in Claude Code to sign in.
  • ChatGPT. On chatgpt.com, the maker opens Plugins (chatgpt.com/plugins), chooses the plus button and "Add custom MCP server", gives it the name Toolcrow, pastes https://www.toolcrow.app/mcp as the server URL, keeps OAuth as the authentication, confirms OpenAI's warning and chooses "Create as a plugin". ChatGPT then sends the maker to Toolcrow to sign in and "Allow access". In a new conversation, typing @ and choosing Toolcrow uses it. Whether custom MCP servers are available depends on the ChatGPT plan and, in a workspace, on what the admin allows; OpenAI's own help pages have the details. After a Toolcrow update, "Refresh" on the plugin in ChatGPT loads the new list of tools.
  • Which apps can connect. Toolcrow accepts Claude (claude.ai and claude.com), ChatGPT (chatgpt.com) and apps on the maker's own computer, such as Claude Code. The name Toolcrow shows for a connected app (on the sign-in screen and on the Connections page) comes from where the app sends the maker back after "Allow access", not from the name the app gives itself: chatgpt.com is ChatGPT, claude.ai is Claude, an app on the maker's computer is Claude Code. Other AI apps can use the personal link.
  • The connected app gets its own Toolcrow key that only works for this connection: it cannot sign in to Toolcrow, change the account or reach the database. Toolcrow stores only a fingerprint of it. The key renews itself while it is in use; after 90 days without use, the AI app asks the maker to sign in again.
  • The Connections page (/connections) starts with "Your AI": a Claude tile, a ChatGPT tile and an "Other AI app" tile, all leading to its own page (/connections/ai). There the connected AI apps (each with its name and logo) and the personal link are a list. "Connect your AI" (or "Add AI") opens a side panel with a choice between Claude and ChatGPT and the steps for that app (the address to paste); for Claude, "Other ways to connect" holds the Claude Code terminal command. "Other AI app" opens the steps for an app that cannot sign in (create a personal link, add it in the app as an MCP server). "What it can do" is a table of the Toolcrow MCP tools exactly as the AI sees them, with per tool whether it reads, creates a private drop, or proposes a change the maker approves. Opening a connected app shows when it was connected and last used, and "Disconnect", which stops that app straight away after a confirmation.
  • Personal link. For an AI app that cannot sign in, the maker can instead create a personal connection URL (in "Connect your AI": "Use a personal link"). The secret is part of that URL, so it works without signing in: whoever has the URL has the same access. It is shown once; Toolcrow stores only a fingerprint of it, so a lost URL is replaced by generating a new one. Each maker has one personal link. "Regenerate" makes a new URL and stops the old one; "Revoke" stops it.
  • The AI that is connected is the maker's own (for example their Claude or ChatGPT account). Toolcrow does not run or pay for it.

What the connected AI can do

Every tool that works on one drop takes the drop's slug (as list_drops returns it) or the drop's address: its toolcrow.live link or its toolcrow.app link. It only ever finds the maker's own drops.

  • get_toolcrow_guide: read this guide, as a table of contents or one topic at a time.
  • list_drops: list the maker's drops, with status, visibility and the number of feedback items, plus the email address of the Toolcrow account the connection belongs to.
  • list_feedback: read the feedback for one drop, each item with an id, the message, the category, whether the visitor left contact details (not the name or email itself), its status, the version it was fixed in and whether it is already linked to the waiting draft. By default it returns only open items; a filter returns closed items or all.
  • get_drop_code: read a drop's code, whole or in parts, search in it, or read the open draft instead of the live version.
  • propose_new_version: save an improved version as a draft, with an explanation for the maker and the ids of the feedback items it fixes (feedback_ids). Ids that do not belong to the drop are ignored and listed in the response. Proposing replaces an open draft, also one prepared by Toolcrow itself (the response says so), unless the AI builds on that draft; then the linked feedback items of all rounds are kept together.
  • create_drop: create a new drop in the maker's account, from one file (code: HTML, a React or Vue component, or plain JavaScript) or from the files of a static website (files, with an HTML start page). The same scan runs as on the New drop page (see Building and importing), and the response gives the verdict with a short explanation and the links to the drop page. A drop created this way is always private (see Sharing and access); at most 20 drops per 24 hours are created through a connected AI.
  • propose_forwarding: propose a webhook for a drop, so that every new submission is also sent to that webhook URL (Slack, Discord, Microsoft Teams, Airtable, a HubSpot form, Zapier, Make, n8n or another service). It is a proposal: nothing is sent until the maker approves it in Toolcrow (see Saving data). A new proposal replaces a pending one; the webhook that is already forwarding keeps working until the maker approves the new one.
  • list_connections: see the connectors the maker added on the Connections page (each webhook with its id, service, label, domain, actions, last delivery and the drops that use it; each Google connector with its id, account, status and the drops and files it serves), plus every connector Toolcrow supports with its actions and setup steps. To use a webhook connector the maker already added, propose_forwarding takes its connection_id instead of a URL. A Google connector is picked per drop by the maker in Toolcrow, together with the sheet; the AI cannot attach it.
  • get_forwarding: see whether a drop has a webhook, to which service and domain (never the full URL), whether a proposal is waiting, and the latest deliveries with their outcome and HTTP status (never their content).

Good to know

  • One account per connection. The AI sees the drops of the Toolcrow account the maker signed in with when connecting; list_drops shows which account that is. To use another account, disconnect Toolcrow in the AI app and connect again, and choose "Use another account" on Toolcrow's sign-in screen.
  • Only allow what you started. Toolcrow's sign-in screen names the app and where the maker goes back to. Someone could send a maker a link that opens this screen for a connection the sender started in their own Claude or ChatGPT account; allowing it would give the sender's AI access to the maker's drops. The screen therefore says to only allow access when the maker just added Toolcrow in that app themselves. A connection the maker does not recognise can be stopped with "Disconnect" on the Connections page.
  • Removing Toolcrow in Claude or ChatGPT. Toolcrow has the standard address where an AI app can hand its key back (OAuth token revocation). Claude Code uses it when the maker signs out of Toolcrow there (claude mcp logout toolcrow, or "Clear authentication" in /mcp): the app then disappears from the Connections page straight away. Removing the connector in Claude's settings, or with claude mcp remove, does not tell Toolcrow, so the app keeps its access on the Connections page until the maker clicks "Disconnect" there too (or until it goes 90 days unused). The same goes for removing Toolcrow in ChatGPT: OpenAI does not document that ChatGPT hands the key back, so disconnecting it on the Connections page too is the safe way.
  • Very large tools. With create_drop the AI writes out the whole tool in one message, and how long that message can be depends on the AI app and the plan. A single file with libraries, fonts or images built in can be longer than that. The maker then uploads the file on the New drop page (/new), up to 10 MB, and the AI can work on it from there: it reads a large drop in parts and sends only the changes (propose_new_version).
  • New tools after an update. An AI app remembers the list of tools from the moment it connected. When Toolcrow adds a tool, an AI that was connected before may say it does not have it, even though this guide mentions it. Disconnecting and connecting Toolcrow again in the AI app (in Claude: Settings, Connectors) and starting a new conversation loads the current list. In ChatGPT, "Refresh" on the Toolcrow plugin does the same.
  • Claude asks permission before it saves something. The first time Claude wants to use a Toolcrow tool that saves something (such as propose_new_version), claude.ai asks the maker for permission in the chat. Until the maker answers, Claude waits, so the update does not appear in Toolcrow. Choosing "Always allow" avoids the wait. That is safe because every update stays a draft until the maker publishes it, and a webhook proposal only starts sending after the maker approves it in Toolcrow.
  • Both Claude and ChatGPT connected. Both have the same access, and Toolcrow never sends anything to an AI by itself: the AI app the maker is chatting in does the work. Buttons that open a chat with a prompt ("Change with your AI" on the drop page, "Fix with your AI" in Nest, and on the New drop page) open the maker's default AI, with a small arrow next to it to open the other one instead; with one app connected they open that one. The default is set on the Connections page, below the AI apps, or under Connections, Your AI ("Default AI": Last used, Claude or ChatGPT), and the default app is marked "Default" there; "Last used" opens the app that was used most recently. When a second AI app is connected, Toolcrow asks once, the next time the maker is in Toolcrow, whether it should become the default. A drop has one open draft: when the other AI proposes a change too, its draft replaces the first one (or builds on it), and the drop page names the app that prepared the current draft.
  • Opening ChatGPT with a prompt. "Open in ChatGPT" puts the prompt in the link (chatgpt.com/?q=…), as "Open in Claude" does for claude.ai. ChatGPT opens with the prompt filled in and waits until the maker sends it, so the maker can still change it first. OpenAI does not document this link, so it could change; the prompt is also copied, so pasting it always works.
  • The AI may ask you to confirm first. Before it proposes a webhook, an AI assistant can ask the maker to confirm in the chat that submissions may go to that address. That check belongs to the AI assistant itself, not to Toolcrow. Toolcrow then still asks the maker to approve the webhook before anything is sent.

What it cannot do

  • It only ever sees the connected maker's own drops. Drops of other makers, and deleted drops, do not exist for it.
  • It cannot publish or share. A new drop it creates is private, so only the maker can open it until they choose who has access. A proposal for an existing drop is always a draft that the maker tests and then publishes or discards on the drop page (see Versions, backups and drafts).
  • It cannot delete drops or change settings, visibility, passwords or stored data, and cannot read the data visitors saved. A webhook only starts sending after the maker approves the AI's proposal, and the AI cannot turn a webhook off or send a test; the maker does that on the drop page.

Data that reaches the AI

Whatever the AI reads through these tools (drop names, code and feedback messages) is sent to the maker's own AI assistant and handled under that assistant's terms. Names and email addresses that visitors left with their feedback are not sent to the AI; the maker sees them in Toolcrow only.

Something missing or unclear? Email hello@toolcrow.app. We answer personally.