x-mcp-playwright
x-mcp-playwright
Twitter/X MCP 서버로, patchright(스텔스 Playwright 포크)와 영구 Chrome 사용자 프로필을 기반으로 합니다.
9개의 그룹화된 도구 — 33개 액션 보존, 기능 손실 없음.
1. 설치
git clone <this-repo> x-mcp-playwright
cd x-mcp-playwright
python -m venv .venv
# Windows:
.venv\Scripts\activate
# macOS/Linux:
source .venv/bin/activate
pip install -e .
patchright install chromium일회성 로그인
x-mcp-login
# or: python login.py실제 브라우저 창이 열립니다. X에 정상적으로 로그인한 후 창을 닫으세요. 세션은 ~/.x-mcp-playwright/profile/에 저장됩니다.
Related MCP server: X MCP Server
2. MCP 클라이언트에 등록
Claude Code
claude mcp add --scope user x-twitter x-mcp-serverClaude Desktop
{
"mcpServers": {
"x-twitter": {
"command": "x-mcp-server",
"env": { "X_MCP_HEADLESS": "1" }
}
}
}x-mcp-server가 PATH에 없으면 다음을 사용하세요:
{
"mcpServers": {
"x-twitter": {
"command": "/absolute/path/to/.venv/bin/python",
"args": ["-m", "x_mcp_server"]
}
}
}Docker(헤드리스 VPS)
docker build -t x-mcp-playwright .
docker run -i --rm \
-v ~/.x-mcp-playwright/profile:/root/.x-mcp-playwright/profile \
x-mcp-playwright3. 도구 카탈로그(9개 도구, 33개 액션)
x_post — 트윗 게시(6개 액션)
action | 필수 인자 | 설명 |
|
| 단일 트윗 게시 |
|
| 연결된 스레드 게시 |
|
| 최대 4개 이미지 또는 1개 동영상 |
|
| 트윗에 답글 |
|
| 댓글과 함께 인용 트윗 |
|
| 내 트윗 삭제 |
x_engage — 트윗 상호작용(4개 액션)
action | 필수 인자 |
|
|
|
|
|
|
|
|
|
|
|
|
|
x_user — 사용자 작업(6개 액션)
action | 필수 인자 | 선택 |
|
| — |
|
|
|
|
|
|
|
|
|
|
| — |
|
| — |
x_search — 트윗 검색(기본 + 고급)
인자 | 기본값 | 설명 |
| — | 검색할 키워드 |
|
|
|
| — | 작성자로 필터링 |
| — | 답글 대상으로 필터링 |
| — | 날짜 범위(YYYY-MM-DD) |
| 0 | 최소 좋아요 수 |
| 0 | 최소 리트윗 수 |
| — | 언어 코드 |
| 10 | 최대 결과 수 |
x_feed — 피드 탐색(4개 액션)
action | 설명 |
| 내 홈 타임라인. 선택: |
| 내 저장된 북마크 |
| 멘션, 좋아요, 팔로우 |
| 무슨 일이 일어나고 있는지 |
x_tweet — 트윗 상세(4개 액션)
action | 필수 인자 | 설명 |
|
| 지표가 포함된 전체 트윗 |
|
| 트윗 아래의 답글들 |
|
| 노출/참여(내 트윗) |
|
| 좋아요/리트윗한 사용자( |
x_list — 리스트
시나리오 | 인자 |
내 리스트 | 인자 없음 |
사용자의 리스트 |
|
리스트 트윗 |
|
x_dm — 다이렉트 메시지(3개 액션)
action | 필수 인자 | 설명 |
|
| DM 보내기 |
| — | 최근 DM 스레드 목록 |
|
| 사용자와의 메시지 읽기 |
x_session — 세션 관리(2개 액션)
action | 설명 |
|
|
| 모든 X 페이지 캡처. 선택: |
4. 환경 변수
변수 | 기본값 | 설명 |
|
|
|
|
| 기본 Playwright 타임아웃(ms) |
|
| 디버그 스크린샷 |
|
|
|
5. 안전
속도 제한: 쓰기 작업(게시, 삭제, DM, 답글)은 분당 1회로 제한됩니다. 참여 작업(좋아요, 리트윗, 팔로우)은 분당 2회로 제한됩니다. 읽기 작업은 무제한입니다.
세션 유지: 백그라운드 작업이 30분마다 X에 ping을 보냅니다. 세션이 만료되면 경고를 기록합니다.
실제 계정에 고정됩니다. LLM이 수행하는 모든 작업은 사용자가 한 것입니다.
6. MCP 리소스
x://session/status— 로그인 상태x://version— 서버 버전x://tools/list— 모든 도구x://tools/categories— 그룹화된 분류
7. MCP 프롬프트
analyze_tweet(tweet_url)— 트윗 가져오기 및 분석(감정, 참여도, 응답 톤)draft_reply(tweet_url, intent)— 280자 이내의 답변 변형 3개 작성
7. 개발
make install # deps + chromium
make login # interactive X login
make test # unit tests (no browser)
make smoke # live search test
make server # run MCP server
make lint # compile-check
make clean # remove pycache, screenshots8. 안전
실제 계정에 고정됩니다. LLM이 수행하는 모든 작업은 사용자가 한 것입니다.
제한: 분당 게시/답글 작업 1-2회 이하.
VPS에서는 파괴적 도구(
delete,block,send_dm) 사용 시 사람의 승인을 요구하세요.
라이선스
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted X (Twitter) MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Twitter/X read-only MCP server — 12 tools: search, users, tweets, followers, timelines, trends.
Official twitterapi.io hosted MCP: Twitter/X tweets, users, followers, trends. OAuth or API key.
- UniPostOAuthai.unipost
Hosted MCP server for AI agents to post to LinkedIn profiles and X and upload to YouTube.
Related MCP Servers
FlicenseNot gradedqualityFmaintenanceA local MCP server that exposes the X API (formerly Twitter API) as tools, enabling operations like posting, searching, user management, and more via natural language commands.865-- AlicenseBqualityDmaintenanceMCP server for interacting with the X platform (Twitter) via MCP clients like Claude, Cursor AI, and Windsurf AI.206 npm6MIT
- AlicenseNot gradedqualityDmaintenanceProvides programmatic X (Twitter) engagement via MCP, offering 24 tools for search, timelines, notifications, bookmarks, profiles, and tweet actions through a headless browser.MIT
- AlicenseAqualityAmaintenanceMCP server for the Twitter/X API, enabling search, user profiles, tweets, followers, and more via natural language.94286 npm4MIT