Skip to main content
Glama
navidmoazzez

Threads MCP

by navidmoazzez

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
THREADS_USER_IDNoNumeric profile id. Resolved from the token when absent.
THREADS_ACCOUNTSNoJSON array, for several profiles.
THREADS_USERNAMENoUsername, for matching and display.
THREADS_AUDIT_LOGNoAppend-only log of every attempted write.
THREADS_HTTP_HOSTNoFor --http.127.0.0.1
THREADS_HTTP_PORTNoFor --http.8787
THREADS_READ_ONLYNoHide every write from the tool list.0
THREADS_GRAPH_HOSTNoThe Graph API host.https://graph.threads.net
THREADS_HTTP_TOKENNoBearer token required by --http.
THREADS_MAX_RETRIESNoRetries on 5xx and transient errors.3
THREADS_TOKEN_STORENoWhere tokens are kept.~/.threads-mcp/tokens.json
THREADS_ACCESS_TOKENNoA long-lived token for one profile.
THREADS_PERSIST_TOKENSNoWrite refreshed tokens back to the store.1
THREADS_DEFAULT_ACCOUNTNoWhich profile acts when a tool names none.first configured
THREADS_ALLOW_DESTRUCTIVENo'0' blocks posting, replying and deleting.1
THREADS_REQUEST_TIMEOUT_MSNoPer-request deadline.30000
THREADS_REFRESH_WINDOW_DAYSNoRefresh this many days before expiry.20
THREADS_CONTAINER_TIMEOUT_MSNoHow long to wait for media to process.120000
THREADS_MIN_REQUEST_INTERVAL_MSNoSpacing between requests.120

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_accountsA

Every connected Threads profile, which one acts by default, and how many days each token has left before it expires. Call this first when more than one profile might be connected.

whoamiA

Confirm which Threads profile the current token acts as, and return the live profile: username, name, bio, verification, and whether the profile is eligible for geo-gated posts. Use this to check credentials before anything else.

get_publishing_limitA

How much of the rolling 24-hour quota this profile has spent. Threads allows 250 posts, 1,000 replies and 100 deletes per 24 hours, and refuses everything once a quota is gone. Check this before a bulk run rather than discovering it halfway through.

refresh_tokenA

Refresh the long-lived access token, giving it another 60 days. A Threads token can be refreshed once it is 24 hours old and never after it expires, so an expired one has to be replaced by authorising again. This server refreshes automatically when a token is inside its refresh window; call this to do it now.

create_postA

Publish one post to Threads: creates the media container, waits for it to finish processing, then publishes. Public the moment it runs, and Threads has no edit endpoint, so this needs confirm: true. For anything over 500 characters use create_thread instead.

create_threadA

Publish several posts as a thread, each replying to the one before. Threads has no thread endpoint: a thread is a chain of ordinary posts, so it can half-publish. Every part is length-checked before the first one goes out, and if a later part still fails the error names exactly how far it got. Public and irreversible, so this needs confirm: true.

create_carouselA

Publish 2 to 20 images or videos as one carousel post. Each item is staged separately and they transcode in parallel, then a parent container binds them together. Counts as a single post against the daily quota. Public and irreversible, so this needs confirm: true.

stage_postA

Build a media container without publishing. Nothing appears anywhere: the container is invisible, holds for 24 hours, and is published later with publish_staged. This is the only draft state Threads has, and the right way to show a human a post before it goes public. Nothing is public, so no confirmation is needed.

publish_stagedA

Publish a container created by stage_post, waiting for processing first. This is what makes it public, so it needs confirm: true.

get_container_statusA

The processing status of a container: IN_PROGRESS, FINISHED, ERROR or EXPIRED, with the failure reason when there is one. Useful when a video is taking a long time, or to check whether a staged post is still within its 24-hour window.

quote_postA

Publish a post that quotes an existing Threads post. Public and irreversible, so this needs confirm: true.

repostA

Repost an existing Threads post to your own profile. This is visible to your followers immediately and the API has no un-repost call, so it needs confirm: true.

delete_postA

Permanently delete one of your own Threads posts. There is no undo, no archive, and no edit endpoint to reach for instead: replies and likes go with it. Deletions are also capped at 100 per rolling 24 hours. Needs confirm: true.

reply_toA

Publish a reply to a Threads post, yours or anyone's. Public the moment it runs and counted against the 1,000-reply daily quota, so it needs confirm: true.

get_repliesA

The direct replies to one post, one level deep. For the whole tree underneath it, including replies to replies, use get_conversation.

get_conversationA

Every reply under one of your posts, including replies to replies, flattened into one list with each reply naming its parent. Only works on posts you own. This is what to read before deciding what deserves an answer.

get_all_repliesA

Every reply you have received, newest first, across every post. This is the inbox view: use it to find what needs answering without walking each post one at a time.

hide_replyA

Hide a reply on one of your posts, or unhide one you hid. Hiding a top-level reply cascades to everything nested under it. Reversible in one call, so this does not need a confirmation.

get_pending_repliesA

Replies waiting for approval on posts published with enable_reply_approvals. They are invisible to everyone until approved. Empty unless reply approvals were switched on for the post.

manage_pending_replyA

Approve a reply waiting in the approval queue, making it public, or ignore it so it stays hidden. Approving is public, so it needs confirm: true.

get_postsA

Your own Threads posts, newest first, with ids and permalinks. The numeric id on each result is what every other tool wants: Threads has no way to convert a permalink back into an id, so this is where ids come from.

get_postA

One Threads post by its numeric id, with its full field set: text, media, permalink, topic tag, link attachment, quoted post and whether it has replies.

get_post_insightsA

Views, likes, replies, reposts, quotes and shares for one of your posts. Reply metrics count direct replies only, not the whole tree underneath.

get_account_insightsA

Profile-level views, likes, replies, reposts, quotes, link clicks and follower count. Data starts on 13 April 2024 and is not reliable before 1 June 2024; earlier windows return nothing.

get_follower_demographicsA

Follower breakdown by country, city, age or gender. One dimension per call: Threads refuses more than one breakdown at a time. Needs at least 100 followers, and ignores any date range.

get_top_postsA

Fetch recent posts, pull the metrics for each, and rank them. Sorting by engagement rate rather than raw likes is the point: absolute likes mostly rank posts by age, while engagement against views shows which ones landed. Costs one request per post, so keep the sample modest.

search_keywordA

Search public Threads posts by keyword. Capped at 2,200 queries per rolling 24 hours. Needs the threads_keyword_search permission for anything beyond your own posts.

search_topic_tagA

Public posts carrying a topic tag. Threads topic tags are written without a # and there is one per post, so this is an exact tag match rather than a text search. Shares the 2,200-query daily budget with search_keyword.

lookup_profileA

A public Threads profile by username, with its follower count and seven-day totals for views, likes, quotes and reposts. Only returns public profiles with at least 100 followers, and is capped at 1,000 lookups per rolling 24 hours. Without expanded access this is limited to Meta's own accounts.

list_allowlisted_countriesA

The country codes this profile may restrict a post to. Geo-gating is only enabled for some profiles; whoami reports whether this one is eligible. Read this before passing allowlisted_country_codes to create_post.

Prompts

Interactive templates invoked by user choice

NameDescription
triage-repliesWork out which Threads replies deserve an answer
draft-threadTurn an idea into a Threads thread, without posting it
what-workedFind out what actually performs on this profile

Resources

Contextual data attached and managed by the client

NameDescription
threads-accounts
threads-concepts
threads-output-format

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/navidmoazzez/threads-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server