SquidX logo

Tools reference

Every tool the SquidX MCP server can expose, grouped by the permission that unlocks it.

Tool names are plain verbs such as list_posts. Your client shows each tool under the server name already (mcp__squidx__list_posts in Claude Code), so the names carry no product prefix. Arguments mirror the REST parameters of the same name; the Posts reference explains each one. A tool answers with one compact JSON text block (also sent as structuredContent). List tools answer one summary per row; the matching get_ tool answers the full record. A failure sets isError with the same { error, message } shape as the API.

read
Changes nothing.
write
Changes SquidX data. Nothing reaches X.
confirm
Reaches X or deletes, and needs confirm: true.

Workspace

Requiresworkspace:read
ToolArgumentsDoes
get_workspaceread
noneName, plan, timezone, weekly posting slots, X Communities, writing preferences, automation defaults and the connected X account. Call it first.

Workspace: write

Requiresworkspace:write
ToolArgumentsDoes
update_posting_slotswrite
slots[]Replace the weekly posting slots. The key creator must be an owner or an admin.

Posts: read

Requiresposts:read
ToolArgumentsDoes
list_postsread
status[], limit, offsetPosts made in SquidX (drafts, queue, published), one summary each, filtered by status.
get_postread
idOne SquidX post by id, in full.
list_open_slotsread
countThe next free weekly posting slots. The first one is where queueNext lands.

Posts: write

Requiresposts:write
ToolArgumentsDoes
upload_mediawrite
url, data, mimeTypeStore an image from a public URL or base64. Returns the id for a segment's media.
create_postwrite
segments[], status, scheduledAt, queueNext, exactTime, communityId, shareWithFollowers, autoReply, autoRetweetCreate a draft, or queue a post with scheduledAt or queueNext.
update_postwrite
id, segments[], communityId, shareWithFollowers, autoReply, autoRetweetEdit the content of a draft, queued or failed post. Only the fields passed change.
schedule_postwrite
id, scheduledAt, queueNext, exactTimePut a draft or failed post in the queue, or move a queued post to a new time.
unschedule_postwrite
idTake a queued post out of the queue. It becomes a draft again.
delete_postconfirm
id, confirmDelete a post that is not on X, with its attachments.

Posts: publish

Requiresposts:publish
ToolArgumentsDoes
publish_postconfirm
id, confirmSend a draft, queued or failed post to X immediately.

Analytics

Requiresanalytics:read
ToolArgumentsDoes
get_analyticsread
range, from, to, seriesFollowers, posts, impressions and engagements over a period, with deltas and the posting streak.
list_x_postsread
range, from, to, sort, limit, offsetEvery post on the X account, also posts made outside SquidX, with metrics, best first.
get_best_hoursread
range, from, toThe weekday and two-hour slots that earn the most impressions, in the workspace timezone.

Leads

Requiresleads:read
ToolArgumentsDoes
list_lead_listsread
noneThe lead lists of the workspace.
list_leadsread
listId, status, minRelevance, limit, offsetQualified leads with score, reason and their newest signals.
list_agentsread
noneThe lead agents (automatic lead search), the list each one feeds, and their signal and lead counts.
get_agentread
idOne agent with its signals and how many posts each one matched in 14 days.
preview_signal_volumeread
type, label, handle, isSelfPosts a keyword or an account matched on X over 7 days. Costs no quota.
list_inboxread
agentId, signalId, status, includeFiltered, since, limit, offsetPosts the agents found on X, with the lead each one created. Read only.
list_campaignsread
noneThe DM campaigns with their send counts. Read only.

Leads: write

Requiresleads:write
ToolArgumentsDoes
update_lead_statuswrite
id, statusMark a lead as new, contacted or archived.
update_inbox_statuswrite
id, statusArchive an Inbox post, or move it back.

Agents: write

Requiresagents:write
ToolArgumentsDoes
create_agentwrite
icp, name, listId, newListName, signalsCreate a lead agent for a list (or a new list), with optional first signals.
update_agentwrite
id, name, icp, listId, isActiveChange the name, icp or list, or pause the agent.
delete_agentconfirm
id, confirmDelete an agent and its signals. Its leads stay.
add_signalswrite
agentId, signalsAdd keywords, accounts or own_orbit. Duplicates are skipped.
update_signalwrite
id, negativeTerms, aliases, isActiveChange the negative terms or aliases of a signal, or turn it off.
remove_signalwrite
idRemove a signal from its agent.
suggest_keywordsread
agentId, seedKeyword ideas from a seed and the agent's icp, with real X volume.

Mentions

Requiresmentions:read
ToolArgumentsDoes
list_mentionsread
kind, status, unanswered, minFollowers, verifiedOnly, limit, offsetReplies, quotes and mentions of the connected account, with the post each one answers.

Mentions: write

Requiresmentions:write
ToolArgumentsDoes
reply_to_mentionconfirm
id, text, confirmReply on X to a mention, 280 characters, text only.
update_mention_statuswrite
id, statusArchive a mention, or put it back in the inbox.

Prompts

A prompt is a ready-made request your client can offer as a command, for example /mcp__squidx__plan_week in Claude Code.

PromptArgumentsDoes
plan_weektopicDrafts one post per open slot in your style, waits for your approval, then queues the approved drafts. Needs workspace:read, posts:read, posts:write and analytics:read.
answer_mentionsminFollowersDrafts a reply to each unanswered mention with its context, and sends only the ones you approve. Needs mentions:read and mentions:write.
tune_agentagentIdReviews a lead agent's signals, suggests better keywords with their volume, and applies only the changes you approve. Needs leads:read and agents:write.
Tool names changed on 2026-10-26
The tools lost their squidx_ prefix: squidx_list_top_posts is now list_x_posts, squidx_list_lists is list_lead_lists, squidx_get_next_slot is list_open_slots, and the others keep their name without the prefix. If you allowed tools by name (for example in Claude Code permissions), update those names. A key made before that date keeps its permissions: make a new key, or reconnect the client, to get the new write tools.
Agent tools added on 2026-10-27
A key with agents:write can create, edit and delete lead agents and their signals. Through the API and MCP a workspace has at most 10 agents, and an agent at most 25 signals. Older keys do not have this permission: make a new key, or reconnect the client.
Inbox posts are read only
list_inbox returns the posts your agents found, with the lead each one created. There is no tool that replies to them: X does not allow automated replies to posts found by search. The agent drafts the reply and gives you replyUrl, and you post it on X. Replies to your mentions are different: those people talked to you first, so reply_to_mention stays.
Start with get_workspace
It returns the timezone, the posting slots and whether the X account can publish. An agent that reads it first schedules in the right timezone and never proposes a slot that does not exist.