트위터 MCP 서버
Twitter API 통합을 위한 모델 컨텍스트 프로토콜 서버 구현.
설정
저장소를 복제합니다
종속성 설치:
npm install.env.example``.env로 복사하고 Twitter API 자격 증명을 입력하세요.프로젝트 빌드:
npm run build서버를 시작합니다:
npm start
Related MCP server: MCP-Twikit
환경 변수
.env 에 필요한 Twitter API 자격 증명:
지엑스피1
사용 가능한 도구
트윗 작업
postTweet: 새로운 트윗을 게시합니다{ "text": "Your tweet text here" }postTweetWithMedia: 미디어를 첨부하여 트윗 게시{ "text": "Your tweet text", "mediaPath": "path/to/media/file", "mediaType": "image/jpeg|image/png|image/gif|video/mp4", "altText": "Optional alt text for accessibility" }getTweetById: ID로 특정 트윗 가져오기{ "tweetId": "tweet_id", "tweetFields": ["created_at", "public_metrics"] }replyToTweet: 기존 트윗에 답글 달기{ "tweetId": "tweet_id", "text": "Your reply text" }deleteTweet: 트윗 삭제{ "tweetId": "tweet_id" }
검색 및 분석
searchTweets: 트윗 검색{ "query": "search query", "maxResults": 10, "tweetFields": ["created_at", "public_metrics"] }getHashtagAnalytics: 해시태그에 대한 분석 가져오기{ "hashtag": "hashtag", "startTime": "ISO-8601 date", "endTime": "ISO-8601 date" }
사용자 작업
getUserInfo: 사용자 정보 가져오기{ "username": "twitter_username", "fields": ["description", "public_metrics"] }getUserTimeline: 사용자의 트윗을 가져옵니다{ "username": "twitter_username", "maxResults": 10, "tweetFields": ["created_at", "public_metrics"] }getFollowers: 사용자의 팔로워를 가져옵니다{ "username": "twitter_username", "maxResults": 100, "userFields": ["description", "public_metrics"] }getFollowing: 사용자가 팔로우하는 계정을 가져옵니다.{ "username": "twitter_username", "maxResults": 100, "userFields": ["description", "public_metrics"] }
약혼
likeTweet: 트윗에 좋아요를 누르세요{ "tweetId": "tweet_id" }unlikeTweet: 트윗을 싫어함{ "tweetId": "tweet_id" }retweet: 트윗을 리트윗하다{ "tweetId": "tweet_id" }undoRetweet: 리트윗 취소{ "tweetId": "tweet_id" }getRetweets: 트윗을 리트윗한 사용자를 가져옵니다.{ "tweetId": "tweet_id", "maxResults": 100, "userFields": ["description", "public_metrics"] }getLikedTweets: 사용자가 좋아요를 누른 트윗을 가져옵니다.{ "userId": "user_id", "maxResults": 100, "tweetFields": ["created_at", "public_metrics"] }
목록 관리
createList: 새로운 목록을 만듭니다{ "name": "List name", "description": "List description", "isPrivate": false }addUserToList: 목록에 사용자 추가{ "listId": "list_id", "username": "twitter_username" }removeUserFromList: 목록에서 사용자를 제거합니다.{ "listId": "list_id", "username": "twitter_username" }getListMembers: 목록의 멤버를 가져옵니다{ "listId": "list_id", "maxResults": 100, "userFields": ["description", "public_metrics"] }
오류 처리
모든 도구는 표준화된 오류 응답을 반환합니다.
매개변수가 없습니다.
Missing required parameter: parameter_nameAPI 오류: Twitter API의 오류 메시지
찾을 수 없음 오류: 리소스에 대한 적절한 "찾을 수 없음" 메시지
응답 형식
모든 성공적인 응답은 다음 형식을 따릅니다.
개발
빌드:
npm run build시작:
npm start시청 모드:
npm run dev
상태: 완벽하게 작동 응답: 트윗 ID 반환 최신 테스트: 성공
상태: 완벽하게 작동 응답: 전체 트윗 데이터 반환 최신 테스트: 성공
상태: 완벽하게 작동 응답: 작업 확인 최신 테스트: 성공
상태: 완벽하게 작동 응답: 작업 확인 최신 테스트: 성공
상태: 완벽하게 작동 응답: 답장 트윗 ID 반환 최신 테스트: 성공
상태: 완벽하게 작동 중 응답: 사용자 프로필 데이터 완료 최신 테스트: 성공
상태: 완벽하게 작동 응답: 작업 확인 최신 테스트: 성공
상태: 완벽하게 작동 응답: 목록 생성 확인 최신 테스트: 성공
상태: 완벽하게 작동 응답: 소유 목록과 멤버 목록 모두 반환 최신 테스트: 성공
상태: 오류 400 오류: 잘못된 요청 매개변수 수정 필요: 매개변수 유효성 검사
상태: 오류 400 오류: 잘못된 요청 매개변수 수정 필요: 쿼리 매개변수 형식 지정
상태: 오류 400 오류: 잘못된 요청 매개변수 수정 필요: 매개변수 유효성 검사
오류 처리: