surfagent-x
X adapter for SurfAgent that gives AI agents X-native verbs for navigation, extraction, posting, replies, likes, reposts, proof-first task execution, recovery, and deeper research workflows.
README
surfagent-x
X adapter for SurfAgent.
This adapter gives AI agents X-native verbs for navigation, extraction, posting, replies, likes, reposts, proof-first task execution, recovery, and deeper research workflows.
What this adapter is for
Use surfagent-x when you need reliable X workflows like:
- opening key X surfaces
- checking route-specific state
- extracting timelines, profiles, communities, posts, and threads
- creating posts and replies
- liking posts
- running X-specific recovery flows
- doing broader topic or community research with receipts
Why this exists
X is not a generic website.
It has:
- route-specific UI states
- React-sensitive composer behavior
- flaky button-state signals
- community-specific flows
- delayed state settlement after actions
So this adapter wraps X-specific navigation, action, verification, and recovery into dedicated tools.
It also now bakes in some hard-won X lessons:
- account switching uses a trust hierarchy instead of one weak extraction pass
- flaky switcher or composer states can trigger visual snapshot escalation
- composer flows auto-recover with real typing when text appears present but X still keeps submit disabled
- built-in state maps help agents reason about switcher, composer, and community surfaces faster
Core tool groups
Health and setup
x_health_checkx_open
Navigation and state
x_get_statex_get_state_mapx_open_homex_open_profilex_open_notificationsx_open_searchx_open_post
Timeline and search
x_get_timelinex_search_postsx_open_communityx_search_communitiesx_search_profilesx_get_community_feedx_extract_communityx_extract_postx_extract_profilex_get_profile_postsx_get_post_thread
Actions
x_get_composer_statex_create_postx_reply_to_postx_like_postx_repost_postx_follow_profilex_engage_post_taskx_quote_post_taskx_verify_text_visiblex_recover
Autonomous research
x_research_topicx_map_community
Receipts and saved runs
Autonomous research tools can optionally save bundles to disk.
Default output path:
~/.surfagent/receipts/x-research
Saved runs can include:
bundle.jsonsummary.jsonreceipts.json- per-dataset JSON files
SUMMARY.md
How to use it
Run this adapter alongside the base SurfAgent MCP.
{
"mcpServers": {
"surfagent": {
"command": "npx",
"args": ["-y", "surfagent-mcp"]
},
"surfagent-x": {
"command": "npx",
"args": ["-y", "surfagent-x"]
}
}
}
CLI task runner
For repeatable X actions, prefer the built-in deterministic task runner over a live improvised browser loop.
surfagent-x task engage-post --account reggiesurfagent --url https://x.com/surfagentapp/status/123 --repost
surfagent-x task quote-post --account solvingdilemma --url https://x.com/surfagentapp/status/123 --text "Real browser-native agents need proof, not vibes."
Each task run writes a journal plus screenshots under:
${SURFAGENT_RUN_DIR:-$TMPDIR/surfagent-x-runs}
If you are new to SurfAgent, start here first:
- https://github.com/surfagentapp/surfagent-docs/blob/main/docs/start-here.md
- https://github.com/surfagentapp/surfagent-docs/blob/main/docs/mcp-server.md
- https://github.com/surfagentapp/surfagent-docs/blob/main/docs/skills-and-adapters.md
When to use this vs skills vs raw MCP
- use
surfagent-mcpfor raw browser control - use
surfagent-skillsfor workflow rules and operating discipline - use
surfagent-xwhen you want reliable X-native verbs instead of rediscovering X every run
Environment variables
SURFAGENT_DAEMON_URLdefault:http://127.0.0.1:7201SURFAGENT_AUTH_TOKENoptional override, otherwise auto-detectedSURFAGENT_RUN_DIRoptional override for task-runner journals and screenshots
Status
Early, but already one of the more capable SurfAgent adapters.
Related repos
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.