HELP · CREATE AND SEND POSTS
Use Growfinch with Claude
Connect Claude to Growfinch and you can ask in plain words: check your accounts, draft and validate campaigns, upload files, fill queues and read results. Claude can’t approve. Whatever it creates waits for a person, in the console.
Updated 5 November 2026 · Growfinch
What the MCP server is
MCP, the Model Context Protocol, is how an AI assistant such as Claude uses another product’s tools. Growfinch’s MCP server gives Claude tools that do what the console and the REST API do, through the same rules. For the overview, see Growfinch’s MCP server; this page is the hands-on part.
- Address:
https://growfinch.com/mcp(the same server also answers athttps://growfinch.com/api/mcp) - Transport: Streamable HTTP, the MCP transport for remote servers. The server is stateless: each request stands on its own, with no session to keep open.
- Sign-in: either Growfinch’s consent screen (OAuth: you sign in, pick one business and what Claude may do), or an API key sent with every request as
Authorization: Bearerand the key. Either decides which business Claude can act on and what it may do there. - Without sign-in: three free tools work at once,
check_post_length,adapt_postandcheck_post: five calls a day each, and nothing is stored.
Connect with sign-in, no key
Clients that support MCP sign-in (OAuth) need only the address. In Claude’s apps, add a custom connector with the address https://growfinch.com/mcp and leave the request headers empty; in Claude Code, run the command below without a header. The first time Claude asks for workspace work, it opens Growfinch’s consent screen:
claude mcp add --transport http --scope user growfinch https://growfinch.com/mcp
- Sign in to Growfinch with your work email, as you do for the console.
- Pick the one business Claude may work for, and tick what it may do: find opportunities, create drafts, request approval, read reports. Publishing is never on the list.
- Click Allow access. Claude gets a token for that business only, renewed for 30 days while you use it.
Claude then has find_opportunities, create_draft, request_approval and get_report. Everything public it prepares waits in your approval queue. To end the connection, open Settings → Connected agents in the console and click Disconnect: every token stops at once. How agents connect to Growfinch.
Before you start
- An API key. During early access, Growfinch issues keys on request: write to support at support@growfinch.com with the businesses Claude should work on. Ask for
campaigns:read,campaigns:writeandmedia:writeso every tool on this page works. What each scope allows. - Keep the key secret. Hold it in an environment variable or your client’s own secret store. Never paste it into a chat, a prompt or a file you share or commit.
- The accounts connected in the console, so there is somewhere to post: YouTube, Instagram and X.
Connect Claude Code
- In your terminal, put the key in an environment variable. Run this, paste the key and press Enter; nothing shows, and the key stays out of your shell history:
read -rs GROWFINCH_API_KEY && export GROWFINCH_API_KEY
- In the same terminal, add the server. Keep
--headerlast, after the address:
claude mcp add --transport http --scope user growfinch https://growfinch.com/api/mcp --header "Authorization: Bearer $GROWFINCH_API_KEY"
Your shell puts the key in place of $GROWFINCH_API_KEY, and Claude Code saves it in your own settings file in your home folder, not in any project. --scope user makes Growfinch available in all your projects; leave it out to add it to the current project only.
- Check it: run
claude mcp list. The line forgrowfinchshould say Connected. Inside Claude Code,/mcpshows the same. - Start Claude Code and ask: Using Growfinch, list my businesses. Claude should show only the businesses your key was made for. Claude Code asks before it uses a tool you haven’t allowed: read what it’s about to send.
To use a new key, run claude mcp remove growfinch, then steps 1 and 2 again.
Claude Code’s own guide to MCP is at code.claude.com/docs/en/mcp.
Connect Claude’s apps or another client
Claude’s apps
In Claude on the web, desktop and mobile, Growfinch is a custom connector that sends your key in a request header.
- On a Free, Pro or Max plan, open Customize, then Connectors, and click Add custom connector. On a Team or Enterprise plan, an Owner adds it under Organization settings, then Connectors: Add, Custom, then Web.
- For the server URL, enter
https://growfinch.com/api/mcp. - For Authentication, choose No sign-in.
- Under Request headers, choose
authorization. For the value, typeBearer, a space and your key: Claude sends exactly what you type. Mark it Required. - Click Add. In a chat, turn the connector on (the + button, then Connectors) and ask Claude to list your businesses.
Request headers are in beta and offered to some organizations only. If your dialog has no Request headers section, use Claude Code for now. On a Team or Enterprise plan, everyone who uses the connector uses that one key, so it reaches the same businesses for all of them. A connector’s headers can’t be edited: to change the key, remove the connector and add it again. Anthropic’s steps are in Add a connector that isn’t in the directory.
Other MCP clients
Any client that connects to a remote server over Streamable HTTP and lets you set a request header works the same way: give it the address https://growfinch.com/api/mcp and the header Authorization: Bearer followed by your key, kept in the client’s secret store or an environment variable.
The tools Claude gets
Every tool that touches a business takes its business_id, which list_businesses gives. Claude asks you when it doesn’t know which business you mean; Growfinch never guesses. The eleven reading tools are marked read-only for your client, and cancel_campaign is marked as one that removes something.
| Tool | What it does | Changes anything? | Scope |
|---|---|---|---|
list_businesses | The businesses your key may act on, with each one’s business_id, time zone, publishing mode and required checks. | No | Any key |
list_connections | A business’s accounts: platform, handle, status, permissions and when the permission expires (never a token), with each platform’s caption limit. | No | Any key |
list_templates | A business’s content templates. Growfinch keeps none yet, so the list comes back empty. | No | Any key |
validate_campaign | A dry run of create_campaign: the checklist, a preview per post and what would happen (draft, waiting for approval or scheduled). | No | campaigns:write |
create_campaign | Creates a campaign for one business. It waits for a person’s approval unless the business allows automatic publishing for that kind of post. | Yes: creates | campaigns:write |
get_campaign | One campaign with its posts (status, link, error) and its history. | No | campaigns:read |
list_pending_approvals | Items waiting for a person, for one business or all of yours. | No | Any key |
approve_campaign | Always refused (see below). | No | None works |
cancel_campaign | Cancels a campaign’s posts that haven’t gone out. Published posts stay up. | Yes: cancels | campaigns:write |
list_recent_posts | A business’s latest posts (20, or up to 100 if you ask) with status, link, error code and the latest views, likes and comments. | No | campaigns:read |
get_usage | Posts published this month, per business. | No | campaigns:read |
register_media | Registers a file by its SHA-256 fingerprint and size, and returns where to upload it. | Yes: adds a file | media:write |
complete_media | After the upload, confirms the file arrived and marks it ready. | Yes: marks it ready | media:write |
get_post_metrics | Daily snapshots per published post and 7- and 30-day totals per platform (the last 30 days unless you ask). | No | campaigns:read |
create_queue | Creates a weekly timetable for one business: weekday and time slots, accounts, approval mode, order, recycling and a daily maximum. | Yes: creates | campaigns:write |
list_queues | A business’s queues with their slots, mode and whether they’re paused. | No | campaigns:read |
update_queue | Changes a queue’s slots, accounts, mode, order, recycling, daily maximum or expiry. | Yes: changes | campaigns:write |
add_to_queue | Adds a campaign without a time to a queue, or an existing draft or pending campaign. The reply names the slot it will land in. | Yes: creates | campaigns:write |
plan_queue | Which item lands in which slot over the next days (14, or up to 60), the first empty slot and how many days of content remain. | No | campaigns:read |
shuffle_queue | Puts the items not yet scheduled in a random order. | Yes: reorders | campaigns:write |
pause_queue | Pauses or resumes a queue. A paused queue fills no slot; posts already scheduled still go out. | Yes: changes | campaigns:write |
Uploading a file needs Claude to read it and send it from where it is. Claude Code can, on your computer. Elsewhere, upload with the API and give Claude the media id and the SHA-256: a campaign’s post needs both.
What Claude can’t do
- Approve or reject.
approve_campaignis listed so Claude knows the step exists, and every call to it is refused: for every key, every business and every kind of item, whatever the key’s scopes. Claude gets backpolicy_denied: Only a person decides approvals.No tool rejects either. Where a business requires approval, what Claude creates waits on Approvals until a person decides (Approve posts). - Go around a business’s rule. A campaign from Claude goes out without approval only where a person set the business to allow automatic publishing for that kind of post, and the key allows it too. Anything else waits.
- Publish right now. Every post goes out at its own time, or at its queue’s slot.
- Do what only the owner does: connect or disconnect accounts, change a business’s rules, make keys or use the kill switch. No tool does any of these.
- Reach beyond its key. A business the key wasn’t made for answers no access, and no tool ever returns an account’s token.
If something goes wrong
| What you see | What to do |
|---|---|
claude mcp list says Failed to connect for growfinch | Growfinch refused the key, usually because the variable was empty or held part of the key when you added the server. Run claude mcp remove growfinch and do steps 1 and 2 again. If it still fails, write to support: the key may have been revoked. |
| Claude says it has no Growfinch tools | In Claude Code, run /mcp and check growfinch is connected, then start a new session. In Claude’s apps, turn the connector on for the chat. |
business_forbidden: This key lacks the … scope. | The key can’t do that kind of work. Ask support to add the scope it names. |
business_forbidden: No access to business … | The key wasn’t made for that business, or the business_id is wrong. Ask Claude to run list_businesses. |
validation_failed: … | A field is missing, too long, the wrong type or unknown; the message names it. Ask Claude to fix it and validate again. |
spoiler_field: … | The campaign has a field named like an answer, a solution, a place or coordinates, which Growfinch never accepts. Ask Claude to remove it (the full list). |
policy_denied: Only a person decides approvals. | Expected: approve the item in the console. |
policy_denied: This client may only create drafts. | Your key makes drafts only. Ask Claude to create the campaign with "policy": "draft_only". |
| A campaign Claude made isn’t on Approvals | Ask Claude for it with get_campaign and check its status: it may be a draft, or scheduled because the business allows automatic publishing for it. |
For a post that failed at the platform, see Fix a failed post.
Prompt library
Paste a prompt and replace the parts in angle brackets. <business name> is enough: Claude finds its business_id with list_businesses. Times are in the business’s time zone unless you say otherwise.
Set the rules for a session
Paste this first. Claude keeps to it for the rest of the conversation.
For this session, follow these rules whenever you use Growfinch: 1. Start with list_businesses and use only a business_id it returns. If I haven't said which business, ask me. 2. Before create_campaign or add_to_queue, run validate_campaign. Show me every post (account, format, time in the business's time zone, caption, first reply, link and file) with the checklist and the decision, and wait for my yes. 3. Give each new campaign or queue item a new idempotency_key. Reuse a key only to retry the same request. 4. Never put API keys, tokens, passwords or any other secret in a caption, a payload or any field, and never add a field named like an answer, a solution, a place or coordinates: Growfinch refuses them. 5. Don't cancel, pause, shuffle or change anything unless I ask for it in this conversation. 6. Don't try to approve. Tell me what is waiting; I approve in the Growfinch console. Everything you create waits for my approval there.
Connections
Using Growfinch, list the connections of <business name>: each account's platform, handle and status, and when its permission expires. Tell me which ones need reconnecting now or soon. Only read: don't create or change anything.
Using Growfinch, list my businesses with each one's business_id, time zone, publishing mode and required checks, and tell me which ones wait for a person's approval before anything goes out. Only read: don't create or change anything.
Draft a campaign
Using Growfinch, draft a campaign for <business name> from these notes: <your notes>. Make one post for YouTube and one for X, both going out <day> at <time>, with the video whose media id is <media id> and sha256 is <sha256>. Use <link> as the YouTube link and as the X first reply. Run validate_campaign first, then show me both posts, the checklist and the decision. Create it with create_campaign only when I say yes. It will wait for my approval in Growfinch.
Using Growfinch, check this post for <business name> without creating anything: <platform>, <format>, going out <day> at <time>, with this caption: <caption>. Run validate_campaign, tell me what fails and why, and suggest a version that passes. Don't create it yet; when we do, it will wait for my approval.
Using Growfinch, plan next week for <business name> from <your notes>: one post a day, Monday to Friday, at <time>, on <platforms>, using these files: <media ids and sha256s>. Make each day its own campaign, validate each one, and show me all five in a table. Create only the ones I pick, each with its own idempotency_key. Each will wait for my approval.
Upload media (Claude Code)
Using Growfinch, upload the file <path to file> for <business name>. Work out its sha256 and its size in bytes, register it with register_media, upload the bytes to the address it returns with the method and headers it gives, then call complete_media. Tell me the media id, the sha256 and the status. Don't create a campaign yet; when we do, it will wait for my approval.
Queues
Using Growfinch, show me the plan for every queue of <business name> over the next 14 days: which slots are filled, planned, waiting for approval or empty, the first empty slot and how many days of content are left. Only read: don't change any queue.
Using Growfinch, add this post to the <queue name> queue of <business name>: <caption>, on <platform> as a <format>, with the file whose media id is <media id> and sha256 is <sha256>. Check it with validate_campaign first, show it to me, and add it with add_to_queue only when I say yes. Then tell me which slot it will land in. It will wait for my approval.
Approvals to review
Using Growfinch, list what is waiting for approval for <business name>, oldest first: each item's summary, the accounts it affects and when it arrived. Only read: I approve or reject in the console.
Using Growfinch, show me the campaign <campaign id> with get_campaign: each post's account, time and status. If I confirm, cancel it with cancel_campaign and the reason <reason>. Posts already published stay up. Don't create anything.
Results and metrics
Using Growfinch, get the post metrics for <business name> for the last 30 days. Rank the posts by views with their likes and comments, compare each platform's 7- and 30-day totals, and tell me what the best three have in common. Only read: don't create or change anything.
Using Growfinch, list the recent posts of <business name> and pick out any that failed, with each one's platform, time and error code. Explain what each code means and what I should do. Only read: don't create or change anything.
Usage
Using Growfinch, show me how many posts each of my businesses has published this month, busiest first. Only read: don't create or change anything.
More starting points are on the help index. Questions this page doesn’t answer: write to support, and we’ll add the answer.