Learn how to connect your Adhook account to Claude, Claude Code or other AI assistants via the MCP server. You will also learn how to use local images and videos from your computer in posts.
What is the Adhook MCP?
The Adhook MCP server connects AI assistants such as Claude or ChatGPT directly to your Adhook account. In the chat you can then, among other things:
Create, schedule and edit social media posts
Set up and manage post boosts and ad campaigns
Manage topics, tasks and calendar entries
Reply to and moderate comments, messages and reviews
Analyze social listening and influencer posts
Retrieve, create and analyze reports
Create ad hoc reports (10+ data sources, 100+ segments, 250+ metrics)
You don't need to open the Adhook interface for this.
MCP stands for Model Context Protocol. It is an open standard that allows AI assistants to communicate with external services.
For agency admins there is also the Adhook Management MCP for onboarding new clients. It is described at the end of this article. For day-to-day work you only need the Adhook MCP.
Requirements
An Adhook account with the required permissions
A client that supports remote MCP connectors, for example:
Claude in the browser
Claude Desktop
Claude Code
ChatGPT
another MCP-capable AI assistant
Installation and connection
Server URL:
https://mcp.adhook.io/mcp
When you connect for the first time, you sign in via OAuth with your Adhook login. Access is limited to your personal Adhook permissions.
Your password is not shared with the AI assistant. You can revoke the connection at any time in Adhook or in the assistant.
Claude in the browser or Claude Desktop
Open Settings → Connectors.
Select Add custom connector.
Enter the following URL:
https://mcp.adhook.io/mcpSave the connector.
Click Connect and sign in with your Adhook account.
The Adhook connector then appears with the available tools.
Claude Code in the terminal
claude mcp add --transport http adhook https://mcp.adhook.io/mcp
The first time you use it, the Adhook login opens in your browser.
With --scope user you can make the connector available for all of the user's projects:
claude mcp add --transport http --scope user adhook https://mcp.adhook.io/mcp
ChatGPT in the browser
Open Settings → Plugins → Advanced.
Enable Developer mode.
Select Create plugin.
Enter the following URL:
https://mcp.adhook.io/mcpSave the plugin.
Click Connect and sign in with your Adhook account.
The Adhook plugin is then available in ChatGPT with the available tools.
Other AI assistants
Any client that supports remote MCP connectors can add the following URL as a custom connector:
https://mcp.adhook.io/mcp
This also works, for example, with ChatGPT in developer or connector mode. The exact steps vary by client.
Available tools in the Adhook MCP
The assistant picks the right tools on its own. You don't need to know the tool names; just describe what you want to achieve. The overview shows what is possible.
Account, brands and team
Tool | Purpose |
| Shows the currently connected Adhook user. |
| Lists your brands. |
| Finds a brand by its name. |
| Lists the users in your account with name and email. |
| Lists the teams, for example to assign messages or tasks to a team. |
| Lists the available tags, optionally filtered by name. |
Posts
Tool | Purpose |
| Lists or searches posts. Filters include text, status, brand, time period and channels. |
| Retrieves all details of a single post. |
| Creates a post with text, channels, images or videos, publishing time, topics, tags and assignees. Separate texts, media and links per channel are possible. Optionally, a boost can be set up right away. |
| Edits an existing post, for example text, channels, schedule, media or boost. |
| Adds or removes tags on one or more posts without changing the other tags. |
| Submits a post for approval or activates it. |
| Deletes a post. This is only possible for posts that were created via the MCP. |
Supported channels include Facebook, Instagram, LinkedIn, TikTok, X, Pinterest, YouTube and Google Business Profile. Channels without a connected account for the brand are deselected automatically.
Media
Tool | Purpose |
| Imports a publicly accessible image or video into Adhook using its URL. |
| Creates a short-lived upload URL for a local file. Used by the Local Media extension (see below). |
| Lists a brand's Pinterest boards. This is required for creating Pinterest posts. |
Ad campaigns and boosts
Tool | Purpose |
| Lists or searches ad campaigns. |
| Retrieves all details of a campaign, including ad groups, budget, placements and creatives. |
| Creates an ad campaign with creatives, targeting, budget, schedule and channels, for example Meta, LinkedIn, Google Ads, TikTok and Pinterest. A total budget is split across the selected channels. |
| Edits an existing campaign, for example name, schedule, creatives, targeting, budget, channels or topics. |
| Checks a campaign and submits it for approval or activates it, depending on the approval process you have set up. |
| Pauses, resumes or ends a campaign. |
| Adds or removes tags on one or more campaigns. |
| Deletes a campaign in Adhook. It is also deleted on the ad platforms only if you explicitly ask for it. |
| Lists a brand's active targeting templates. The template is used for boosts via |
A boost is configured directly when creating or updating a post. Among other things, you can define budget, channel, duration, placements and targeting template.
Topics, tasks and calendar
Tool | Purpose |
| Lists topics or retrieves the details of a topic. |
| Creates or edits a topic for editorial planning. |
| Deletes a topic. The link to posts, campaigns and calendar entries is removed, and linked tasks are deleted. |
| Searches tasks by text, topic, assignee, status, brand or due date, or retrieves a task. |
| Creates a task or edits, reschedules, assigns or completes it. |
| Deletes a task. |
| Lists your own calendar entries such as newsletters, print campaigns, press releases or events, or retrieves an entry. |
| Creates or edits a calendar entry with date, type, description, topics, budget and assignee. Nothing is sent or published in the process. |
| Deletes a calendar entry. |
Community management
Tool | Purpose |
| Lists conversations in the inbox or retrieves a conversation. |
| Changes the status, tags or flag of a conversation, or assigns it to a person or team. |
| Lists comments, messages, mentions and reviews, or retrieves a single message. |
| Shows the original post a comment belongs to. |
| Shows the history and internal notes for a conversation or message. |
| Sets the status of a message (open, in progress, done) or assigns it. |
| Changes the tags, flag or sentiment of one or more messages. |
| Replies to a comment, message or mention directly on the platform. |
| Adds an internal note, optionally notifying team members or sending an email. |
| Likes, hides, unhides or deletes a comment on the platform. Which actions are possible depends on the network. For example, third-party comments cannot be deleted on TikTok. |
Social listening
Tool | Purpose |
| Retrieves social listening content with engagement metrics: posts from monitored profiles (for example competitors), hashtag and keyword matches, news, websites, mentions, comments and reviews. Also useful for content ideas compared with your own posts. |
Influencers
Tool | Purpose |
| Lists influencers or retrieves a profile with social media accounts, follower counts, brands and tags. |
| Lists the logged influencer posts. |
| Shows an influencer's aggregated results for a time period, for example posts, engagement, views and reach. |
| Logs an Instagram post or reel by its URL. Date, caption and public metrics are loaded automatically. This requires a public business or creator account. |
| Logs an influencer post manually with date, channel and metrics, for example for channels other than Instagram. |
Reporting
Tool | Purpose |
| Lists existing reports or retrieves the settings of a report. |
| Creates a new report or changes its name, time period, data scope, filters and styling. |
| Deletes a report. |
| Lists the widgets and metrics of a report. |
| Retrieves the data of a single widget. |
| Adds charts, tables, KPI summaries, texts, images or page breaks to a report or changes them, including data source, metrics, segments, filters and sorting. |
| Removes a widget from a report. |
| Runs an ad hoc analysis for a time period without saving a report. Accesses 10+ data sources, 100+ segments and 250+ metrics, for example paid ads, organic posts, website analytics, community management, newsletters and SEO. |
Example requests
"Show me all scheduled posts for the brand Example Ltd for next week."
"Create a LinkedIn and Instagram post for Example Ltd for next Friday at 10:00 am."
"Use the following text and the images product-1.jpg and product-2.jpg for the post."
"Boost this post with CHF 150 over seven days. Use the objective Engagement and the targeting template DACH Broad."
"Which comments from yesterday are still unanswered? Suggest replies."
"Which reports are available for Example Ltd?"
"How did the brand's reach develop last month?"
"Show me the website traffic from email, broken down by campaign."
Using local images and videos
A remote connector like the Adhook MCP cannot access files on your computer directly. An image dragged into the chat is not passed on to the Adhook MCP by the AI assistant either.
For files that only exist locally, an additional extension is therefore available. It runs on your computer and uploads the selected file to Adhook.
Important: This feature is only available with Claude Desktop and Claude Code. It does not work in claude.ai in the browser or in other web-only clients. There, use publicly accessible URLs for your post media, or upload the files to the Adhook Media Library first and use the media URLs.
1. Refresh the Adhook connector
To make the create_media_upload_url tool available to the assistant, disconnect the Adhook connector once and reconnect it.
Alternatively, you can restart Claude Desktop.
2. Create a media folder
Create a folder from which the assistant is allowed to use files.
Examples:
macOS:
~/AdhookMediaWindows:
C:\Users\<Name>\AdhookMedia
3. Install the extension
Claude Desktop
Download the extension: https://media.adhook.io/adhook-local-media-0.1.0.mcpb
Double-click the downloaded file. Claude Desktop then shows the installation dialog.
If nothing happens, open Settings → Extensions → Install Extension in Claude Desktop and select the downloaded file.In the Media folder field, select the folder you created in step 2.
If prompted, confirm the notice that the extension is not verified.
Complete the installation. Adhook Local Media Upload then appears as an active extension under Settings → Extensions.
You don't need to install Node.js or a similar runtime separately. All required components are included in the package.
Claude Code
Run the following command in the terminal:
claude mcp add adhook-media --scope user \ --env ADHOOK_MEDIA_DIR="$HOME/AdhookMedia" \ -- npx -y @adhookio/local-media-mcp
This requires Node.js 18 or newer.
4. Use local media
Place the image or video directly in the configured media folder.
Ask the assistant, for example:
"Which images are in the media folder?"
Then create the post:
"Create an Adhook post with product.jpg and the following text: …"
The assistant uploads the file automatically and adds it to the post.
Good to know
The file must be located directly in the shared media folder.
Files in subfolders are not taken into account.
Use the exact file name in your request.
An image dragged into the chat window is not automatically used via the extension.
The maximum file size is 100 MB.
To update the extension, install the new .mcpb version in the same way. It replaces the previous version.
Troubleshooting
Problem | Solution |
The assistant can't find any Adhook tools | Check the connector connection and reconnect the Adhook connector. Restart Claude Desktop if necessary. |
| Disconnect the Adhook connector and reconnect it. |
The Local Media extension shows "not running" | Restart Claude Desktop. |
The upload fails | Check in the extension settings whether the path to the media folder is correct. |
Images or videos are not found | Check that the files are directly in the media folder and not in a subfolder. |
A post can't be deleted | Only posts that were previously created via the MCP can be deleted via the MCP. |
Security and privacy
The connection uses OAuth with your Adhook login. Your password is not shared with the assistant.
The assistant can only access data and actions that your Adhook user is authorized for.
The Local Media extension runs exclusively on your computer.
The extension can only access files in the folder you selected.
You can revoke the connection at any time in the assistant or in your Adhook settings.
For agency admins: Adhook Management MCP
This section is only relevant if you set up new clients and ad accounts for your agency. For day-to-day work with posts, campaigns and reports, the Adhook MCP is all you need.
The Management MCP is a separate server that you connect as a second connector. It lets you handle the onboarding of a new client in the chat: create the brand, create an ad account, request access to the client's Facebook page, set user permissions in Meta Business Manager and assign everything to the brand.
Some actions, such as creating brands and ad accounts, are reserved for admins. Ad accounts cannot be deleted again via the API. The assistant therefore asks for your confirmation before such steps, for example for the name, currency and time zone of a new ad account.
Connection
Add a second connector as described above under Installation and connection, but with this URL:
https://mcp.adhook.io/mcp/management
Give the connector its own name, for example Adhook Management. In Claude Code:
claude mcp add --transport http --scope user adhook-management https://mcp.adhook.io/mcp/management
Typical Meta onboarding flow
Look up the client's Facebook page by its URL.
Check whether your Business Manager already has access to the page, and if not, request access from the client.
Wait until the client has approved the request, then assign people from your Business Manager to the page.
Create the brand in Adhook.
Create a Meta ad account and assign it to the brand. The client's page is set as the advertiser.
Assign additional people to the ad account.
Assign the Facebook page and Instagram account to the brand and check the result.
You can also simply ask the assistant: "Set up the new client Example Ltd with the Facebook page facebook.com/exampleltd." It will then guide you through these steps.
Brands
Tool | Purpose |
| Lists your brands or finds a brand by its name. |
| Shows all settings of a brand, including the assigned channel accounts. |
| Creates a new brand, branch or client. Admins only. |
| Changes a brand's general settings, for example name, parent brand, website, languages, assignee, status, approvals for posts and ads, and the beneficiary and payer for Meta ads. |
| Assigns a Meta ad account, a Facebook page and an Instagram account to a brand. |
Meta (Facebook and Instagram)
Tool | Purpose |
| Lists the Meta ad accounts connected in Adhook. |
| Imports ad accounts you have gained access to since connecting Facebook, for example accounts created manually in Business Manager. |
| Creates a new Meta ad account in your agency's Business Manager and optionally assigns it to a brand. Admins only. |
| Lists the Facebook pages the connected Facebook user has access to. |
| Looks up the page ID and name of a Facebook page by its URL, username or ID. |
| Shows whether your Business Manager has access to a page and the status of open access requests. |
| Requests agency access to the client's Facebook page so you can run ads on their behalf. |
| Lists the people and system users in your agency's Business Manager. |
| Assigns a person from your Business Manager to a Facebook page with specific tasks (for example running ads and viewing insights), changes the tasks or removes the person. |
| Lists the people assigned to an ad account, including their tasks. |
| Assigns a person to an ad account with a role, changes the role or removes the person. |
Tool | Purpose |
| Lists the LinkedIn ad accounts connected in Adhook. |
| Lists the LinkedIn company pages managed by the connected LinkedIn account. |
| Creates a new LinkedIn ad account for a company page. The currency cannot be changed afterwards, and you then need to add a payment method in LinkedIn. Admins only. |
| Imports LinkedIn ad accounts you have gained access to since connecting LinkedIn. |
Users
Tool | Purpose |
| Shows the currently connected Adhook user. |
| Lists the users in your account, for example to set an assignee for a brand. |
Example requests
"Create the brand Example Ltd and create a Meta ad account in CHF."
"Request access to the Facebook page facebook.com/exampleltd."
"Who in our Business Manager has access to Example Ltd's ad account?"
Good to know
If tools like
create_subtenantare missing, the Management connector is not connected.Only admins can create brands and ad accounts.
If an existing ad account is not found, ask the assistant to sync the Meta or LinkedIn ad accounts.
The assistant only carries out actions with wider impact, such as creating ad accounts or changing user permissions, after your confirmation.
