Skip to main content
Glama
atmosphere-ai

AdvisorPPC X Organic

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
X_ACCESS_TOKENYesX API access token with user-context OAuth 2.0 PKCE permissions

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
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
x_organic_get_meA

GET /2/users/me — the user on this OAuth2 token. Call first when you need user id for timeline, likes, bookmarks, or mentions. Never invent a handle.

x_organic_lookup_userA

Look up a user by username (without inventing @handles) or by numeric id. Uses GET /2/users/by/username/:username or GET /2/users/:id.

x_organic_lookup_usersA

Batch lookup. Pass usernames XOR ids (comma-separated v2). Never invent handles.

x_organic_search_usersB

GET /2/users/search. Query must be what the user asked to find — do not invent people to follow.

x_organic_get_postA

GET /2/tweets/:id with public metrics, author, media, and referenced posts.

x_organic_lookup_postsB

GET /2/tweets?ids=… up to 100 ids the user named.

x_organic_user_postsA

GET /2/users/:id/tweets. Pass user_id from lookup/me. exclude=replies,retweets optional.

x_organic_my_timelineA

GET /2/users/:id/timelines/reverse_chronological for the authenticated user (home feed). Billed per read.

x_organic_mentionsB

GET /2/users/:id/mentions for the authenticated user (or a named user_id you manage).

x_organic_search_recentA

GET /2/tweets/search/recent (last 7 days). Query must be the user's. Billed per matching post. Do not run unbounded brand-watch loops.

x_organic_list_repliesA

Recent-search composite: conversation_id:{post_id} is:reply. Use this to triage comments. Billed per matching post. Then reply with x_organic_reply (confirm required; self-serve only if they summoned you).

x_organic_get_quote_tweetsC

GET /2/tweets/:id/quote_tweets. Quote creation on self-serve is Enterprise-only; reading quotes is not.

x_organic_liked_postsB

GET /2/users/:id/liked_tweets. Defaults to the authenticated user.

x_organic_list_bookmarksB

GET /2/users/:id/bookmarks for the authenticated user. Scope bookmark.read.

x_organic_create_postA

POST /2/tweets. Use only the copy/media the user supplied — never invent text or handles. Requires confirm=true after an explicit named ask. X API pay-per-use (as of 2026): ~$0.015 per plain post, ~$0.20 per post that contains a link. Warn the user before posting links. X API has no native schedule. Do not fake a queue or invent a publish time. Up to 4 photos, 1 GIF, or 1 video via media_ids from x_organic_upload_media.

x_organic_replyA

POST /2/tweets as a reply (in_reply_to_tweet_id). Requires confirm=true. Do not invent copy. Do not spam-reply. Self-serve / pay-per-use: replies to someone else only succeed if they @mentioned you or quoted you. Enterprise is unrestricted. Self-replies (your own thread) are the intended thread mechanism. X API pay-per-use (2026): ~$0.015/post, ~$0.20 if the text contains a link. Warn before posting links.

x_organic_quoteA

POST /2/tweets with quote_tweet_id. Requires confirm=true. Quote-posting is Enterprise-only on self-serve/pay-per-use as of 2026-09 — expect 403 on those plans. Never invent post text, DM copy, handles, or media. Use only what the user supplied. X API pay-per-use (2026): ~$0.015/post, ~$0.20 if the text contains a link. Warn before posting links.

x_organic_repostA

POST /2/users/:id/retweets. Requires confirm=true after the user named the post to repost.

x_organic_unrepostB

DELETE /2/users/:id/retweets/:tweet_id. Requires confirm=true.

x_organic_delete_postA

DELETE /2/tweets/:id. You can only delete posts you authored. Requires confirm=true after the user named the exact post. Destructive and irreversible.

x_organic_create_threadA

Composite: publish the first post, then chain the rest as replies (in_reply_to of the previous). Use only the array of copy the user supplied — never invent posts. Requires confirm=true once for the whole thread. If a later post fails, STOP and return what already went up. X API pay-per-use (as of 2026): ~$0.015 per plain post, ~$0.20 per post that contains a link. Warn the user before posting links. X API has no native schedule. Do not fake a queue or invent a publish time.

x_organic_hide_replyA

PUT /2/tweets/:id/hidden. Only works for replies on a conversation you own. Requires confirm=true. Scope tweet.moderate.write. hidden=true hides, false unhides.

x_organic_likeA

POST /2/users/:id/likes. Reversible. Scope like.write. Do not mass-like.

x_organic_unlikeB

DELETE /2/users/:id/likes/:tweet_id.

x_organic_bookmarkC

POST /2/users/:id/bookmarks. Scope bookmark.write.

x_organic_unbookmarkD

DELETE /2/users/:id/bookmarks/:tweet_id.

x_organic_upload_mediaA

Upload an image or video for an organic post (tweet_image / tweet_gif / tweet_video) or a DM (dm_*). Images use simple upload; video and files >5MB use v2 chunked INIT/APPEND/FINALIZE and poll STATUS. Never amplify_video (ads). Provide exactly one of media_url or media. If the intended media failed to upload or process, STOP. Do not substitute a still, a source image, or a pre-existing library asset.

x_organic_reply_with_mediaA

Composite: upload media (if given) then reply. If upload fails, STOP — do not post a text-only substitute. Requires confirm=true. Self-serve / pay-per-use: replies to someone else only succeed if they @mentioned you or quoted you. Enterprise is unrestricted. Self-replies (your own thread) are the intended thread mechanism. X API pay-per-use (2026): ~$0.015/post, ~$0.20 if the text contains a link. Warn before posting links.

x_organic_list_dm_eventsB

GET /2/dm_events (MessageCreate). One page of inbox events with sender expansion. Scope dm.read. Do not dump DMs into public posts.

x_organic_list_dm_conversationA

GET /2/dm_conversations/:id/dm_events. Pass a conversation id from inbox_summary or list_dm_events. Scope dm.read.

x_organic_send_dmA

Send one DM to a named recipient (participant_id or username) or an existing dm_conversation_id. Requires confirm=true after an explicit named ask. Never invent copy. One recipient — no bulk unsolicited DMs. Optional media_id from x_organic_upload_media with destination=dm. Do not spam-reply and do not send bulk unsolicited DMs. One named conversation at a time.

x_organic_inbox_summaryA

Composite: fetch recent DM events and group by conversation with the last message. Use this to triage inbox, then x_organic_list_dm_conversation + x_organic_send_dm (confirm) to answer. Do not auto-reply.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
x-organic-dashboardInline table of posts, mentions, or DM conversations from the last tool result.

TDQS

B3.2/5.0

Scored across 32 tools

Disambiguation4/5

Each tool maps to a specific X API endpoint or composite workflow, with read vs. write and single vs. batch clearly separated. The only places an agent could hesitate are the DM-reading tools (list_dm_events, list_dm_conversation, inbox_summary) and the several post-creation variants, but the descriptions provide enough distinction.

Naming Consistency4/5

The x_organic_ prefix plus snake_case gives the whole set a consistent visual and lexical pattern. Some names deviate from the verb_noun convention (mentions, my_timeline, liked_posts, inbox_summary), but these are minor and predictable.

Tool Count3/5

At 32 tools this is above the comfortable 3-15 range and feels heavy, though the breadth covers posts, engagement, DMs, search, users, and media uploads. The count is defensible for a full X API integration but risks overwhelming selection unless the naming and descriptions carry the load.

Completeness4/5

The surface covers the core organic X lifecycle well: create/delete posts, threads, replies, quotes, likes, bookmarks, reposts, DMs, and media. Minor gaps such as follow/unfollow, DM deletion/read state, and a single upload-and-create-post composite exist, but agents can work around them.

Maintenance

ActivityMaintained
ResponsivenessNo issues