Connecting your assistant to Reelwire
The Reelwire MCP server speaks two transports, and which one you use depends on the client, not on what you want to do. The tools are identical either way.
| Transport | Use it when | Address |
|---|---|---|
| Streamable HTTP | The client connects to a server over the network | https://mcp.reelwire.io/mcp (the everyday tools) or https://mcp.reelwire.io/mcp/all (every tool) |
| stdio | The client starts the process itself, on your own machine | node .../mcp/dist/index.js --stdio (npm run stdio) |
Prefer HTTP unless the client only supports stdio: there is nothing to install, and it is always the current version.
Reelwire is tested with six assistants, and this page covers each step by step: ChatGPT, Claude (claude.ai, Claude Desktop, the Claude apps on your phone and Claude Code), Gemini, Grok, Perplexity and Mistral. Each connects by signing in, with no key to copy. For work with many pictures and videos, OpenAI Codex connects too, beside Claude Code. Then any other client.
Before you connect, three things differ from one assistant to the next and are worth knowing: which plan it takes, how to approve Reelwire's tools once rather than at every step, and how it moves files such as your pictures and videos into Reelwire.
Which tools it lists
At /mcp the server lists the everyday tools, about sixty: brands, channels, content, templates
and videos, the media library, and posts. Everything else is still there: the assistant finds it with
reelwire_find_tools and runs it with reelwire_use_tool, so nothing is out of reach. At
/mcp/all it lists every tool, about a hundred and twenty. Either way it lists only the tools your
key may use.
Both addresses do the same things. /mcp/all is not a stronger version: it lists every tool
up front, where /mcp lists the everyday ones and finds the rest when a conversation needs them.
Which to choose:
| Your app | Address |
|---|---|
| ChatGPT, claude.ai, Claude Desktop, Gemini, Grok, Perplexity, Mistral | /mcp: the assistant finds the rarer tools itself |
| Claude Code, OpenAI Codex | Either: /mcp/all if you want every tool listed from the start |
To move to the other address later, change the URL in an app that takes a key. An app that signs you in holds a connection for one address only: add it again with the other address and approve it again, then remove the old one.
Fewer is usually better: every tool's description takes room in the assistant's memory before you
type a word, and a model chooses better among fewer. Some apps also cap how many tools they take
from all their servers together; in one of those, use /mcp. An app that can send a header can
choose exactly which sets it lists, at either address:
| Header | Lists |
|---|---|
X-Reelwire-Toolsets: videos,brands | Those sets, and getting started and the docs |
X-Reelwire-Toolsets: core,syndication | The everyday tools and syndication |
X-Reelwire-Toolsets: all | Every tool |
The sets are posts, brands, channels, sources (feeds and post lists), videos,
media, streams (custom feeds and events), delivery (the webhook and the delivery log),
team, account (the plan and the allowance), syndication, ai and compliance (the compliance
record and the audit log, Enterprise). For a key that may do
everything, videos lists 22 tools, videos,brands 32, posts 25 and videos,brands,media 44,
getting started and the docs included. Over stdio the same words go in REELWIRE_TOOLSETS.
There are two ways to prove who you are. Signing in: you approve the connection on a Reelwire page and the app gets a key of its own. All six assistants connect this way. A key: you make one and put it in the app's configuration, as Claude Code and Claude Desktop can, and any other client that sends a header.
Before you start: make the key
Connecting by signing in? Skip this: the connection makes its own key. See Signing in for what the sign-in page asks.
Everything the assistant can do comes from this key, so make one for it rather than reusing a key some other system already holds. Making keys is for the workspace owner, or a colleague with the Administration permission.
- Sign in to Reelwire and open Connections → API keys. The first card, API keys for Reelwire, is the one you want.
- Press Create key and name it after the assistant, not after yourself:
Claude Code,Ops assistant. When you come to revoke one, the name is how you know which. - Choose when it expires: Never, a period (a day, a week, 30 or 90 days, a year) or an exact date and time in your own time zone. From that moment it stops working as if revoked, and its row says EXPIRED. With an expiry, Email a reminder before it expires writes to the owner and everybody with the Administration permission a week and a day before. A key for trying things out is worth giving a week.
- Tick the permissions you want it to have. The picker is grouped exactly like the side menu, so "everything except publishing" is a thing you can actually see and tick. See Permissions for what each area covers. Two boxes are yours to tick only if you hold them yourself: Posts - Approvals: write needs the Approvals permission, and Plan: read is the owner's.
- Copy the secret. If you lose it, Copy on the key's row shows it again once you have typed the password you sign in with.
A key with read-only permissions is a genuinely useful assistant: it can answer what went out, why something failed and what is scheduled. Widen it once you have watched it work for a week.
Signing in
All six assistants connect the same way: you add Reelwire's address in the app as a custom connector, and the app sends you to Reelwire to sign in. There is no key to make or paste.

- In the app, add a custom connector with the address
https://mcp.reelwire.io/mcp, exactly so, with no slash at the end. Each app's section below says where. If it asks how to sign in, choose OAuth. - A Reelwire page, Connect an assistant, opens in your browser: sign in if you are not already, and it names the assistant, the workspace it would use, and the address your answer goes back to. If that address is not the assistant you are connecting, deny it.
- Choose what it may do. Reading everything the workspace has is always included, exactly as a read only key would. When the assistant asked to act, a switch below it, Also allow it to change things, decides whether it may also change brands, channels, content, media and clips, send data in, and hand posts over; it starts on. An assistant that asked only to read gets no switch and only Allow reading. If you hold the Approvals permission, a second switch, Also allow it to approve and reject posts, says whether it may let posts go out. A third, Also allow it to manage your team and change your webhook address, says whether it may let somebody in and decide where your posts are sent. Both start on, so turn off what you would rather keep to yourself. Press Allow reading and acting, or Allow reading with the first switch off, and you are back in your assistant, connected. Deny sends it away with nothing.
What you allowed becomes a key of its own, listed under Connections → API keys with the
assistant's name and (connected) after it. Reading gives it the same permissions as the
Read only set on the keys screen; reading and acting gives it Run the whole workspace, less
whichever of the other two switches you turned off. A connection made before November 2026 keeps what it
was given until you connect it again. It holds no more than you could give a key by hand
either: without the Approvals permission yourself it cannot approve or reject posts, and only the
owner's connection can read the plan. Nor can it ever create keys or charge a saved card. Its token works
only through Reelwire's MCP server, never against the API directly. Reelwire also emails you and the
workspace's owners to say an assistant was connected.
The key itself lasts an hour, names the one MCP address it was issued for (/mcp and /mcp/all
are two, so moving between them means connecting again), and is renewed in place, so one connection
stays one row. Its row reads
Renewed by the assistant where other keys show an expiry: the connection renews itself while you
use it and lapses after thirty days of not being used. Each renewal reads your permissions again, so one you lose leaves your assistant
within the hour. A renewal token used twice ends the connection, since one of the two using it is not
your assistant. Revoke there ends the connection; it stops working within ten seconds. To change
what a connection may do, revoke it and connect again, choosing differently.
Connecting makes a key, so it needs the same right as making one by hand: the workspace owner, or a colleague with the Administration permission. Anybody else sees a page saying so. A connection counts as one of the workspace's keys, and a workspace whose subscription was cancelled cannot make new ones.
The apps rename their menus now and then. Where a name below is not what you see, look for connectors, or custom apps, in the app's settings. Some of them offer custom connectors on their paid plans only.
Which plan you need
Connecting Reelwire means adding a custom connector, a server of your own choosing, and not every plan of every assistant allows that. What the six said in November 2026:
| Assistant | On its free plan | On its paid plans | On your phone |
|---|---|---|---|
| ChatGPT | No custom connectors | Plus and Pro, with developer mode switched on. Business and Enterprise once an admin allows developer mode | Added on the web |
| Claude | Yes, one custom connector | Pro, Max, Team and Enterprise. On Team and Enterprise an owner adds it once, then everybody connects | Added on the web or in the desktop app, then there in the iOS and Android apps |
| Gemini | Google names no plan. Custom apps are for personal Google accounts, in the United States, in English, from the age of 18 | The same limits | Added on the web, then there in the apps |
| Grok | xAI offers connectors to every Grok user | Business and Enterprise: an admin adds the connector first | Web, iOS and Android |
| Perplexity | No custom connectors | Pro, Max and Enterprise. In an organisation an admin allows members to add custom connectors | Added on the web |
| Mistral | Yes | Pro, Student and Team. In a team an administrator adds it once | Added on the web |
Even where a free plan connects, it is rarely enough for real work. Setting up a brand, planning weeks of posts and looking at the stills before a video is made take many tool calls and long answers, and free plans run out of messages or usage quickly, often in the middle of a setup. Count on a paid plan for working with Reelwire every week. The vendors change their plans often, so check the plan page of your assistant when something here no longer holds.
Approving tools once, not every time
Every assistant asks before it runs a tool, at least one that changes something, and asking at every step gets tiring in a long setup. Reelwire tells each app which of its tools only read, so most apps run those without asking and ask only before a change. Where an app lets you, approve Reelwire's tools in advance, in one place:
| Assistant | Where to approve Reelwire's tools in advance |
|---|---|
| Claude (web, desktop, phone) | Customize → Connectors → Reelwire → Tool permissions: set the read-only tools and the tools that change things each to Always allow, a whole group at once or tool by tool. Pressing Allow always when Claude asks does the same for that one tool. On Team and Enterprise the owner's settings come first. |
| Claude Code | Run /permissions and add the allow rule mcp__reelwire__*, or write it into settings.json: "permissions": { "allow": ["mcp__reelwire__*"] }. The rule covers every Reelwire tool. |
| ChatGPT | ChatGPT runs the tools that only read without asking and remembers an approval for the rest of the conversation. Where your plan offers it, the app's settings in ChatGPT say how often it asks. |
| Gemini | Not possible: Gemini asks you to confirm every action that changes something. |
| Grok and Perplexity | Neither documents a way to approve a connector's tools in advance: approve each when it asks. |
| Mistral | Connectors → My Connectors → Reelwire → Functions: switch Always allow on for each function. |
| OpenAI Codex | In config.toml, default_tools_approval_mode under [mcp_servers.reelwire] decides for every Reelwire tool at once; writes asks only before tools that change something. OpenAI's configuration reference lists the other values. |
Approving everything in advance lets the assistant change brands and hand posts over without asking. Allow the tools that only read first, and the rest once you have watched it work for a while.
Pictures, videos and other files
A file reaches your media library from a chat in one of three ways:
- From a public web page, such as a picture on your website: the assistant gives Reelwire the
file's address and Reelwire fetches it itself (
reelwire_import_media). It works in every assistant, with nothing to switch on. A video a platform plays only inside its own app has no such address. - From your device: the assistant asks for an upload link. In Claude and ChatGPT a drop zone
appears in the conversation; drop the files there or choose them. Elsewhere it gives you a page
to open (
reelwire_media_upload_page). - From the assistant's own sandbox: a logo it cut out, a photo it cropped, or a file it downloaded from a site Reelwire cannot fetch from. The assistant sends it to the upload link itself, which needs a sandbox that may reach the internet.
Claude: Code execution and file creation
Claude can download a file and send it on to Reelwire only when Code execution and file creation is on and its network access lets it reach both addresses. Without it, Claude asks you to upload the file by hand, which is what you will see on your phone while it is off. It is one setting for your whole account: switched on in one place, it is on everywhere, on the web, in the desktop app and on your phone.
- On the web and in the desktop app: Settings → Capabilities, switch on Code execution and
file creation (in newer versions Create and edit files). Under its network access, allow Claude
out to the internet: Allow network egress, or, where it asks for addresses, add
app.reelwire.ioand the websites it should fetch from, or choose all domains. - On your phone: tap your name in the side menu, then Capabilities, and switch on the same setting.
- On Team and Enterprise the owner decides, under Organization settings → Capabilities. Its
network access starts at package managers only, which keeps Reelwire out: choose package managers and
specific domains with
app.reelwire.ioadded, or all domains. On Enterprise, network access is off until an owner turns it on.
Reelwire's tools themselves work without this setting: it is only for moving files Claude holds itself.
The other assistants
ChatGPT's sandbox cannot send a file to another address, and Gemini, Grok, Perplexity and Mistral document no sandbox of that kind. In those, a file goes in by its web address (1) or through the drop zone or the upload page (2).
Which assistant for pictures and video
Assistants differ in how well they look at pictures and video. All six read pictures; Gemini can also watch a video you upload, where most of the others look at stills from it, or at nothing. For work with many files, such as cutting out a logo, cropping and converting photos, taking the pictures from your website or turning your phone's videos into posts, the best results come from an assistant that works on your computer, with a folder of its own to download, convert and keep files in between steps: Claude Code and OpenAI Codex. Both connect to Reelwire like the others.
ChatGPT
Add a custom MCP server on the web: in ChatGPT's apps (on many accounts Settings → Apps → Advanced
settings), switch on developer mode, then add a custom MCP server or connector with the address
https://mcp.reelwire.io/mcp, choose OAuth if it asks how to authenticate, accept ChatGPT's warning
about servers it has not reviewed, and sign in to Reelwire when the page opens, as under
Signing in. In a chat, choose Reelwire among the apps, or type @ and pick it.
It takes Plus or Pro; the free plan has no custom connectors. On Business and Enterprise an admin allows developer mode for the workspace first, under its permissions, and each person then switches it on in their own settings. ChatGPT asks you before it runs any tool that changes something and remembers your answer for the conversation; the ones that only read run without asking. ChatGPT shows a video you make in a player under the answer, and a drop zone when you upload files.
Some ChatGPT surfaces expose only search-shaped and fetch-shaped tools to the model rather than the
full set. Where that is the case, reelwire_search_docs, reelwire_read_doc and the reelwire_list_*
tools still work, and the ones that change things may not appear. If you need the full set, use
ChatGPT where it passes MCP tools through whole.
Claude
claude.ai and Claude Desktop
claude.ai and the Claude Desktop app share their connectors: add Reelwire once, in either, and it is there in both.
- In Claude, open Customize → Connectors (in older versions Settings → Connectors), press Add and choose Add custom connector. On a Team or Enterprise plan an owner adds it once, under Organization settings → Connectors → Add → Custom → Web, and everybody then presses Connect on it. The Free plan takes one custom connector.
- Give it the name
Reelwireand the addresshttps://mcp.reelwire.io/mcp. If it asks how to sign in, choose Sign in now and Claude's own identity, then add it. - Sign in to Reelwire and choose what it may do, as under Signing in.
Using it. In a chat, switch Reelwire on under + → Connectors. Claude asks before it runs a
tool, offering Allow once or Allow always, and the connector's own page, under Tool
permissions, lets you set each tool, or each group of tools, to Always allow, Needs approval
or Blocked (see Approving tools once). Leave Tool access on Auto, so Claude
brings in Reelwire's tools as the conversation needs them. A video you make plays in a player under
the answer, and a request to upload files shows a drop zone there. A connector sends no header but
its sign-in, so choose the tools by the address rather than with X-Reelwire-Toolsets.
On your phone. The Claude apps for iOS and Android use the connectors you added on the web or in the desktop app: sign in to the app with the same account and switch Reelwire on in a chat as above. For Claude to download a file, such as a picture from a website, and send it to your media library, switch on Code execution and file creation with network access, as under Claude: Code execution and file creation. Without it Claude asks you to upload the file yourself.
Claude Desktop with a key
The connector above is the simple way. To use a key you made instead, for example one with exactly
the permissions you chose, Claude Desktop needs a small bridge: its own configuration file only starts
programs on your computer, so it starts mcp-remote, an open-source program that talks to Reelwire
for it. It needs Node.js 18 or newer.
Open Settings → Developer → Edit Config. That is claude_desktop_config.json, in
%APPDATA%\Claude\ on Windows and ~/Library/Application Support/Claude/ on macOS. Add:
{
"mcpServers": {
"reelwire": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.reelwire.io/mcp", "--header", "Authorization:${AUTH_HEADER}"],
"env": { "AUTH_HEADER": "Bearer rw_your_key_here" }
}
}
}
Write Authorization:${AUTH_HEADER} exactly so, with no space after the colon: on Windows Claude
Desktop hands the arguments on without quoting them, and a space would split the header in two. The
key itself goes in AUTH_HEADER, where the space is safe. To choose the tool sets as well, add two more
arguments, "--header", "X-Reelwire-Toolsets:videos,brands". Then quit Claude Desktop completely,
from the tray on Windows or the menu bar on macOS rather than by closing the window, and start it
again. Reelwire appears under + → Connectors in a chat, and Claude asks before each tool call.
Claude Code
One line:
claude mcp add --transport http reelwire https://mcp.reelwire.io/mcp \
--header "Authorization: Bearer rw_your_key_here"
Or leave the header out, run /mcp inside Claude Code and choose to sign in: the Reelwire page of
Signing in opens in your browser. claude mcp list shows whether it connected. Add
--scope user to the line above to have Reelwire in every folder you work in, not only this one.
Claude Code works on your computer: it can download pictures and videos, convert and crop them in your
folder and send them to Reelwire's upload link, which makes it the best choice for work with many files
(see Which assistant for pictures and video). To stop it asking
before each Reelwire tool, add the allow rule mcp__reelwire__* with /permissions.
Gemini
In the Gemini web app, open Settings → Connected apps, choose Add a custom app, give it
https://mcp.reelwire.io/mcp, and sign in to Reelwire when the page opens, as under
Signing in. Where Add a custom app is missing, your account does not offer it yet.
What Google asks of an account for custom apps: a personal Google account (not one from work or school), in the United States, with Gemini in English, from the age of 18, and the activity setting Gemini keeps your chats with switched on. A custom app is added in the web app only, and then works in the Gemini apps on your phone too. Gemini asks you to confirm every action that changes something, and there is no setting to approve them in advance. Gemini watches videos you upload better than most, which helps when you choose which of your own videos to post.
Grok
At grok.com, open Connectors, press New Connector and choose Custom. Give it
https://mcp.reelwire.io/mcp and sign in to Reelwire when the page opens, as under
Signing in.
xAI offers connectors to every Grok user, on the web and in the iOS and Android apps, where they are under Settings → Connectors. On Grok's Business and Enterprise plans an admin adds the connector in the organisation's console first, and each member then connects with their own Reelwire account. Grok asks before it runs a tool; it documents no way to approve a connector's tools in advance.
Perplexity
In Perplexity, open Plugins in the side menu (on some accounts Customize → Connectors), press
Add custom, choose Add MCP connector and then Remote. Give it the name Reelwire and the
address https://mcp.reelwire.io/mcp, choose OAuth to authenticate, and sign in to Reelwire when the
page opens, as under Signing in. Finish the sign-in before you close the tab. In a new
thread, switch Reelwire on among the sources.
Custom connectors are part of Perplexity's Pro, Max and Enterprise plans. In an organisation an admin first switches on Allow members to add custom connectors. Perplexity documents no way to approve a connector's tools in advance.
Mistral
In Mistral's Le Chat, open Connectors in the side menu, press Add connector and choose
Custom MCP. Give it the name Reelwire and the address https://mcp.reelwire.io/mcp, press
Connect, and sign in to Reelwire when the page opens, as under Signing in. In a
conversation, switch Reelwire on among the tools. In a team, an administrator adds the connector once
and each person then signs in with their own Reelwire account.
Le Chat takes custom connectors on every plan, the free one included. It asks before every call until you allow a function in advance: Connectors → My Connectors → Reelwire → Functions, then Always allow beside each one.
OpenAI Codex
Codex works on your computer, in the terminal, its desktop app or your code editor, with a folder of its own: like Claude Code, it can download pictures and videos, convert them and send them to Reelwire, which makes it a good choice for work with many files. Add Reelwire and sign in:
codex mcp add reelwire --url https://mcp.reelwire.io/mcp
codex mcp login reelwire
The second line opens the Reelwire page of Signing in in your browser. Or write it into
Codex's config.toml yourself:
[mcp_servers.reelwire]
url = "https://mcp.reelwire.io/mcp"
In the Codex desktop app it is Settings → MCP servers → Add server. Codex's own sandbox has no
network access by default, so to let it download a file and send it to your media library, allow it in
config.toml:
[sandbox_workspace_write]
network_access = true
How Codex asks before Reelwire's tools is under Approving tools once.
Any other client
Another app that speaks MCP connects with a key, in one of two shapes:
Streamable HTTP, for a server somebody is running:
{
"mcpServers": {
"reelwire": {
"type": "http",
"url": "https://mcp.reelwire.io/mcp",
"headers": { "Authorization": "Bearer rw_your_key_here" }
}
}
}
stdio, for a client that starts the process:
{
"mcpServers": {
"reelwire": {
"command": "node",
"args": ["/path/to/reelwire/mcp/dist/index.js", "--stdio"],
"env": {
"REELWIRE_BASE_URL": "https://app.reelwire.io",
"REELWIRE_API_KEY": "rw_your_key_here"
}
}
}
}
A client that only starts programs can also reach the hosted server through mcp-remote, exactly as
under Claude Desktop with a key. Reelwire is tested with the six
assistants above; another client that speaks MCP should connect the same way, and where it takes only
so many tools, use /mcp or a header naming the sets you need.
Running it yourself
The server is a small Node.js program, the same one Reelwire runs at https://mcp.reelwire.io/mcp,
and needs Node.js 20 or newer. If you would rather it sat inside your own network, next to your own
systems, ask us for it. From its folder, npm install and
npm run build once, then either:
# Streamable HTTP, at /mcp on port 4500
REELWIRE_BASE_URL=https://app.reelwire.io npm start
# stdio, for a client that starts the process itself
REELWIRE_BASE_URL=https://app.reelwire.io REELWIRE_API_KEY=rw_your_key_here npm run stdio
It holds no key of its own over HTTP. Every client sends its own key in the Authorization
header, exactly as above, and the server acts as that key for that one request, so one server
serves every person who connects to it, each strictly as themselves. Signing in with OAuth is
offered only by Reelwire's own server, because Reelwire signs assistants in for its own MCP address
alone, so clients of yours send a key.
| Variable | What it is |
|---|---|
REELWIRE_BASE_URL | Where the Reelwire API lives |
REELWIRE_API_KEY | For stdio only: the key of the one person whose assistant starts the process. Leave it out when serving over HTTP, where it is never read |
REELWIRE_DOCS_DIR | Where the documentation pages are. Without them the tools still work and reelwire_search_docs finds nothing |
REELWIRE_DOCS_URL | Where a person reads the documentation in a browser, for links to a template's or a feed's catalogue page. Without it the links are left out |
REELWIRE_TOOLSETS | For stdio only: which tools it lists, as the X-Reelwire-Toolsets header says them. Defaults to the everyday ones |
REELWIRE_DOWNLOAD_DIR | Where tools that produce a file write it, over stdio. Defaults to a temporary directory; files older than a day are cleared |
MCP_ALLOWED_ORIGINS | Browser origins allowed to call it, comma separated. Assistants send none and are unaffected; empty accepts no browser |
MCP_RATE_LIMIT_PER_MINUTE | Requests per minute for one key. Defaults to 600 |
MCP_TOKEN_FAILURES_PER_MINUTE | How often one key that is not accepted may be tried in a minute before it is refused for the rest of it. Defaults to 10 |
MCP_AUTH_FAILURES_PER_MINUTE | Failed sign-ins one address may make in a minute before it is refused for the rest of it. Defaults to 300 |
MCP_RESOURCE_URL, REELWIRE_AUTH_SERVER | Switch signing in with OAuth on. Leave both empty on a server of your own, for the reason above |
PORT | What it listens on. Defaults to 4500 |
GET /health says whether it is up, the version and commit it runs, and how many documentation
pages it is carrying. A key it has checked is remembered for ten seconds, so a key revoked in
Reelwire stops working here within ten seconds.
Checking it worked
Ask the assistant:
Who am I on Reelwire, and what can you do?
It should call reelwire_whoami and answer with the workspace name and the permissions the key
holds. That one question tells you three things at once: the connection works, the key is valid, and
the permissions are what you meant to grant.
Then:
What is scheduled to go out this week?
which reaches reelwire_calendar. And if you ever need to tell us which Reelwire you are talking to,
ask "which version of Reelwire is this?": reelwire_whoami answers with the version and commit of
both the MCP server and the API behind it. The server also gives its version when a client connects,
which some clients show beside its name.
When it does not work
The assistant does not see any Reelwire tools. The client did not connect, or Reelwire is not
switched on in this conversation. Switch it on where the app lists its connectors or tools, and
check the address ends in /mcp (or /mcp/all). In an app with a configuration file, restart it
fully, not just the conversation.
It says it has no tool for something. At /mcp, or with a header naming sets, the less common
tools are not listed: ask it to use reelwire_find_tools, or connect at /mcp/all where the app
takes that many. A tool for something your key may not do is not listed at all; widen the key.
Everything is refused with "this key may not..." The key is valid and too narrow. The refusal names the permission; go back to Connections → API keys, press Permissions on the key and tick it. For a connection made by signing in, revoke it and connect again, allowing it to act. A refusal to approve posts or read the plan on a connection that may act means the person who connected it does not hold Approvals, or is not the owner.
"The key was not accepted" on every call. The key is wrong, revoked, expired, or was pasted with
a trailing space. Keys start rw_. Make a fresh one rather than hunting for the typo. A connection
made by signing in reconnects by itself; if it does not, connect again. With a key read from an
environment variable, the app has to be started after the variable was set.
Claude Desktop does not show Reelwire after you edited its configuration. Quit it completely and
start it again. Its logs, mcp-server-reelwire.log in %APPDATA%\Claude\logs on Windows or
~/Library/Logs/Claude on macOS, say what went wrong; a missing Node.js is the usual cause.
"That is a dashboard session, not an API key." Something handed the assistant the token your
browser signs in with, which starts rws_. Make an API key instead.
"Reelwire no longer knows this assistant." The assistant registered itself with Reelwire earlier and that registration is gone: one that never connected is forgotten after a week, and one with no connection in use after ninety days. Remove Reelwire from the assistant's connectors, add it again, and connect once more.
"More than 600 requests this minute" or "Too many failed sign-ins". One key may make 600 requests a minute; a key that is not accepted is refused for the rest of the minute after ten tries, and an address after three hundred. Wait a minute; if it keeps happening, the assistant is looping, and telling it to stop and explain is the fix.
Tools appear but time out. The client cannot reach the server. If you are running it yourself,
check it is up (GET /health) and its port can be reached from the client.
A render never finishes. It takes about a minute, longer when the machines are busy. In Claude
and ChatGPT the player under the answer follows it by itself. Elsewhere the assistant should leave
ten to fifteen seconds between polls of reelwire_export_status; some will poll harder than that and
give up. Tell it to wait.