MCP tools

Reference for the 14 tools the Pallyy MCP server exposes to AI assistants: social sets, post sets, media, media uploads, and calendar notes, with every input.

The Pallyy MCP server exposes 14 tools, each backed by one REST endpoint. A tool's result is the endpoint's JSON response, so the objects an assistant reads are the ones documented on the social sets, post sets, media, media uploads, and notes pages.

Read tools work on every connection. Write tools need the scope listed next to them, see authentication. Dates are ISO 8601 strings with a timezone offset, for example 2026-09-14T09:00:00+10:00.

All tools

ToolWhat it doesScope
list_social_setsList the social sets the connection can accessRead
get_social_setGet one social set with its accountsRead
list_post_setsList a social set's post sets, with filtersRead
get_post_setGet one post set with every network's postRead
create_post_setCreate a draft or scheduled post setpost-sets:write
update_post_setChange a post set's time, status, approval, or postspost-sets:write
list_mediaList a social set's media libraryRead
get_mediaGet one media itemRead
create_media_uploadImport a file from a URL into the librarymedia:write
get_media_uploadCheck an import's statusRead
list_notesList calendar notes in a date rangeRead
get_noteGet one calendar noteRead
create_notePin a note to a datenotes:write
update_noteChange a note's text, colour, or datenotes:write

Scheduling a post set (status of SCHEDULED) also needs post-sets:publish.

All tools at a glance

ToolWhat it doesNeeds
list_social_setsLists the social sets the connection can access, with their accountsRead
get_social_setGets one social setRead
list_post_setsLists a social set's posts, filtered by date, status, approval, or captionRead
get_post_setGets one post set with every network's post and publish resultsRead
create_post_setCreates a draft or scheduled post set for one or more networkspost-sets:write, plus post-sets:publish to schedule
update_post_setChanges a post set's time, status, approval, or postspost-sets:write, plus post-sets:publish to schedule
list_mediaBrowses a social set's media libraryRead
get_mediaGets one media item with its URLRead
create_media_uploadImports an image or video into the library from a URLmedia:write
get_media_uploadChecks an import's status and gets its media library idRead
list_notesLists a social set's calendar notes in a date rangeRead
get_noteGets one calendar noteRead
create_noteCreates a note pinned to a date, optionally repeatingnotes:write
update_noteChanges a note's text, colour, or datenotes:write

Social sets

Most other tools take a socialSetId, so an assistant usually starts here.

list_social_sets

Lists the social sets the connection can access, each with its connected accounts. Takes no input and calls GET /v1/social-sets.

get_social_set

Gets one social set with its connected accounts. Calls GET /v1/social-sets/{id}.

InputRequiredMeaning
idYesThe social set id

Post sets

A post set is one slot on the schedule: a date, a status, and one post per network it targets.

Every post set can be opened in Pallyy with a link built from its socialSetId and id, so an assistant can hand you a link to a post it found, created, or updated:

https://app.pallyy.com/dashboard/scheduling/calendar/month?set=<socialSetId>&post=<postSetId>

list_post_sets

Lists a social set's post sets. Calls GET /v1/post-sets with the filters below; results are paginated as described on the pagination page.

InputRequiredMeaning
socialSetIdYesThe social set to list
startDateNoOnly sets scheduled at or after this time
endDateNoOnly sets scheduled before this time
statusNoArray of DRAFT, SCHEDULED, PUBLISHING, PUBLISHED
approvalNoArray of NONE, PENDING, EXTERNAL_PENDING, APPROVED, DENIED
searchNoCaption text search, at least 3 characters
pageNoZero-based page number
sizeNoPage size, 1 to 100

get_post_set

Gets one post set with every network's post, captions, media, and publish results. Calls GET /v1/post-sets/{id}.

InputRequiredMeaning
idYesThe post set id

create_post_set

Creates a post set. Requires post-sets:write, and post-sets:publish as well when status is SCHEDULED. Calls POST /v1/post-sets.

InputRequiredMeaning
socialSetIdYesThe social set the post belongs to
scheduledAtYesThe time the post is scheduled or pinned to
statusYesDRAFT saves without publishing, SCHEDULED publishes at scheduledAt
approvalNoReview state, defaults to NONE. Anything else needs approvals on the plan
postsYesOne object per targeted network, at least one

Each entry in posts follows the create post set body: an accountType, a caption, a media array referencing library items by mediaLibraryId, and the network's own fields such as type and collaborators for Instagram or title and privacy for YouTube. The tool's input schema spells out every per-network shape, so a client validates the call before it reaches Pallyy, and the API's own validation message comes back on anything it still rejects.

One post set can target several networks at once. Publishing the same content to Instagram and LinkedIn is one call with two entries in posts, each carrying its own caption and media.

update_post_set

Partially updates a post set: omitted fields keep their saved values. Requires post-sets:write, plus post-sets:publish when the set is or becomes SCHEDULED. Calls PATCH /v1/post-sets/{id}.

InputRequiredMeaning
idYesThe post set id
scheduledAtNoNew time for the set
statusNoDRAFT or SCHEDULED
approvalNoNew review state
postsNoOne object per targeted network

When posts is sent, each entry keeps a saved post by its id or replaces it, and each media entry either keeps a saved media by its embedded id or adds a library item by mediaLibraryId. Saved posts and media that aren't referenced are removed, so an assistant should fetch the set first and send the full list back. Sets that are publishing or published are read-only.

Media

list_media

Lists a social set's media library items. Calls GET /v1/media, paginated.

InputRequiredMeaning
socialSetIdYesThe social set whose library to list
folderIdNoOnly items in this folder
typeNoimage or video
nameNoFile name search
pageNoZero-based page number
sizeNoPage size, 1 to 100

get_media

Gets one media library item with its URL and metadata. Calls GET /v1/media/{id}.

InputRequiredMeaning
idYesThe media item id

create_media_upload

Starts importing a file from a public URL into the social set's media library. Requires media:write. Calls POST /v1/media-upload.

InputRequiredMeaning
socialSetIdYesThe social set whose library receives the file
sourceUrlYesA publicly reachable http or https URL of the image or video, up to 2048 characters

Processing is asynchronous. The tool returns the upload in status CREATED, and the assistant polls get_media_upload until it is READY, then uses the returned mediaLibraryId in a post.

get_media_upload

Gets one upload's status: CREATED, PROCESSING, READY with the created mediaLibraryId, or FAILED with a failureReason. Calls GET /v1/media-upload/{id}.

InputRequiredMeaning
idYesThe upload id

Notes

list_notes

Lists a social set's calendar notes in a date range. Both bounds are required and the range can span at most 366 days. Calls GET /v1/notes.

InputRequiredMeaning
socialSetIdYesThe social set to list notes for
startDateYesRange start
endDateYesRange end

get_note

Gets one calendar note. Calls GET /v1/notes/{id}.

InputRequiredMeaning
idYesThe note id

create_note

Creates a note pinned to a date. Requires notes:write. Calls POST /v1/notes.

InputRequiredMeaning
socialSetIdYesThe social set the note belongs to
contentYesThe note text, up to 1000 characters
hexColorYesOne of #faf785, #fff0db, #ffe5e5, #ffe4f7, #f2edff, #e1effc, #e4f8e2, #eee2d7, #f2f2f2
scheduledAtYesThe time the note is pinned to
repeatNo{ "interval": "DAY" | "WEEK" | "MONTH" | "YEAR", "occurrences": 2-100 } to create a repeating series

update_note

Partially updates a note: omitted fields keep their saved values. Requires notes:write. Calls PATCH /v1/notes/{id}.

InputRequiredMeaning
idYesThe note id
contentNoThe note text, up to 1000 characters
hexColorNoOne of the colours listed above
scheduledAtNoThe time the note is pinned to. Can't change on a repeating note or one imported from Google Calendar

Errors

A failed tool call returns an error result with the API's message, prefixed with the HTTP status:

Pallyy API error (404): Social set not found.

The messages and codes are the ones on the errors page. Validation failures on a post set carry the API's per-post details, so an assistant can correct the specific caption or media entry that was rejected and try again.

View as markdown

More in MCP server

Questions about the API? Email us at hey@pallyy.com and we'll get back to you.