# How to integrate X MCP with Hermes

```json
{
  "title": "How to integrate X MCP with Hermes",
  "toolkit": "X MCP",
  "toolkit_slug": "x_mcp",
  "framework": "Hermes",
  "framework_slug": "hermes-agent",
  "url": "https://composio.dev/toolkits/x_mcp/framework/hermes-agent",
  "markdown_url": "https://composio.dev/toolkits/x_mcp/framework/hermes-agent.md",
  "updated_at": "2026-10-30T05:33:32.507Z"
}
```

## Introduction

Hermes is a 24/7 autonomous agent that lives on your computer or server — it remembers what it learns and evolves as your usage grows.
This guide explains the easiest and most robust way to connect your X account to Hermes. You can do this through either Composio Connect CLI or Composio Connect MCP. For personal use we recommend the CLI, but you won't go wrong with MCP either.

## Also integrate X MCP with

- [ChatGPT](https://composio.dev/toolkits/x_mcp/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/x_mcp/framework/claude-cowork)
- [Atomic Agent](https://composio.dev/toolkits/x_mcp/framework/atomic-agent)

## TL;DR

### What is Composio Connect?
Composio Connect is a consumer offering that lets anyone plug 1,500+ applications directly into their agent harness — including Hermes. It can:
- Search and load tools from relevant toolkits on-demand, reducing context usage.
- Chain multiple tools to accomplish complex workflows via a remote workbench, without excessive back-and-forth with the LLM.
- Manage app authentication end-to-end with zero manual overhead.

## Connect X MCP to Hermes

### Integrating X with Hermes
### Using Composio Connect CLI
1. Install the Composio CLI
Run the install script directly, or paste https://composio.dev/hermes into your Hermes chat box to have it installed for you.

```bash
curl -fsSL https://composio.dev/install | bash
```

## What is the X MCP server, and what's possible with it?

The X MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your X account. It provides structured and secure access to posts, news, communities, lists, bookmarks, chats, broadcasts, and Article drafts, so your agent can retrieve content, organize lists and bookmarks, manage conversations, and create Article drafts on your behalf.
- Post and news retrieval: Have your agent fetch posts by ID, retrieve groups of posts, review reposts and quoted posts, see who liked a post, check recent post counts, and get news stories.
- List and community management: Let the agent create lists, follow lists, add members, review members and followers, read list posts, and retrieve community details.
- Bookmark organization: Direct your agent to create bookmark folders, save posts to bookmarks, and remove saved posts when they are no longer useful.
- Chat and moderation tasks: Instruct your agent to review conversations and message requests, inspect conversation events, accept requests, archive conversations, and manage chat moderators.
- Broadcasts and Article drafts: Have your agent retrieve broadcast details and chat history, schedule or cancel broadcasts, manage broadcast sources, and create draft Articles.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `X_MCP_ACCEPT_CHAT_MESSAGE_REQUEST` | Accept chat message request | Accept a Chat message request |
| `X_MCP_ADD_CHAT_MODERATOR` | Add chat moderator | Add a chat moderator |
| `X_MCP_ADD_CONVERSATION_KEYS` | Add conversation keys | Add Conversation Keys |
| `X_MCP_ADD_LISTS_MEMBER` | Add lists member | Add Lists Member |
| `X_MCP_ARCHIVE_CHAT_CONVERSATION` | Archive chat conversation | Archive a Chat conversation |
| `X_MCP_ARTICLE_CREATE_DRAFT` | Article create draft | Create draft Article |
| `X_MCP_CANCEL_SCHEDULED_CALL` | Cancel scheduled call | Cancel a scheduled call |
| `X_MCP_CHAT_MEDIA_DOWNLOAD` | Chat media download | Download Chat Media. Returns JSON with the response bytes base64-encoded in `data`, plus `content_type` and `size_bytes`. Needs the OAuth2 scope `media.write`. |
| `X_MCP_CHAT_MEDIA_UPLOAD_APPEND` | Chat media upload append | Append Chat Media Upload. Needs the OAuth2 scope `media.write`. |
| `X_MCP_CHAT_MEDIA_UPLOAD_FINALIZE` | Chat media upload finalize | Finalize Chat Media Upload. Needs the OAuth2 scope `media.write`. |
| `X_MCP_CHAT_MEDIA_UPLOAD_INITIALIZE` | Chat media upload initialize | Initialize Chat Media Upload. Needs the OAuth2 scope `media.write`. |
| `X_MCP_CREATE_LISTS` | Create lists | Create Lists |
| `X_MCP_CREATE_SCHEDULED_BROADCAST` | Create scheduled broadcast | Create a scheduled broadcast |
| `X_MCP_CREATE_SOURCE` | Create source | Create a stream source |
| `X_MCP_CREATE_USERS_BOOKMARK` | Create users bookmark | Create Bookmark |
| `X_MCP_CREATE_USERS_BOOKMARK_FOLDER` | Create users bookmark folder | Create Bookmark Folder |
| `X_MCP_DELETE_SCHEDULED_BROADCAST` | Delete scheduled broadcast | Delete a scheduled broadcast |
| `X_MCP_DELETE_SOURCE` | Delete source | Delete a stream source |
| `X_MCP_DELETE_USERS_BOOKMARK` | Delete users bookmark | Delete Bookmark |
| `X_MCP_FOLLOW_LIST` | Follow list | Follow List |
| `X_MCP_GET_BROADCAST` | Get broadcast | Get a broadcast |
| `X_MCP_GET_BROADCAST_CHAT` | Get broadcast chat | Get broadcast chat history |
| `X_MCP_GET_CHAT_CONVERSATION` | Get chat conversation | Get Chat Conversation; unread state via chat_conversation.fields=unread,last_read_event_id,newest_event_id |
| `X_MCP_GET_CHAT_CONVERSATION_EVENTS` | Get chat conversation events | Get Chat Conversation Events, newest first; unread ones have an id above last_read_event_id |
| `X_MCP_GET_CHAT_CONVERSATIONS` | Get chat conversations | Get Chat Conversations; unread state via chat_conversation.fields=unread,last_read_event_id,newest_event_id |
| `X_MCP_GET_CHAT_MESSAGE_REQUEST` | Get chat message request | Get Chat Message Request |
| `X_MCP_GET_CHAT_MESSAGE_REQUESTS` | Get chat message requests | Get Chat Message Requests |
| `X_MCP_GET_CHAT_MODERATORS` | Get chat moderators | Get chat moderators |
| `X_MCP_GET_COMMUNITIES_BY_ID` | Get communities by | Get Communities by ID |
| `X_MCP_GET_LISTS_BY_ID` | Get lists by | Get Lists by ID |
| `X_MCP_GET_LISTS_FOLLOWERS` | Get lists followers | Get Lists Followers |
| `X_MCP_GET_LISTS_MEMBERS` | Get lists members | Get Lists Members |
| `X_MCP_GET_LISTS_POSTS` | Get lists posts | Get Lists Posts |
| `X_MCP_GET_NEWS` | Get news | Get news stories by ID Each returned story includes a `url` deeplinking to its x.com page. |
| `X_MCP_GET_POSTS_BY_ID` | Get posts by | Get Posts by ID Each returned post includes a `url` deeplinking to it on x.com. |
| `X_MCP_GET_POSTS_BY_IDS` | Get posts by ids | Get Posts by IDs Each returned post includes a `url` deeplinking to it on x.com. |
| `X_MCP_GET_POSTS_COUNTS_RECENT` | Get posts counts recent | Get Posts Counts Recent |
| `X_MCP_GET_POSTS_LIKING_USERS` | Get posts liking users | Get Posts Liking Users |
| `X_MCP_GET_POSTS_QUOTED_POSTS` | Get posts quoted posts | Get Posts Quoted Posts Each returned post includes a `url` deeplinking to it on x.com. |
| `X_MCP_GET_POSTS_REPOSTED_BY` | Get posts reposted by | Get Posts Reposted by |
| `X_MCP_GET_SCHEDULED_BROADCAST` | Get scheduled broadcast | Get a scheduled broadcast |
| `X_MCP_GET_SCHEDULED_CALL` | Get scheduled call | Get a scheduled call |
| `X_MCP_GET_SOURCE` | Get source | Get a stream source |
| `X_MCP_GET_SPACES_BY_CREATOR_IDS` | Get spaces by creator ids | Get Spaces by Creator IDs |
| `X_MCP_GET_SPACES_BY_ID` | Get spaces by | Get Spaces by ID |
| `X_MCP_GET_SPACES_BY_IDS` | Get spaces by ids | Get Spaces by IDs |
| `X_MCP_GET_SPACES_POSTS` | Get spaces posts | Get Space Posts |
| `X_MCP_GET_TRENDS_BY_WOEID` | Get trends by woeid | Get Trends by Woeid Each returned trend includes a `url` deeplinking to its x.com search. |
| `X_MCP_GET_USAGE_CREDITS` | Get usage credits | Get usage credits |
| `X_MCP_GET_USERS_BOOKMARK_FOLDERS` | Get users bookmark folders | Get Users Bookmark Folders |
| `X_MCP_GET_USERS_BOOKMARKS` | Get users bookmarks | Get Users Bookmarks Each returned post includes a `url` deeplinking to it on x.com. |
| `X_MCP_GET_USERS_BOOKMARKS_BY_FOLDER_ID` | Get users bookmarks by folder | Get Users Bookmarks by Folder ID Each returned post includes a `url` deeplinking to it on x.com. |
| `X_MCP_GET_USERS_BY_ID` | Get users by | Get Users by ID |
| `X_MCP_GET_USERS_BY_USERNAME` | Get users by username | Get Users by Username |
| `X_MCP_GET_USERS_BY_USERNAMES` | Get users by usernames | Get Users by Usernames |
| `X_MCP_GET_USERS_FOLLOWED_LISTS` | Get users followed lists | Get Users Followed Lists |
| `X_MCP_GET_USERS_LIKED_POSTS` | Get users liked posts | Get Users Liked Posts Each returned post includes a `url` deeplinking to it on x.com. |
| `X_MCP_GET_USERS_LIST_MEMBERSHIPS` | Get users list memberships | Get Users List Memberships |
| `X_MCP_GET_USERS_ME` | Get users me | Get Users Me |
| `X_MCP_GET_USERS_ME_FOLLOWERS` | Get users me followers | Get the authenticated user's followers |
| `X_MCP_GET_USERS_ME_FOLLOWING` | Get users me following | Get the users the authenticated user follows |
| `X_MCP_GET_USERS_MENTIONS` | Get users mentions | Get Users Mentions Each returned post includes a `url` deeplinking to it on x.com. |
| `X_MCP_GET_USERS_OWNED_LISTS` | Get users owned lists | Get Users Owned Lists |
| `X_MCP_GET_USERS_PINNED_LISTS` | Get users pinned lists | Get Users Pinned Lists |
| `X_MCP_GET_USERS_POSTS` | Get users posts | Get Users Posts Each returned post includes a `url` deeplinking to it on x.com. |
| `X_MCP_GET_USERS_PUBLIC_KEY` | Get users public key | Get public keys |
| `X_MCP_GET_USERS_PUBLIC_KEYS` | Get users public keys | Get public keys |
| `X_MCP_GET_USERS_TIMELINE` | Get users timeline | Get Users Timeline Each returned post includes a `url` deeplinking to it on x.com. |
| `X_MCP_GO_LIVE_SCHEDULED_BROADCAST` | Go live scheduled broadcast | Go live on a scheduled broadcast |
| `X_MCP_LIST_BROADCASTS` | List broadcasts | List broadcasts |
| `X_MCP_LIST_SCHEDULED_BROADCASTS` | List scheduled broadcasts | List scheduled broadcasts |
| `X_MCP_LIST_SCHEDULED_CALLS` | List scheduled calls | List scheduled calls |
| `X_MCP_LIST_SOURCES` | List sources | List stream sources |
| `X_MCP_MARK_CHAT_CONVERSATION_READ` | Mark chat conversation read | Mark Conversation as Read |
| `X_MCP_MARK_CHAT_CONVERSATION_UNREAD` | Mark chat conversation unread | Mark Conversation as Unread |
| `X_MCP_MUTE_BROADCAST_CHAT_USER` | Mute broadcast chat user | Mute or time out a user in a broadcast chat |
| `X_MCP_PIN_LIST` | Pin list | Pin List |
| `X_MCP_REMOVE_CHAT_MODERATOR` | Remove chat moderator | Remove a chat moderator |
| `X_MCP_REMOVE_LISTS_MEMBER_BY_USER_ID` | Remove lists member by user | Remove a List member |
| `X_MCP_RESPOND_TO_SCHEDULED_CALL` | Respond to scheduled call | Respond to a scheduled call |
| `X_MCP_SCHEDULE_CALL` | Schedule call | Schedule a call |
| `X_MCP_SEARCH_COMMUNITIES` | Search communities | Search Communities |
| `X_MCP_SEARCH_NEWS` | Search news | Search News Each returned story includes a `url` deeplinking to its x.com page. |
| `X_MCP_SEARCH_POSTS_ALL` | Search posts all | Search Posts All Each returned post includes a `url` deeplinking to it on x.com. |
| `X_MCP_SEARCH_SPACES` | Search spaces | Search Spaces |
| `X_MCP_SEARCH_USERS` | Search users | Search Users |
| `X_MCP_SEND_CHAT_MESSAGE` | Send chat message | Send Chat Message |
| `X_MCP_SEND_CHAT_TYPING_INDICATOR` | Send chat typing indicator | Send Typing Indicator |
| `X_MCP_UNARCHIVE_CHAT_CONVERSATION` | Unarchive chat conversation | Unarchive a Chat conversation |
| `X_MCP_UNFOLLOW_LIST` | Unfollow list | Unfollow a List |
| `X_MCP_UNMUTE_BROADCAST_CHAT_USER` | Unmute broadcast chat user | Unmute a user in a broadcast chat |
| `X_MCP_UNPIN_LIST` | Unpin list | Unpin a List |
| `X_MCP_UPDATE_LISTS` | Update lists | Update List |
| `X_MCP_UPDATE_SCHEDULED_BROADCAST` | Update scheduled broadcast | Update a scheduled broadcast |
| `X_MCP_UPDATE_SCHEDULED_CALL` | Update scheduled call | Update a scheduled call |
| `X_MCP_UPDATE_SOURCE` | Update source | Rename a stream source |

## Supported Triggers

None listed.

## Creating MCP Server - Stand-alone vs Composio SDK

The X MCP server provides comprehensive access to X operations through Composio. Once connected, Hermes can perform all major X actions on your behalf using natural language commands.

## Complete Code

None listed.

## Conclusion

### Way Forward
With X connected, Hermes can now act on your behalf whenever it detects a relevant task or you ask it to.
From here, you can extend Hermes further:
- Connect more apps: Calendar, Slack, Notion, Linear, and hundreds of others are available through the same Composio Connect setup. Each new integration compounds what Hermes can do for you.
- Build workflows across tools: Once multiple apps are connected, Hermes can chain actions together — turn an email into a calendar invite, a Slack message into a Linear ticket, or a meeting note into a follow-up draft.
- Let it learn your patterns: The more you use Hermes, the better it gets at anticipating how you'd handle recurring tasks. Give it feedback on drafts and decisions, and it will adapt.
If you run into trouble or want to share what you've built, join the [community](https://discord.com/invite/composio) or check out the [Docs](https://docs.composio.dev?utm_source=toolkits&utm_medium=framework_template&utm_campaign=hermes&utm_content=docs) for deeper configuration options.

## How to build X MCP Agent with another framework

- [ChatGPT](https://composio.dev/toolkits/x_mcp/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/x_mcp/framework/claude-cowork)
- [Atomic Agent](https://composio.dev/toolkits/x_mcp/framework/atomic-agent)

## Related Toolkits

- [Twitter](https://composio.dev/toolkits/twitter) - Twitter is a social media platform for sharing real-time updates, conversations, and news. Stay connected, informed, and engaged with communities worldwide.
- [Instagram](https://composio.dev/toolkits/instagram) - Instagram is a social platform for sharing photos, videos, and stories with your audience. It helps brands and creators engage, grow, and analyze their online presence.
- [Ayrshare](https://composio.dev/toolkits/ayrshare) - Ayrshare is a Social Media API for managing, automating, and analyzing posts across multiple platforms. It helps you streamline social media workflows and centralize analytics.
- [DEV Community](https://composio.dev/toolkits/devto) - DEV Community (dev.to) is a social publishing platform for software developers. Use it to share technical articles, grow a developer audience, and join community discussions.
- [Dotsimple](https://composio.dev/toolkits/dotsimple) - Dotsimple is a social media management platform for planning, creating, and publishing content. It helps teams boost their reach with AI-powered content generation and actionable analytics.
- [Just One API](https://composio.dev/toolkits/just_one_api) - Just One API is a unified platform providing public social, creator, entertainment, and ecommerce data. Use it to query standardized, metered datasets across hundreds of endpoints for research and product insights.
- [Pinterest](https://composio.dev/toolkits/pinterest) - Pinterest is a visual discovery platform for recipes, home ideas, style inspiration, travel plans, and more. It helps people save, organize, and revisit ideas through Pins and Boards.
- [Strava](https://composio.dev/toolkits/strava) - Strava is a social fitness network and app for cyclists and runners. It's perfect for tracking workouts, sharing progress, and joining active communities.
- [Threads](https://composio.dev/toolkits/threads) - Threads is Meta's social network for publishing posts, managing replies, discovering content, and tracking performance. It helps creators and brands engage audiences and measure what resonates.
- [TikHub](https://composio.dev/toolkits/tik_hub) - TikHub is a social metadata API that exposes supported TikTok and social metadata routes. It provides consistent, API-key-based access to public metadata without cookies or device signatures.
- [Tiktok](https://composio.dev/toolkits/tiktok) - Tiktok is a short-form video platform for creating, sharing, and discovering viral content. It helps creators and brands reach massive audiences with creative tools and global social features.
- [Twitch](https://composio.dev/toolkits/twitch) - Twitch is a live streaming platform for gamers, creators, and communities. It enables real-time interaction, monetization, and community building.
- [TwitterShots](https://composio.dev/toolkits/twittershots) - TwitterShots is an API service that renders public X posts as clean screenshots and retrieves tweet content. Use it to capture social posts, extract tweet text, and track API usage without building screenshot infrastructure.
- [Upload-Post](https://composio.dev/toolkits/upload_post) - Upload-Post is a social publishing API for posting, scheduling, and managing content across social networks. Use it to run multi-channel content workflows through one clean API instead of separate platform integrations.
- [Gmail](https://composio.dev/toolkits/gmail) - Gmail is Google's email service with powerful spam protection, search, and G Suite integration. It keeps your inbox organized and makes communication fast and reliable.
- [Google Calendar](https://composio.dev/toolkits/googlecalendar) - Google Calendar is a time management service for scheduling meetings, events, and reminders. It streamlines personal and team organization with integrated notifications and sharing options.
- [Google Drive](https://composio.dev/toolkits/googledrive) - Google Drive is a cloud storage platform for uploading, sharing, and collaborating on files. It's perfect for keeping your documents accessible and organized across devices.
- [Outlook](https://composio.dev/toolkits/outlook) - Outlook is Microsoft's email and calendaring platform for unified communications and scheduling. It helps users stay organized with powerful email, contacts, and calendar management.
- [Google Sheets](https://composio.dev/toolkits/googlesheets) - Google Sheets is a cloud-based spreadsheet tool for real-time collaboration and data analysis. It lets teams work together from anywhere, updating information instantly.
- [Supabase](https://composio.dev/toolkits/supabase) - Supabase is an open-source backend platform offering scalable Postgres databases, authentication, storage, and real-time APIs. It lets developers build modern apps without managing infrastructure.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and X MCP?

With a standalone X MCP server, the agents and LLMs can only access a fixed set of X tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from X and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with Hermes?

Yes, you can. Hermes fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right X tools.

### Can I manage the permissions and scopes for X while using Tool Router?

Yes, absolutely. You can configure which X scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your X data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
