X (Twitter)
Local package path declaredCredentials listedRepository declared by sourceUpdated 2026-09-09
io.github.Role1776/mcp-x · Registry status: active
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
- MCP servers with declared required secrets6,067
- Locally executed MCP servers17,056
- MCP servers with a repository URL30,107
- MCP servers with a path argument498
- Local MCP servers with a repository URL16,152
- Local MCP servers with declared required secrets3,818
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
| Required secrets declared | Credentials 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 location | Local 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 present | yes 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 listed | Repository declared by source yes Original data – Repository (raw): https://github.com/Role1776/mcp-x Source: MCP-Register · collected on 2026-09-10 · derived |
| Declared version | 0.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.
| 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.
[](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
| 2026-09-10 | Declared version: – → 0.1.1 |
|---|---|
| 2026-09-10 | Repository URL listed: – → yes |
| 2026-09-10 | Path 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