Skip to main content

MCP Tools Reference

This page lists every tool the OneUp MCP server provides, with its exact name and required parameters. It also explains how to call the server directly if you are building your own MCP client instead of using ChatGPT, Claude, or a coding agent.

If you only use OneUp through an AI assistant, you don't need to call these tools yourself. The assistant picks the right tool from your request.

Tool Names​

Call tools by their exact name. Names use hyphens and end in -tool, for example get-tiktok-overview-tool. The one exception is get_published_posts.

If you call a name that doesn't exist, the server returns:

{ "code": -32602, "message": "Tool [get_tiktok_overview] not found." }

The authoritative list is always the response of tools/list (see below).

Calling the Server Directly​

The server speaks MCP over HTTP (JSON-RPC 2.0) at:

https://feed.oneupapp.io/mcp/oneup?apiKey=YOUR_API_KEY

Keep this URL private, because it contains your API key. To connect with OAuth instead, see the coding agents setup guide.

1. Initialize a session​

curl -i -X POST "https://feed.oneupapp.io/mcp/oneup?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"my-portal","version":"1.0.0"}}}'

Copy the Mcp-Session-Id response header and send it on every following request.

2. List the tools​

curl -X POST "https://feed.oneupapp.io/mcp/oneup?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Mcp-Session-Id: YOUR_SESSION_ID" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
tip

The tool list can be split into pages. If the response contains a nextCursor, request the next page by sending "params": {"cursor": "<nextCursor value>"}, and repeat until no nextCursor is returned. Clients that only read the first page may miss tools.

3. Call a tool​

curl -X POST "https://feed.oneupapp.io/mcp/oneup?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Mcp-Session-Id: YOUR_SESSION_ID" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get-tiktok-overview-tool","arguments":{"social_network_id":"YOUR_SOCIAL_ACCOUNT_ID","preset":"last_30_days"}}}'

A successful call returns the data in structuredContent (and the same data as JSON text in content):

{
"jsonrpc": "2.0",
"id": 3,
"result": {
"content": [{ "type": "text", "text": "{\"data\":{...}}" }],
"isError": false,
"structuredContent": { "data": { "...": "..." } }
}
}

If the request can't be completed, for example because of an invalid date, isError is true and content explains what to fix:

{
"jsonrpc": "2.0",
"id": 3,
"result": {
"content": [
{ "type": "text", "text": "The end_date must be yesterday or earlier (UTC). Analytics for today are not available yet." }
],
"isError": true
}
}

Rate Limit​

The MCP server accepts up to 60 requests per minute. If you fetch data for many accounts, for example in a nightly sync, request them one after another instead of all at once.

Accounts​

Use these tools to find the account IDs that other tools need. The social_account_id returned by list-social-accounts-tool is the value to pass as social_network_id or social_account_id in other tools.

ToolRequired parametersWhat it does
list-categories-tool–Lists your categories (groups of social accounts).
list-social-accounts-tool–Lists all connected social accounts on every platform.
list-category-accounts-toolcategory_idLists the accounts in one category.
tip

If you manage several clients, create one category per client. You can then use list-category-accounts-tool to get each client's accounts.

Posts​

ToolRequired parametersWhat it does
schedule-text-post-toolcategory_id, social_network_id, scheduled_date_time, contentSchedules a text post.
schedule-image-post-toolcategory_id, social_network_id, scheduled_date_time, contentSchedules an image post.
schedule-video-post-toolcategory_id, social_network_id, scheduled_date_time, contentSchedules a video post.
get-scheduled-posts-tool–Lists scheduled posts.
get-scheduled-posts-by-id-toolpost_idsGets specific scheduled posts by ID.
get_published_posts–Lists published posts.
get-failed-posts-tool–Lists posts that failed to publish, with the reason.
get-draft-posts-tool–Lists draft posts.
edit-post-toolpost_id, contentEdits the title or content of a scheduled or draft post.
delete-scheduled-post-toolpost_idDeletes a scheduled post.
reschedule-failed-post-toolpost_id, scheduled_date_timeRetries a failed post at a new time.
fetch-pinterest-boards-toolpinterest_usernameLists Pinterest boards (required for Pinterest posts).
fetch-you-tube-playlists-toolsocial_account_idLists a YouTube channel's playlists.
get-tiktok-trending-sound-toolsocial_account_id, country_code, date_range, genreLists trending TikTok sounds.
get-instagram-trending-sound-toolsocial_account_idLists trending Instagram sounds.

Post dates use YYYY-MM-DD HH:MM (24-hour), for example 2026-12-25 14:30.

The post list tools return the post content, dates, and media. They don't include likes, views, or comments. For performance numbers per post, use the analytics posts tools below.

Comments​

ToolRequired parametersWhat it does
fetch-top-comments-tool–Lists posts with their comments.
fetch-comment-replies-toolcomment_idLists replies to a comment.
reply-to-post-toolplatform, post_id, comment, social_account_idPosts a new comment on a post.
reply-to-comment-toolplatform, post_id, parent_comment_id, comment, social_account_idReplies to a comment.
delete-comment-toolplatform, post_id, comment_id, social_account_idDeletes a comment.
force-refresh-comments-tool–Pulls new comments from the connected platforms.

Social Inbox​

ToolRequired parametersWhat it does
fetch-conversations-toolsocial_account_idLists conversations for one Facebook, Instagram, or WhatsApp account.
fetch-conversation-messages-toolidLists messages in a conversation.
send-message-toolid, messageSends a reply in a conversation.
mark-conversation-read-toolidMarks a conversation's messages as read.
update-conversation-status-toolid, statusSets a conversation to open, closed, or spam.
force-refresh-conversations-toolsocial_account_idRefreshes recent Facebook or Instagram conversations.
load-more-conversations-toolsocial_account_idLoads more Facebook or Instagram conversations.
fetch-whats-app-accounts-tool–Lists connected WhatsApp business numbers.
fetch-whats-app-contacts-toolsocial_account_idLists saved WhatsApp contacts.
fetch-whats-app-templates-toolsocial_account_idLists approved WhatsApp templates.
create-whats-app-conversation-toolsocial_account_id, whatsapp_contact_id, whatsapp_template_idStarts a WhatsApp conversation with a template.

Analytics​

warning

Analytics tools are not available on the Basic plan. Upgrade to Intermediate, Growth or Business plan to use them.

All analytics tools take the same parameters:

ParameterRequiredDescription
social_network_idYesThe account's social_account_id from list-social-accounts-tool. One account per call.
presetRequired without dateslast_7_days, last_30_days, or last_90_days.
start_dateRequired without presetStart date in YYYY-MM-DD format.
end_dateRequired without presetEnd date in YYYY-MM-DD format. Must be on or after start_date and no later than yesterday (UTC). Today's analytics aren't available yet.
timezoneNoA PHP timezone identifier, for example Europe/Amsterdam. Default: UTC.

The Facebook and Instagram overview tools also accept separate_stories (true or false) to report stories separately from posts.

Analytics tools return data OneUp has already collected. They don't contact the social platforms directly. Use force-refresh-analytics-tool to ask OneUp to refresh analytics for all your connected accounts.

The data returned in structuredContent.data matches the data field of the Analytics API. See the linked platform pages for the fields in each response.

PlatformToolsResponse fields
Facebookget-facebook-overview-tool, get-facebook-posts-tool, get-facebook-reels-tool, get-facebook-stories-tool, get-facebook-demographics-toolFacebook Analytics
Instagramget-instagram-overview-tool, get-instagram-posts-tool, get-instagram-stories-tool, get-instagram-demographics-toolInstagram Analytics
TikTokget-tiktok-overview-tool, get-tiktok-posts-tool, get-tiktok-demographics-toolTikTok Analytics
YouTubeget-youtube-overview-tool, get-youtube-posts-tool, get-youtube-demographics-toolYouTube Analytics
LinkedInget-linked-in-overview-tool, get-linked-in-posts-tool (organization accounts only)LinkedIn Analytics
Google Business Profileget-gbp-overview-tool, get-gbp-posts-tool, get-gbp-reviews-toolGoogle Business Profile Analytics
Meta Adsget-meta-ads-overview-tool, get-meta-ads-campaigns-tool, get-meta-ads-ad-sets-tool, get-meta-ads-ads-toolMeta Ads Analytics
Threadsget-threads-overview-tool, get-threads-posts-toolThreads Analytics
Pinterestget-pinterest-overview-tool, get-pinterest-posts-toolPinterest Analytics
Snapchatget-snapchat-overview-tool, get-snapchat-posts-toolSnapchat Analytics
Blueskyget-bluesky-overview-tool, get-bluesky-posts-toolBluesky Analytics

Overview tools return account totals compared with the previous period, plus top and bottom posts. Posts tools return per-post metrics such as views, likes, comments, and shares. Demographics tools return audience breakdowns such as age, gender, and location.

Example​

{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "get-instagram-posts-tool",
"arguments": {
"social_network_id": "YOUR_SOCIAL_ACCOUNT_ID",
"start_date": "2026-10-01",
"end_date": "2026-10-31",
"timezone": "Europe/Amsterdam"
}
}
}

Common Errors​

MessageWhat to do
Tool [...] not found.Check the tool name against this page or tools/list.
The end_date must be yesterday or earlier (UTC)...Use an earlier end_date, or use a preset.
The end_date must be on or after start_date.Make sure end_date is not before start_date.
The timezone must be a valid PHP timezone identifier...Use a name like Europe/Amsterdam or America/New_York.
No connected ... account was found for this social_network_id...Use an ID from list-social-accounts-tool. If you just connected the account, run force-refresh-analytics-tool and try again shortly.
The ... account token has expired. Please reconnect the account.Reconnect the account in OneUp.
Analytics isn't included in the Basic plan...Upgrade to a plan that includes analytics.