Skip to content

X (Twitter)

Local package path declaredCredentials listedRepository declared by sourceUpdated 2026-09-09

io.github.Role1776/mcp-x · Registry status: active

Report data on this entry

At a glance

Search, read and publish X posts and manage users, lists and media via the X API v2.

Vendor's own description, untranslated and unverified

Execution location
Local package path declared
Required secrets declared
Credentials listed
Declared version and change
0.1.1 · Source-reported change date 2026-09-09
Repository as declared
github.com/Role1776/mcp-x
Configuration
can be built from the disclosed start template

Inspect connection paths and prerequisites

Related categories

6 of 8 categories. All categories in the segment catalogue

Page last changed:

Sources and collection
Runs
Local package path declared
Credentials
Credentials listed
Registry record changed
2026-09-09
Setup
Template available
Registry name
io.github.Role1776/mcp-x
Package coordinate
oci:ghcr.io/role1776/mcp-x:0.1.1
Declared version
0.1.1
Source-reported listing date
2026-09-09
Source-reported change date
2026-09-09
First seen by tracevero
2026-09-10
Vendor's website
https://github.com/Role1776/mcp-x#readme

Evidence for this page · Source: MCP-Register · collected on 2026-09-10

Every value below comes from it. Where one differs, its origin is stated on its row. What the confidence levels mean

Measured values

Measured values
Required secrets declaredCredentials listed yes
Original data – Required secret variables (raw): X_ACCESS_TOKEN, X_ACCESS_TOKEN, X_ACCESS_TOKEN, X_ACCESS_TOKEN, X_ACCESS_TOKEN, X_ACCESS_TOKEN, X_ACCESS_TOKEN, X_ACCESS_TOKEN_SECRET, X_ACCESS_TOKEN_SECRET, X_ACCESS_TOKEN_SECRET, X_ACCESS_TOKEN_SECRET, X_ACCESS_TOKEN_SECRET, X_ACCESS_TOKEN_SECRET, X_ACCESS_TOKEN_SECRET, X_API_KEY, X_API_KEY, X_API_KEY, X_API_KEY, X_API_KEY, X_API_KEY, X_API_KEY, X_API_KEY_SECRET, X_API_KEY_SECRET, X_API_KEY_SECRET, X_API_KEY_SECRET, X_API_KEY_SECRET, X_API_KEY_SECRET, X_API_KEY_SECRET
Original data – Required secret headers (raw): confirmed absent
Source: MCP-Register · collected on 2026-09-10 · derived
Execution locationLocal package path declared local
Original data – Transports (raw): stdio, stdio, stdio, stdio, stdio, stdio, stdio
Source: MCP-Register · collected on 2026-09-10 · derived
Path argument presentyes
Original data – Path arguments (raw): confirmed absent
Original data – Path environment variables (raw): MEDIA_ROOT
Source: MCP-Register · collected on 2026-09-10 · derived
Repository URL listedRepository declared by source yes
Original data – Repository (raw): https://github.com/Role1776/mcp-x
Source: MCP-Register · collected on 2026-09-10 · derived
Declared version0.1.1
Source: MCP-Register · collected on 2026-09-10 · self-declared

What is measured is what a manifest declares, not what a piece of software does. This registry fetches no repository URL, no endpoint and no package index; nothing here is verified. Which value comes from which source, and by which rule it was formed, is set out in the Methodology.

Source data25

All 25 values in this block: self-declared.

Raw values
Description (raw)Search, read and publish X posts and manage users, lists and media via the X API v2.
Environment variables (raw)X_API_KEY, X_API_KEY_SECRET, X_ACCESS_TOKEN, X_ACCESS_TOKEN_SECRET, MEDIA_ROOT, MCP_TRANSPORT, MCP_NAME, MCP_PATH, SERVER_PORT, SERVER_READ_TIMEOUT, SERVER_WRITE_TIMEOUT, LOG_MODE, MAX_IDLE_CONNS_PER_HOST, X_DEBUG, POSTS_MAX_QUERIES, POSTS_MAX_USERNAMES, POSTS_MAX_IDS, POSTS_DEFAULT_RESULTS, POSTS_MAX_RESULTS, POSTS_DEFAULT_DAYS, POSTS_MAX_DAYS, POSTS_DEFAULT_TIMEOUT_MS, POSTS_MIN_TIMEOUT_MS, POSTS_MAX_TIMEOUT_MS, USERS_MAX_USERNAMES, USERS_MAX_IDS, USERS_DEFAULT_RESULTS, USERS_MAX_RESULTS, USERS_DEFAULT_TIMEOUT_MS, USERS_MIN_TIMEOUT_MS, USERS_MAX_TIMEOUT_MS, LISTS_DEFAULT_RESULTS, LISTS_MAX_RESULTS, LISTS_DEFAULT_TIMEOUT_MS, LISTS_MIN_TIMEOUT_MS, LISTS_MAX_TIMEOUT_MS, MEDIA_CHUNK_BYTES, MEDIA_POLL_INTERVAL_MS, MEDIA_DEFAULT_TIMEOUT_MS, MEDIA_MIN_TIMEOUT_MS, MEDIA_MAX_TIMEOUT_MS, X_API_KEY, X_API_KEY_SECRET, X_ACCESS_TOKEN, X_ACCESS_TOKEN_SECRET, MEDIA_ROOT, MCP_TRANSPORT, MCP_NAME, MCP_PATH, SERVER_PORT, SERVER_READ_TIMEOUT, SERVER_WRITE_TIMEOUT, LOG_MODE, MAX_IDLE_CONNS_PER_HOST, X_DEBUG, POSTS_MAX_QUERIES, POSTS_MAX_USERNAMES, POSTS_MAX_IDS, POSTS_DEFAULT_RESULTS, POSTS_MAX_RESULTS, POSTS_DEFAULT_DAYS, POSTS_MAX_DAYS, POSTS_DEFAULT_TIMEOUT_MS, POSTS_MIN_TIMEOUT_MS, POSTS_MAX_TIMEOUT_MS, USERS_MAX_USERNAMES, USERS_MAX_IDS, USERS_DEFAULT_RESULTS, USERS_MAX_RESULTS, USERS_DEFAULT_TIMEOUT_MS, USERS_MIN_TIMEOUT_MS, USERS_MAX_TIMEOUT_MS, LISTS_DEFAULT_RESULTS, LISTS_MAX_RESULTS, LISTS_DEFAULT_TIMEOUT_MS, LISTS_MIN_TIMEOUT_MS, LISTS_MAX_TIMEOUT_MS, MEDIA_CHUNK_BYTES, MEDIA_POLL_INTERVAL_MS, MEDIA_DEFAULT_TIMEOUT_MS, MEDIA_MIN_TIMEOUT_MS, MEDIA_MAX_TIMEOUT_MS, X_API_KEY, X_API_KEY_SECRET, X_ACCESS_TOKEN, X_ACCESS_TOKEN_SECRET, MEDIA_ROOT, MCP_TRANSPORT, MCP_NAME, MCP_PATH, SERVER_PORT, SERVER_READ_TIMEOUT, SERVER_WRITE_TIMEOUT, LOG_MODE, MAX_IDLE_CONNS_PER_HOST, X_DEBUG, POSTS_MAX_QUERIES, POSTS_MAX_USERNAMES, POSTS_MAX_IDS, POSTS_DEFAULT_RESULTS, POSTS_MAX_RESULTS, POSTS_DEFAULT_DAYS, POSTS_MAX_DAYS, POSTS_DEFAULT_TIMEOUT_MS, POSTS_MIN_TIMEOUT_MS, POSTS_MAX_TIMEOUT_MS, USERS_MAX_USERNAMES, USERS_MAX_IDS, USERS_DEFAULT_RESULTS, USERS_MAX_RESULTS, USERS_DEFAULT_TIMEOUT_MS, USERS_MIN_TIMEOUT_MS, USERS_MAX_TIMEOUT_MS, LISTS_DEFAULT_RESULTS, LISTS_MAX_RESULTS, LISTS_DEFAULT_TIMEOUT_MS, LISTS_MIN_TIMEOUT_MS, LISTS_MAX_TIMEOUT_MS, MEDIA_CHUNK_BYTES, MEDIA_POLL_INTERVAL_MS, MEDIA_DEFAULT_TIMEOUT_MS, MEDIA_MIN_TIMEOUT_MS, MEDIA_MAX_TIMEOUT_MS, X_API_KEY, X_API_KEY_SECRET, X_ACCESS_TOKEN, X_ACCESS_TOKEN_SECRET, MEDIA_ROOT, MCP_TRANSPORT, MCP_NAME, MCP_PATH, SERVER_PORT, SERVER_READ_TIMEOUT, SERVER_WRITE_TIMEOUT, LOG_MODE, MAX_IDLE_CONNS_PER_HOST, X_DEBUG, POSTS_MAX_QUERIES, POSTS_MAX_USERNAMES, POSTS_MAX_IDS, POSTS_DEFAULT_RESULTS, POSTS_MAX_RESULTS, POSTS_DEFAULT_DAYS, POSTS_MAX_DAYS, POSTS_DEFAULT_TIMEOUT_MS, POSTS_MIN_TIMEOUT_MS, POSTS_MAX_TIMEOUT_MS, USERS_MAX_USERNAMES, USERS_MAX_IDS, USERS_DEFAULT_RESULTS, USERS_MAX_RESULTS, USERS_DEFAULT_TIMEOUT_MS, USERS_MIN_TIMEOUT_MS, USERS_MAX_TIMEOUT_MS, LISTS_DEFAULT_RESULTS, LISTS_MAX_RESULTS, LISTS_DEFAULT_TIMEOUT_MS, LISTS_MIN_TIMEOUT_MS, LISTS_MAX_TIMEOUT_MS, MEDIA_CHUNK_BYTES, MEDIA_POLL_INTERVAL_MS, MEDIA_DEFAULT_TIMEOUT_MS, MEDIA_MIN_TIMEOUT_MS, MEDIA_MAX_TIMEOUT_MS, X_API_KEY, X_API_KEY_SECRET, X_ACCESS_TOKEN, X_ACCESS_TOKEN_SECRET, MEDIA_ROOT, MCP_TRANSPORT, MCP_NAME, MCP_PATH, SERVER_PORT, SERVER_READ_TIMEOUT, SERVER_WRITE_TIMEOUT, LOG_MODE, MAX_IDLE_CONNS_PER_HOST, X_DEBUG, POSTS_MAX_QUERIES, POSTS_MAX_USERNAMES, POSTS_MAX_IDS, POSTS_DEFAULT_RESULTS, POSTS_MAX_RESULTS, POSTS_DEFAULT_DAYS, POSTS_MAX_DAYS, POSTS_DEFAULT_TIMEOUT_MS, POSTS_MIN_TIMEOUT_MS, POSTS_MAX_TIMEOUT_MS, USERS_MAX_USERNAMES, USERS_MAX_IDS, USERS_DEFAULT_RESULTS, USERS_MAX_RESULTS, USERS_DEFAULT_TIMEOUT_MS, USERS_MIN_TIMEOUT_MS, USERS_MAX_TIMEOUT_MS, LISTS_DEFAULT_RESULTS, LISTS_MAX_RESULTS, LISTS_DEFAULT_TIMEOUT_MS, LISTS_MIN_TIMEOUT_MS, LISTS_MAX_TIMEOUT_MS, MEDIA_CHUNK_BYTES, MEDIA_POLL_INTERVAL_MS, MEDIA_DEFAULT_TIMEOUT_MS, MEDIA_MIN_TIMEOUT_MS, MEDIA_MAX_TIMEOUT_MS, X_API_KEY, X_API_KEY_SECRET, X_ACCESS_TOKEN, X_ACCESS_TOKEN_SECRET, MEDIA_ROOT, MCP_TRANSPORT, MCP_NAME, MCP_PATH, SERVER_PORT, SERVER_READ_TIMEOUT, SERVER_WRITE_TIMEOUT, LOG_MODE, MAX_IDLE_CONNS_PER_HOST, X_DEBUG, POSTS_MAX_QUERIES, POSTS_MAX_USERNAMES, POSTS_MAX_IDS, POSTS_DEFAULT_RESULTS, POSTS_MAX_RESULTS, POSTS_DEFAULT_DAYS, POSTS_MAX_DAYS, POSTS_DEFAULT_TIMEOUT_MS, POSTS_MIN_TIMEOUT_MS, POSTS_MAX_TIMEOUT_MS, USERS_MAX_USERNAMES, USERS_MAX_IDS, USERS_DEFAULT_RESULTS, USERS_MAX_RESULTS, USERS_DEFAULT_TIMEOUT_MS, USERS_MIN_TIMEOUT_MS, USERS_MAX_TIMEOUT_MS, LISTS_DEFAULT_RESULTS, LISTS_MAX_RESULTS, LISTS_DEFAULT_TIMEOUT_MS, LISTS_MIN_TIMEOUT_MS, LISTS_MAX_TIMEOUT_MS, MEDIA_CHUNK_BYTES, MEDIA_POLL_INTERVAL_MS, MEDIA_DEFAULT_TIMEOUT_MS, MEDIA_MIN_TIMEOUT_MS, MEDIA_MAX_TIMEOUT_MS, X_API_KEY, X_API_KEY_SECRET, X_ACCESS_TOKEN, X_ACCESS_TOKEN_SECRET, MEDIA_ROOT, MCP_TRANSPORT, MCP_NAME, MCP_PATH, SERVER_PORT, SERVER_READ_TIMEOUT, SERVER_WRITE_TIMEOUT, LOG_MODE, MAX_IDLE_CONNS_PER_HOST, X_DEBUG, POSTS_MAX_QUERIES, POSTS_MAX_USERNAMES, POSTS_MAX_IDS, POSTS_DEFAULT_RESULTS, POSTS_MAX_RESULTS, POSTS_DEFAULT_DAYS, POSTS_MAX_DAYS, POSTS_DEFAULT_TIMEOUT_MS, POSTS_MIN_TIMEOUT_MS, POSTS_MAX_TIMEOUT_MS, USERS_MAX_USERNAMES, USERS_MAX_IDS, USERS_DEFAULT_RESULTS, USERS_MAX_RESULTS, USERS_DEFAULT_TIMEOUT_MS, USERS_MIN_TIMEOUT_MS, USERS_MAX_TIMEOUT_MS, LISTS_DEFAULT_RESULTS, LISTS_MAX_RESULTS, LISTS_DEFAULT_TIMEOUT_MS, LISTS_MIN_TIMEOUT_MS, LISTS_MAX_TIMEOUT_MS, MEDIA_CHUNK_BYTES, MEDIA_POLL_INTERVAL_MS, MEDIA_DEFAULT_TIMEOUT_MS, MEDIA_MIN_TIMEOUT_MS, MEDIA_MAX_TIMEOUT_MS
Required secret variables (raw)X_ACCESS_TOKEN, X_ACCESS_TOKEN, X_ACCESS_TOKEN, X_ACCESS_TOKEN, X_ACCESS_TOKEN, X_ACCESS_TOKEN, X_ACCESS_TOKEN, X_ACCESS_TOKEN_SECRET, X_ACCESS_TOKEN_SECRET, X_ACCESS_TOKEN_SECRET, X_ACCESS_TOKEN_SECRET, X_ACCESS_TOKEN_SECRET, X_ACCESS_TOKEN_SECRET, X_ACCESS_TOKEN_SECRET, X_API_KEY, X_API_KEY, X_API_KEY, X_API_KEY, X_API_KEY, X_API_KEY, X_API_KEY, X_API_KEY_SECRET, X_API_KEY_SECRET, X_API_KEY_SECRET, X_API_KEY_SECRET, X_API_KEY_SECRET, X_API_KEY_SECRET, X_API_KEY_SECRET
Transports (raw)stdio, stdio, stdio, stdio, stdio, stdio, stdio
Path arguments (raw)confirmed absent
Repository (raw)https://github.com/Role1776/mcp-x
Package registries (raw)mcpb, mcpb, mcpb, mcpb, mcpb, mcpb, oci
Required secret headers (raw)confirmed absent
Path environment variables (raw)MEDIA_ROOT
Remote URLs (raw)confirmed absent
Remote hosts (raw)confirmed absent
Registry status message (raw)confirmed absent
First listed in the registry (raw)2026-09-09
Last changed in the registry (raw)2026-09-09
Schema version of the raw record (raw)https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json
Delivery form (raw)package
Repository platform (raw)github
Repository subfolder (raw)confirmed absent
Package identifiers (raw)ghcr.io/role1776/mcp-x:0.1.1, https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_darwin_amd64.mcpb, https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_darwin_arm64.mcpb, https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_linux_amd64.mcpb, https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_linux_arm64.mcpb, https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_windows_amd64.mcpb, https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_windows_arm64.mcpb
Package versions (raw)0.1.1
Runtime hints (raw)confirmed absent
Environment variable formats (raw)boolean, filepath, number
Environment variable descriptions (raw)LISTS_DEFAULT_RESULTS=Items returned per list page when the call does not ask for a count. · LISTS_DEFAULT_TIMEOUT_MS=Timeout for a lists call in milliseconds when the call does not request one. · LISTS_MAX_RESULTS=Upper bound for items per list page. The X API caps this at 100. · LISTS_MAX_TIMEOUT_MS=Highest timeout a lists call may request, in milliseconds. · LISTS_MIN_TIMEOUT_MS=Lowest timeout a lists call may request, in milliseconds. · LOG_MODE=local (text, debug) or prod (JSON, info). Logs go to stderr. · MAX_IDLE_CONNS_PER_HOST=Idle connections the outbound HTTP client keeps per host. · MCP_NAME=Server name reported in the MCP initialize handshake. · MCP_PATH=HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http. · MCP_TRANSPORT=stdio (client spawns the process) or http (streamable HTTP listener). · MEDIA_CHUNK_BYTES=Bytes per upload segment. The X APPEND endpoint caps a segment at 5 MB. · MEDIA_DEFAULT_TIMEOUT_MS=Timeout for a whole upload in milliseconds when the call does not request one. · MEDIA_MAX_TIMEOUT_MS=Highest timeout an upload may request, in milliseconds. · MEDIA_MIN_TIMEOUT_MS=Lowest timeout an upload may request, in milliseconds. · MEDIA_POLL_INTERVAL_MS=How often the upload status is polled while X transcodes a video, in milliseconds. · MEDIA_ROOT=Absolute path to an existing directory - the only one x_media_upload may read files from. Anything outside it is refused, symlinks included. Checked at startup. · POSTS_DEFAULT_DAYS=How far back post searches look when the call does not say, in days. · POSTS_DEFAULT_RESULTS=Posts returned per query when the call does not ask for a count. Every post returned is billed. · POSTS_DEFAULT_TIMEOUT_MS=Timeout for a posts call in milliseconds when the call does not request one. · POSTS_MAX_DAYS=Furthest back a post search may look, in days. Recent search cannot exceed 7. · POSTS_MAX_IDS=Post ids accepted in one x_posts_lookup call. The X API caps this at 100. · POSTS_MAX_QUERIES=Queries accepted in one x_posts_search or x_posts_count call. · POSTS_MAX_RESULTS=Upper bound for posts per query. The X API caps this at 100. · POSTS_MAX_TIMEOUT_MS=Highest timeout a posts call may request, in milliseconds. · POSTS_MAX_USERNAMES=Usernames accepted in one x_posts_by_user call. · POSTS_MIN_TIMEOUT_MS=Lowest timeout a posts call may request, in milliseconds. · SERVER_PORT=TCP port to listen on. Used only when MCP_TRANSPORT=http. · SERVER_READ_TIMEOUT=HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http. · SERVER_WRITE_TIMEOUT=HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http. · USERS_DEFAULT_RESULTS=Users returned per page when the call does not ask for a count. · USERS_DEFAULT_TIMEOUT_MS=Timeout for a users call in milliseconds when the call does not request one. · USERS_MAX_IDS=User ids accepted in one x_users_lookup call. The X API caps this at 100. · USERS_MAX_RESULTS=Upper bound for users per page. · USERS_MAX_TIMEOUT_MS=Highest timeout a users call may request, in milliseconds. · USERS_MAX_USERNAMES=Usernames accepted in one x_users_lookup call. The X API caps this at 100. · USERS_MIN_TIMEOUT_MS=Lowest timeout a users call may request, in milliseconds. · X_ACCESS_TOKEN=User access token. Set the app permissions to Read and Write BEFORE generating it: a token keeps the permissions it was created with, and a read-only one fails every write until it is regenerated. · X_ACCESS_TOKEN_SECRET=User access token secret, issued together with X_ACCESS_TOKEN. · X_API_KEY=OAuth 1.0a consumer key. developer.x.com -> your project -> your app -> Keys and tokens. · X_API_KEY_SECRET=OAuth 1.0a consumer secret, issued together with X_API_KEY. · X_DEBUG=Log the raw requests sent to the X API. Verbose; the output can contain request details, so keep it off outside debugging.
Icon formats (raw)confirmed absent
Connection paths (source structure){"packages":[{"registryType":"oci","identifier":"ghcr.io/role1776/mcp-x:0.1.1","transport":"stdio","environment":[{"name":"X_API_KEY","description":"OAuth 1.0a consumer key. developer.x.com -> your project -> your app -> Keys and tokens.","required":true,"secret":true},{"name":"X_API_KEY_SECRET","description":"OAuth 1.0a consumer secret, issued together with X_API_KEY.","required":true,"secret":true},{"name":"X_ACCESS_TOKEN","description":"User access token. Set the app permissions to Read and Write BEFORE generating it: a token keeps the permissions it was created with, and a read-only one fails every write until it is regenerated.","required":true,"secret":true},{"name":"X_ACCESS_TOKEN_SECRET","description":"User access token secret, issued together with X_ACCESS_TOKEN.","required":true,"secret":true},{"name":"MEDIA_ROOT","description":"Absolute path to an existing directory - the only one x_media_upload may read files from. Anything outside it is refused, symlinks included. Checked at startup.","format":"filepath","required":true,"secret":false},{"name":"MCP_TRANSPORT","description":"stdio (client spawns the process) or http (streamable HTTP listener).","required":false,"secret":false},{"name":"MCP_NAME","description":"Server name reported in the MCP initialize handshake.","required":false,"secret":false},{"name":"MCP_PATH","description":"HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_PORT","description":"TCP port to listen on. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_READ_TIMEOUT","description":"HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_WRITE_TIMEOUT","description":"HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"LOG_MODE","description":"local (text, debug) or prod (JSON, info). Logs go to stderr.","required":false,"secret":false},{"name":"MAX_IDLE_CONNS_PER_HOST","description":"Idle connections the outbound HTTP client keeps per host.","format":"number","required":false,"secret":false},{"name":"X_DEBUG","description":"Log the raw requests sent to the X API. Verbose; the output can contain request details, so keep it off outside debugging.","format":"boolean","required":false,"secret":false},{"name":"POSTS_MAX_QUERIES","description":"Queries accepted in one x_posts_search or x_posts_count call.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_USERNAMES","description":"Usernames accepted in one x_posts_by_user call.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_IDS","description":"Post ids accepted in one x_posts_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_RESULTS","description":"Posts returned per query when the call does not ask for a count. Every post returned is billed.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_RESULTS","description":"Upper bound for posts per query. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_DAYS","description":"How far back post searches look when the call does not say, in days.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_DAYS","description":"Furthest back a post search may look, in days. Recent search cannot exceed 7.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_TIMEOUT_MS","description":"Timeout for a posts call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"POSTS_MIN_TIMEOUT_MS","description":"Lowest timeout a posts call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_TIMEOUT_MS","description":"Highest timeout a posts call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_USERNAMES","description":"Usernames accepted in one x_users_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_IDS","description":"User ids accepted in one x_users_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"USERS_DEFAULT_RESULTS","description":"Users returned per page when the call does not ask for a count.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_RESULTS","description":"Upper bound for users per page.","format":"number","required":false,"secret":false},{"name":"USERS_DEFAULT_TIMEOUT_MS","description":"Timeout for a users call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"USERS_MIN_TIMEOUT_MS","description":"Lowest timeout a users call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_TIMEOUT_MS","description":"Highest timeout a users call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"LISTS_DEFAULT_RESULTS","description":"Items returned per list page when the call does not ask for a count.","format":"number","required":false,"secret":false},{"name":"LISTS_MAX_RESULTS","description":"Upper bound for items per list page. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"LISTS_DEFAULT_TIMEOUT_MS","description":"Timeout for a lists call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"LISTS_MIN_TIMEOUT_MS","description":"Lowest timeout a lists call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"LISTS_MAX_TIMEOUT_MS","description":"Highest timeout a lists call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_CHUNK_BYTES","description":"Bytes per upload segment. The X APPEND endpoint caps a segment at 5 MB.","format":"number","required":false,"secret":false},{"name":"MEDIA_POLL_INTERVAL_MS","description":"How often the upload status is polled while X transcodes a video, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_DEFAULT_TIMEOUT_MS","description":"Timeout for a whole upload in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"MEDIA_MIN_TIMEOUT_MS","description":"Lowest timeout an upload may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_MAX_TIMEOUT_MS","description":"Highest timeout an upload may request, in milliseconds.","format":"number","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"mcpb","identifier":"https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_darwin_amd64.mcpb","version":"0.1.1","transport":"stdio","environment":[{"name":"X_API_KEY","description":"OAuth 1.0a consumer key. developer.x.com -> your project -> your app -> Keys and tokens.","required":true,"secret":true},{"name":"X_API_KEY_SECRET","description":"OAuth 1.0a consumer secret, issued together with X_API_KEY.","required":true,"secret":true},{"name":"X_ACCESS_TOKEN","description":"User access token. Set the app permissions to Read and Write BEFORE generating it: a token keeps the permissions it was created with, and a read-only one fails every write until it is regenerated.","required":true,"secret":true},{"name":"X_ACCESS_TOKEN_SECRET","description":"User access token secret, issued together with X_ACCESS_TOKEN.","required":true,"secret":true},{"name":"MEDIA_ROOT","description":"Absolute path to an existing directory - the only one x_media_upload may read files from. Anything outside it is refused, symlinks included. Checked at startup.","format":"filepath","required":true,"secret":false},{"name":"MCP_TRANSPORT","description":"stdio (client spawns the process) or http (streamable HTTP listener).","required":false,"secret":false},{"name":"MCP_NAME","description":"Server name reported in the MCP initialize handshake.","required":false,"secret":false},{"name":"MCP_PATH","description":"HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_PORT","description":"TCP port to listen on. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_READ_TIMEOUT","description":"HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_WRITE_TIMEOUT","description":"HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"LOG_MODE","description":"local (text, debug) or prod (JSON, info). Logs go to stderr.","required":false,"secret":false},{"name":"MAX_IDLE_CONNS_PER_HOST","description":"Idle connections the outbound HTTP client keeps per host.","format":"number","required":false,"secret":false},{"name":"X_DEBUG","description":"Log the raw requests sent to the X API. Verbose; the output can contain request details, so keep it off outside debugging.","format":"boolean","required":false,"secret":false},{"name":"POSTS_MAX_QUERIES","description":"Queries accepted in one x_posts_search or x_posts_count call.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_USERNAMES","description":"Usernames accepted in one x_posts_by_user call.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_IDS","description":"Post ids accepted in one x_posts_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_RESULTS","description":"Posts returned per query when the call does not ask for a count. Every post returned is billed.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_RESULTS","description":"Upper bound for posts per query. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_DAYS","description":"How far back post searches look when the call does not say, in days.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_DAYS","description":"Furthest back a post search may look, in days. Recent search cannot exceed 7.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_TIMEOUT_MS","description":"Timeout for a posts call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"POSTS_MIN_TIMEOUT_MS","description":"Lowest timeout a posts call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_TIMEOUT_MS","description":"Highest timeout a posts call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_USERNAMES","description":"Usernames accepted in one x_users_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_IDS","description":"User ids accepted in one x_users_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"USERS_DEFAULT_RESULTS","description":"Users returned per page when the call does not ask for a count.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_RESULTS","description":"Upper bound for users per page.","format":"number","required":false,"secret":false},{"name":"USERS_DEFAULT_TIMEOUT_MS","description":"Timeout for a users call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"USERS_MIN_TIMEOUT_MS","description":"Lowest timeout a users call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_TIMEOUT_MS","description":"Highest timeout a users call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"LISTS_DEFAULT_RESULTS","description":"Items returned per list page when the call does not ask for a count.","format":"number","required":false,"secret":false},{"name":"LISTS_MAX_RESULTS","description":"Upper bound for items per list page. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"LISTS_DEFAULT_TIMEOUT_MS","description":"Timeout for a lists call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"LISTS_MIN_TIMEOUT_MS","description":"Lowest timeout a lists call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"LISTS_MAX_TIMEOUT_MS","description":"Highest timeout a lists call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_CHUNK_BYTES","description":"Bytes per upload segment. The X APPEND endpoint caps a segment at 5 MB.","format":"number","required":false,"secret":false},{"name":"MEDIA_POLL_INTERVAL_MS","description":"How often the upload status is polled while X transcodes a video, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_DEFAULT_TIMEOUT_MS","description":"Timeout for a whole upload in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"MEDIA_MIN_TIMEOUT_MS","description":"Lowest timeout an upload may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_MAX_TIMEOUT_MS","description":"Highest timeout an upload may request, in milliseconds.","format":"number","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"mcpb","identifier":"https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_darwin_arm64.mcpb","version":"0.1.1","transport":"stdio","environment":[{"name":"X_API_KEY","description":"OAuth 1.0a consumer key. developer.x.com -> your project -> your app -> Keys and tokens.","required":true,"secret":true},{"name":"X_API_KEY_SECRET","description":"OAuth 1.0a consumer secret, issued together with X_API_KEY.","required":true,"secret":true},{"name":"X_ACCESS_TOKEN","description":"User access token. Set the app permissions to Read and Write BEFORE generating it: a token keeps the permissions it was created with, and a read-only one fails every write until it is regenerated.","required":true,"secret":true},{"name":"X_ACCESS_TOKEN_SECRET","description":"User access token secret, issued together with X_ACCESS_TOKEN.","required":true,"secret":true},{"name":"MEDIA_ROOT","description":"Absolute path to an existing directory - the only one x_media_upload may read files from. Anything outside it is refused, symlinks included. Checked at startup.","format":"filepath","required":true,"secret":false},{"name":"MCP_TRANSPORT","description":"stdio (client spawns the process) or http (streamable HTTP listener).","required":false,"secret":false},{"name":"MCP_NAME","description":"Server name reported in the MCP initialize handshake.","required":false,"secret":false},{"name":"MCP_PATH","description":"HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_PORT","description":"TCP port to listen on. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_READ_TIMEOUT","description":"HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_WRITE_TIMEOUT","description":"HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"LOG_MODE","description":"local (text, debug) or prod (JSON, info). Logs go to stderr.","required":false,"secret":false},{"name":"MAX_IDLE_CONNS_PER_HOST","description":"Idle connections the outbound HTTP client keeps per host.","format":"number","required":false,"secret":false},{"name":"X_DEBUG","description":"Log the raw requests sent to the X API. Verbose; the output can contain request details, so keep it off outside debugging.","format":"boolean","required":false,"secret":false},{"name":"POSTS_MAX_QUERIES","description":"Queries accepted in one x_posts_search or x_posts_count call.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_USERNAMES","description":"Usernames accepted in one x_posts_by_user call.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_IDS","description":"Post ids accepted in one x_posts_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_RESULTS","description":"Posts returned per query when the call does not ask for a count. Every post returned is billed.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_RESULTS","description":"Upper bound for posts per query. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_DAYS","description":"How far back post searches look when the call does not say, in days.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_DAYS","description":"Furthest back a post search may look, in days. Recent search cannot exceed 7.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_TIMEOUT_MS","description":"Timeout for a posts call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"POSTS_MIN_TIMEOUT_MS","description":"Lowest timeout a posts call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_TIMEOUT_MS","description":"Highest timeout a posts call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_USERNAMES","description":"Usernames accepted in one x_users_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_IDS","description":"User ids accepted in one x_users_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"USERS_DEFAULT_RESULTS","description":"Users returned per page when the call does not ask for a count.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_RESULTS","description":"Upper bound for users per page.","format":"number","required":false,"secret":false},{"name":"USERS_DEFAULT_TIMEOUT_MS","description":"Timeout for a users call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"USERS_MIN_TIMEOUT_MS","description":"Lowest timeout a users call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_TIMEOUT_MS","description":"Highest timeout a users call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"LISTS_DEFAULT_RESULTS","description":"Items returned per list page when the call does not ask for a count.","format":"number","required":false,"secret":false},{"name":"LISTS_MAX_RESULTS","description":"Upper bound for items per list page. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"LISTS_DEFAULT_TIMEOUT_MS","description":"Timeout for a lists call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"LISTS_MIN_TIMEOUT_MS","description":"Lowest timeout a lists call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"LISTS_MAX_TIMEOUT_MS","description":"Highest timeout a lists call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_CHUNK_BYTES","description":"Bytes per upload segment. The X APPEND endpoint caps a segment at 5 MB.","format":"number","required":false,"secret":false},{"name":"MEDIA_POLL_INTERVAL_MS","description":"How often the upload status is polled while X transcodes a video, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_DEFAULT_TIMEOUT_MS","description":"Timeout for a whole upload in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"MEDIA_MIN_TIMEOUT_MS","description":"Lowest timeout an upload may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_MAX_TIMEOUT_MS","description":"Highest timeout an upload may request, in milliseconds.","format":"number","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"mcpb","identifier":"https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_linux_amd64.mcpb","version":"0.1.1","transport":"stdio","environment":[{"name":"X_API_KEY","description":"OAuth 1.0a consumer key. developer.x.com -> your project -> your app -> Keys and tokens.","required":true,"secret":true},{"name":"X_API_KEY_SECRET","description":"OAuth 1.0a consumer secret, issued together with X_API_KEY.","required":true,"secret":true},{"name":"X_ACCESS_TOKEN","description":"User access token. Set the app permissions to Read and Write BEFORE generating it: a token keeps the permissions it was created with, and a read-only one fails every write until it is regenerated.","required":true,"secret":true},{"name":"X_ACCESS_TOKEN_SECRET","description":"User access token secret, issued together with X_ACCESS_TOKEN.","required":true,"secret":true},{"name":"MEDIA_ROOT","description":"Absolute path to an existing directory - the only one x_media_upload may read files from. Anything outside it is refused, symlinks included. Checked at startup.","format":"filepath","required":true,"secret":false},{"name":"MCP_TRANSPORT","description":"stdio (client spawns the process) or http (streamable HTTP listener).","required":false,"secret":false},{"name":"MCP_NAME","description":"Server name reported in the MCP initialize handshake.","required":false,"secret":false},{"name":"MCP_PATH","description":"HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_PORT","description":"TCP port to listen on. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_READ_TIMEOUT","description":"HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_WRITE_TIMEOUT","description":"HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"LOG_MODE","description":"local (text, debug) or prod (JSON, info). Logs go to stderr.","required":false,"secret":false},{"name":"MAX_IDLE_CONNS_PER_HOST","description":"Idle connections the outbound HTTP client keeps per host.","format":"number","required":false,"secret":false},{"name":"X_DEBUG","description":"Log the raw requests sent to the X API. Verbose; the output can contain request details, so keep it off outside debugging.","format":"boolean","required":false,"secret":false},{"name":"POSTS_MAX_QUERIES","description":"Queries accepted in one x_posts_search or x_posts_count call.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_USERNAMES","description":"Usernames accepted in one x_posts_by_user call.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_IDS","description":"Post ids accepted in one x_posts_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_RESULTS","description":"Posts returned per query when the call does not ask for a count. Every post returned is billed.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_RESULTS","description":"Upper bound for posts per query. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_DAYS","description":"How far back post searches look when the call does not say, in days.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_DAYS","description":"Furthest back a post search may look, in days. Recent search cannot exceed 7.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_TIMEOUT_MS","description":"Timeout for a posts call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"POSTS_MIN_TIMEOUT_MS","description":"Lowest timeout a posts call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_TIMEOUT_MS","description":"Highest timeout a posts call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_USERNAMES","description":"Usernames accepted in one x_users_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_IDS","description":"User ids accepted in one x_users_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"USERS_DEFAULT_RESULTS","description":"Users returned per page when the call does not ask for a count.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_RESULTS","description":"Upper bound for users per page.","format":"number","required":false,"secret":false},{"name":"USERS_DEFAULT_TIMEOUT_MS","description":"Timeout for a users call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"USERS_MIN_TIMEOUT_MS","description":"Lowest timeout a users call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_TIMEOUT_MS","description":"Highest timeout a users call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"LISTS_DEFAULT_RESULTS","description":"Items returned per list page when the call does not ask for a count.","format":"number","required":false,"secret":false},{"name":"LISTS_MAX_RESULTS","description":"Upper bound for items per list page. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"LISTS_DEFAULT_TIMEOUT_MS","description":"Timeout for a lists call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"LISTS_MIN_TIMEOUT_MS","description":"Lowest timeout a lists call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"LISTS_MAX_TIMEOUT_MS","description":"Highest timeout a lists call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_CHUNK_BYTES","description":"Bytes per upload segment. The X APPEND endpoint caps a segment at 5 MB.","format":"number","required":false,"secret":false},{"name":"MEDIA_POLL_INTERVAL_MS","description":"How often the upload status is polled while X transcodes a video, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_DEFAULT_TIMEOUT_MS","description":"Timeout for a whole upload in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"MEDIA_MIN_TIMEOUT_MS","description":"Lowest timeout an upload may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_MAX_TIMEOUT_MS","description":"Highest timeout an upload may request, in milliseconds.","format":"number","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"mcpb","identifier":"https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_linux_arm64.mcpb","version":"0.1.1","transport":"stdio","environment":[{"name":"X_API_KEY","description":"OAuth 1.0a consumer key. developer.x.com -> your project -> your app -> Keys and tokens.","required":true,"secret":true},{"name":"X_API_KEY_SECRET","description":"OAuth 1.0a consumer secret, issued together with X_API_KEY.","required":true,"secret":true},{"name":"X_ACCESS_TOKEN","description":"User access token. Set the app permissions to Read and Write BEFORE generating it: a token keeps the permissions it was created with, and a read-only one fails every write until it is regenerated.","required":true,"secret":true},{"name":"X_ACCESS_TOKEN_SECRET","description":"User access token secret, issued together with X_ACCESS_TOKEN.","required":true,"secret":true},{"name":"MEDIA_ROOT","description":"Absolute path to an existing directory - the only one x_media_upload may read files from. Anything outside it is refused, symlinks included. Checked at startup.","format":"filepath","required":true,"secret":false},{"name":"MCP_TRANSPORT","description":"stdio (client spawns the process) or http (streamable HTTP listener).","required":false,"secret":false},{"name":"MCP_NAME","description":"Server name reported in the MCP initialize handshake.","required":false,"secret":false},{"name":"MCP_PATH","description":"HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_PORT","description":"TCP port to listen on. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_READ_TIMEOUT","description":"HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_WRITE_TIMEOUT","description":"HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"LOG_MODE","description":"local (text, debug) or prod (JSON, info). Logs go to stderr.","required":false,"secret":false},{"name":"MAX_IDLE_CONNS_PER_HOST","description":"Idle connections the outbound HTTP client keeps per host.","format":"number","required":false,"secret":false},{"name":"X_DEBUG","description":"Log the raw requests sent to the X API. Verbose; the output can contain request details, so keep it off outside debugging.","format":"boolean","required":false,"secret":false},{"name":"POSTS_MAX_QUERIES","description":"Queries accepted in one x_posts_search or x_posts_count call.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_USERNAMES","description":"Usernames accepted in one x_posts_by_user call.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_IDS","description":"Post ids accepted in one x_posts_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_RESULTS","description":"Posts returned per query when the call does not ask for a count. Every post returned is billed.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_RESULTS","description":"Upper bound for posts per query. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_DAYS","description":"How far back post searches look when the call does not say, in days.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_DAYS","description":"Furthest back a post search may look, in days. Recent search cannot exceed 7.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_TIMEOUT_MS","description":"Timeout for a posts call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"POSTS_MIN_TIMEOUT_MS","description":"Lowest timeout a posts call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_TIMEOUT_MS","description":"Highest timeout a posts call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_USERNAMES","description":"Usernames accepted in one x_users_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_IDS","description":"User ids accepted in one x_users_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"USERS_DEFAULT_RESULTS","description":"Users returned per page when the call does not ask for a count.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_RESULTS","description":"Upper bound for users per page.","format":"number","required":false,"secret":false},{"name":"USERS_DEFAULT_TIMEOUT_MS","description":"Timeout for a users call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"USERS_MIN_TIMEOUT_MS","description":"Lowest timeout a users call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_TIMEOUT_MS","description":"Highest timeout a users call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"LISTS_DEFAULT_RESULTS","description":"Items returned per list page when the call does not ask for a count.","format":"number","required":false,"secret":false},{"name":"LISTS_MAX_RESULTS","description":"Upper bound for items per list page. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"LISTS_DEFAULT_TIMEOUT_MS","description":"Timeout for a lists call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"LISTS_MIN_TIMEOUT_MS","description":"Lowest timeout a lists call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"LISTS_MAX_TIMEOUT_MS","description":"Highest timeout a lists call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_CHUNK_BYTES","description":"Bytes per upload segment. The X APPEND endpoint caps a segment at 5 MB.","format":"number","required":false,"secret":false},{"name":"MEDIA_POLL_INTERVAL_MS","description":"How often the upload status is polled while X transcodes a video, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_DEFAULT_TIMEOUT_MS","description":"Timeout for a whole upload in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"MEDIA_MIN_TIMEOUT_MS","description":"Lowest timeout an upload may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_MAX_TIMEOUT_MS","description":"Highest timeout an upload may request, in milliseconds.","format":"number","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"mcpb","identifier":"https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_windows_amd64.mcpb","version":"0.1.1","transport":"stdio","environment":[{"name":"X_API_KEY","description":"OAuth 1.0a consumer key. developer.x.com -> your project -> your app -> Keys and tokens.","required":true,"secret":true},{"name":"X_API_KEY_SECRET","description":"OAuth 1.0a consumer secret, issued together with X_API_KEY.","required":true,"secret":true},{"name":"X_ACCESS_TOKEN","description":"User access token. Set the app permissions to Read and Write BEFORE generating it: a token keeps the permissions it was created with, and a read-only one fails every write until it is regenerated.","required":true,"secret":true},{"name":"X_ACCESS_TOKEN_SECRET","description":"User access token secret, issued together with X_ACCESS_TOKEN.","required":true,"secret":true},{"name":"MEDIA_ROOT","description":"Absolute path to an existing directory - the only one x_media_upload may read files from. Anything outside it is refused, symlinks included. Checked at startup.","format":"filepath","required":true,"secret":false},{"name":"MCP_TRANSPORT","description":"stdio (client spawns the process) or http (streamable HTTP listener).","required":false,"secret":false},{"name":"MCP_NAME","description":"Server name reported in the MCP initialize handshake.","required":false,"secret":false},{"name":"MCP_PATH","description":"HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_PORT","description":"TCP port to listen on. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_READ_TIMEOUT","description":"HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_WRITE_TIMEOUT","description":"HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"LOG_MODE","description":"local (text, debug) or prod (JSON, info). Logs go to stderr.","required":false,"secret":false},{"name":"MAX_IDLE_CONNS_PER_HOST","description":"Idle connections the outbound HTTP client keeps per host.","format":"number","required":false,"secret":false},{"name":"X_DEBUG","description":"Log the raw requests sent to the X API. Verbose; the output can contain request details, so keep it off outside debugging.","format":"boolean","required":false,"secret":false},{"name":"POSTS_MAX_QUERIES","description":"Queries accepted in one x_posts_search or x_posts_count call.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_USERNAMES","description":"Usernames accepted in one x_posts_by_user call.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_IDS","description":"Post ids accepted in one x_posts_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_RESULTS","description":"Posts returned per query when the call does not ask for a count. Every post returned is billed.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_RESULTS","description":"Upper bound for posts per query. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_DAYS","description":"How far back post searches look when the call does not say, in days.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_DAYS","description":"Furthest back a post search may look, in days. Recent search cannot exceed 7.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_TIMEOUT_MS","description":"Timeout for a posts call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"POSTS_MIN_TIMEOUT_MS","description":"Lowest timeout a posts call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_TIMEOUT_MS","description":"Highest timeout a posts call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_USERNAMES","description":"Usernames accepted in one x_users_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_IDS","description":"User ids accepted in one x_users_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"USERS_DEFAULT_RESULTS","description":"Users returned per page when the call does not ask for a count.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_RESULTS","description":"Upper bound for users per page.","format":"number","required":false,"secret":false},{"name":"USERS_DEFAULT_TIMEOUT_MS","description":"Timeout for a users call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"USERS_MIN_TIMEOUT_MS","description":"Lowest timeout a users call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_TIMEOUT_MS","description":"Highest timeout a users call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"LISTS_DEFAULT_RESULTS","description":"Items returned per list page when the call does not ask for a count.","format":"number","required":false,"secret":false},{"name":"LISTS_MAX_RESULTS","description":"Upper bound for items per list page. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"LISTS_DEFAULT_TIMEOUT_MS","description":"Timeout for a lists call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"LISTS_MIN_TIMEOUT_MS","description":"Lowest timeout a lists call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"LISTS_MAX_TIMEOUT_MS","description":"Highest timeout a lists call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_CHUNK_BYTES","description":"Bytes per upload segment. The X APPEND endpoint caps a segment at 5 MB.","format":"number","required":false,"secret":false},{"name":"MEDIA_POLL_INTERVAL_MS","description":"How often the upload status is polled while X transcodes a video, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_DEFAULT_TIMEOUT_MS","description":"Timeout for a whole upload in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"MEDIA_MIN_TIMEOUT_MS","description":"Lowest timeout an upload may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_MAX_TIMEOUT_MS","description":"Highest timeout an upload may request, in milliseconds.","format":"number","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"mcpb","identifier":"https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_windows_arm64.mcpb","version":"0.1.1","transport":"stdio","environment":[{"name":"X_API_KEY","description":"OAuth 1.0a consumer key. developer.x.com -> your project -> your app -> Keys and tokens.","required":true,"secret":true},{"name":"X_API_KEY_SECRET","description":"OAuth 1.0a consumer secret, issued together with X_API_KEY.","required":true,"secret":true},{"name":"X_ACCESS_TOKEN","description":"User access token. Set the app permissions to Read and Write BEFORE generating it: a token keeps the permissions it was created with, and a read-only one fails every write until it is regenerated.","required":true,"secret":true},{"name":"X_ACCESS_TOKEN_SECRET","description":"User access token secret, issued together with X_ACCESS_TOKEN.","required":true,"secret":true},{"name":"MEDIA_ROOT","description":"Absolute path to an existing directory - the only one x_media_upload may read files from. Anything outside it is refused, symlinks included. Checked at startup.","format":"filepath","required":true,"secret":false},{"name":"MCP_TRANSPORT","description":"stdio (client spawns the process) or http (streamable HTTP listener).","required":false,"secret":false},{"name":"MCP_NAME","description":"Server name reported in the MCP initialize handshake.","required":false,"secret":false},{"name":"MCP_PATH","description":"HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_PORT","description":"TCP port to listen on. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_READ_TIMEOUT","description":"HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"SERVER_WRITE_TIMEOUT","description":"HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.","required":false,"secret":false},{"name":"LOG_MODE","description":"local (text, debug) or prod (JSON, info). Logs go to stderr.","required":false,"secret":false},{"name":"MAX_IDLE_CONNS_PER_HOST","description":"Idle connections the outbound HTTP client keeps per host.","format":"number","required":false,"secret":false},{"name":"X_DEBUG","description":"Log the raw requests sent to the X API. Verbose; the output can contain request details, so keep it off outside debugging.","format":"boolean","required":false,"secret":false},{"name":"POSTS_MAX_QUERIES","description":"Queries accepted in one x_posts_search or x_posts_count call.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_USERNAMES","description":"Usernames accepted in one x_posts_by_user call.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_IDS","description":"Post ids accepted in one x_posts_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_RESULTS","description":"Posts returned per query when the call does not ask for a count. Every post returned is billed.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_RESULTS","description":"Upper bound for posts per query. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_DAYS","description":"How far back post searches look when the call does not say, in days.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_DAYS","description":"Furthest back a post search may look, in days. Recent search cannot exceed 7.","format":"number","required":false,"secret":false},{"name":"POSTS_DEFAULT_TIMEOUT_MS","description":"Timeout for a posts call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"POSTS_MIN_TIMEOUT_MS","description":"Lowest timeout a posts call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"POSTS_MAX_TIMEOUT_MS","description":"Highest timeout a posts call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_USERNAMES","description":"Usernames accepted in one x_users_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_IDS","description":"User ids accepted in one x_users_lookup call. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"USERS_DEFAULT_RESULTS","description":"Users returned per page when the call does not ask for a count.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_RESULTS","description":"Upper bound for users per page.","format":"number","required":false,"secret":false},{"name":"USERS_DEFAULT_TIMEOUT_MS","description":"Timeout for a users call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"USERS_MIN_TIMEOUT_MS","description":"Lowest timeout a users call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"USERS_MAX_TIMEOUT_MS","description":"Highest timeout a users call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"LISTS_DEFAULT_RESULTS","description":"Items returned per list page when the call does not ask for a count.","format":"number","required":false,"secret":false},{"name":"LISTS_MAX_RESULTS","description":"Upper bound for items per list page. The X API caps this at 100.","format":"number","required":false,"secret":false},{"name":"LISTS_DEFAULT_TIMEOUT_MS","description":"Timeout for a lists call in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"LISTS_MIN_TIMEOUT_MS","description":"Lowest timeout a lists call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"LISTS_MAX_TIMEOUT_MS","description":"Highest timeout a lists call may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_CHUNK_BYTES","description":"Bytes per upload segment. The X APPEND endpoint caps a segment at 5 MB.","format":"number","required":false,"secret":false},{"name":"MEDIA_POLL_INTERVAL_MS","description":"How often the upload status is polled while X transcodes a video, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_DEFAULT_TIMEOUT_MS","description":"Timeout for a whole upload in milliseconds when the call does not request one.","format":"number","required":false,"secret":false},{"name":"MEDIA_MIN_TIMEOUT_MS","description":"Lowest timeout an upload may request, in milliseconds.","format":"number","required":false,"secret":false},{"name":"MEDIA_MAX_TIMEOUT_MS","description":"Highest timeout an upload may request, in milliseconds.","format":"number","required":false,"secret":false}],"additional_arguments_declared":false}],"remotes":[]}
Embed this badge

Paste this line into a README of your own. The badge states how many values the registry holds for the entry and when it last looked, and it links back to this page.

tracevero: number of measured values and date of collection for this registry entry

[![tracevero: number of measured values and date of collection for this registry entry](https://tracevero.com/badge/mcp/io-github-role1776-mcp-x.svg)](https://tracevero.com/mcp/io-github-role1776-mcp-x)

The image is drawn again on every request, so it always reports the current state while the pasted line stays as it is. It carries no rating and no traffic light – only the two measured figures.

Changes

Changes
2026-09-10Declared version: – → 0.1.1
2026-09-10Repository URL listed: – → yes
2026-09-10Path argument present: – → yes

These are the 3 most recent changes to this entry. Full history

tracevero · https://tracevero.com/mcp/io-github-role1776-mcp-x