# How to integrate Pivot MCP with Hermes

```json
{
  "title": "How to integrate Pivot MCP with Hermes",
  "toolkit": "Pivot",
  "toolkit_slug": "pivot",
  "framework": "Hermes",
  "framework_slug": "hermes-agent",
  "url": "https://composio.dev/toolkits/pivot/framework/hermes-agent",
  "markdown_url": "https://composio.dev/toolkits/pivot/framework/hermes-agent.md",
  "updated_at": "2026-10-19T05:35:02.717Z"
}
```

## 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 Pivot 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 Pivot with

- [ChatGPT](https://composio.dev/toolkits/pivot/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/pivot/framework/claude-cowork)
- [Atomic Agent](https://composio.dev/toolkits/pivot/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 Pivot to Hermes

### Integrating Pivot 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 Pivot MCP server, and what's possible with it?

The Pivot MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Pivot account. It provides structured and secure access to organizations, spaces, rooms, members, groups, messages, labels, and shared work, so your agent can create collaboration spaces, manage access, retrieve team information, and work with shared content on your behalf.
- Space and room management: Have your agent create, copy, retrieve, hide, or delete Pivot spaces, and create or look up rooms for chats, posts, calls, and streams.
- Team access and invitations: Let the agent invite people to spaces or rooms, add existing users to groups and rooms, manage space membership, and review organization users and group members.
- Shared work and responses: Direct your agent to create, list, update attachments for, and delete responses connected to shared Pivot blocks.
- Labels and organization: Instruct your agent to create, list, add, or delete labels so teams can organize their Pivot spaces.
- Collaboration details and cleanup: Have your agent retrieve room messages, recordings, spaces, blocks, and user context, or remove messages, spaces, users, and webhooks when needed.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `PIVOT_ADD_BLOCK_RESPONSE_ATTACHMENT` | Add Block Response Attachment | Attach an existing Pivot file to a block response. |
| `PIVOT_ADD_GROUP_MEMBERS` | Add Group Members | Add one or more existing Pivot users to a group. |
| `PIVOT_ADD_GROUP_TO_SPACE` | Add Group To Space | Grant an existing Pivot group access to a space with specified space roles. |
| `PIVOT_ADD_ROOM_MEMBERS` | Add Room Members | Add one or more existing Pivot users to a room with a shared role. The Pivot API exposes no undo path for this membership change. |
| `PIVOT_ADD_SPACE_LABELS` | Add Space Labels | Add one or more labels to a Pivot space without removing labels already assigned to it. |
| `PIVOT_ADD_SPACE_MEMBERS` | Add Space Members | Add one or more existing Pivot users to a space, optionally assigning space roles and member titles. |
| `PIVOT_COPY_SPACE` | Copy Space | Start an asynchronous copy of a Pivot space. A successful response only means the copy was accepted. Poll the space operation-status endpoint with the same source space_id and returned operation_id until status is succeeded or failed; on success, new_space_id identifies the copy. |
| `PIVOT_CREATE_BLOCK_RESPONSE` | Create Block Response | Create a Pivot block response from plain text, or use advanced rich content for formatting; optionally create it as a reply. |
| `PIVOT_CREATE_BLOCK_SHARING_RULE` | Create Block Sharing Rule | Create a sharing rule that grants a subject access to a Pivot block. |
| `PIVOT_CREATE_LABEL` | Create Label | Create a label in a Pivot organization. Pivot's label delete endpoint was observed returning an error without removing the label, so create only labels that may safely remain in the organization. |
| `PIVOT_CREATE_ROOM` | Create Room | Create a Pivot chat, direct, post, audio, video, or streaming room. Pivot does not document a room-delete endpoint, so this creation cannot be safely reversed; create only rooms that may remain in the workspace. |
| `PIVOT_CREATE_SPACE` | Create Space | Create a blank Pivot space or organization template synchronously, or create an independent space from a template. A template-based request returns the new space immediately and may include operation_id while content is copied asynchronously; poll the space operation-status endpoint until succeeded or failed. To duplicate an ordinary space, use Pivot's copy-space action instead. |
| `PIVOT_CREATE_SPACE_ROLE` | Create Space Role | Create a custom role in a Pivot space with an explicit set of permissions. Pivot does not document an endpoint for deleting space roles, so create only roles that may safely remain in the space. |
| `PIVOT_CREATE_SUBGOAL` | Create Subgoal | Create a goal directly under an existing Pivot goal. Requires edit access to the parent and uses request_id as an idempotency key scoped to the caller and parent. |
| `PIVOT_CREATE_WEBHOOK` | Create Webhook | Create a Pivot webhook for an organization and return its one-time signing secret. Store the secret securely because it is not returned by later reads. |
| `PIVOT_DELETE_BLOCK_RESPONSE` | Delete Block Response | Delete a response from a Pivot block by its response UUID. |
| `PIVOT_DELETE_BLOCK_RESPONSE_ATTACHMENT` | Delete Block Response Attachment | Delete a file attached to a block response by attachment UUID. |
| `PIVOT_DELETE_BLOCK_SHARING_RULE` | Delete Block Sharing Rule | Delete a sharing rule from a Pivot block by sharing-rule UUID. |
| `PIVOT_DELETE_LABEL` | Delete Label | Permanently delete a Pivot label by its label UUID. Pivot returned HTTP 500 without deleting the build account's test label, so treat a provider error as no deletion and verify the label is absent after success. |
| `PIVOT_DELETE_ROOM_MESSAGE` | Delete Room Message | Delete a sent Pivot room message. Provide sent_at for a non-thread message or thread_root_message_id for a message in a thread. |
| `PIVOT_DELETE_SPACE` | Delete Space | Permanently delete a Pivot space or template using its ordinary space lifecycle. |
| `PIVOT_DELETE_USER` | Delete User | Permanently delete a Pivot user account, not merely remove a space membership. Pivot allows this only when the user's email is verified by the specified organization and by no other organization. This cannot be undone and deletes the user across all organizations. |
| `PIVOT_DELETE_USER_OR_REMOVE_MEMBERSHIP` | Delete User or Remove Membership | Delete a Pivot user globally when the specified organization verified that user. Otherwise, remove the user's memberships only from the specified organization. This is destructive: the same call can permanently delete the user across Pivot, and user_deleted reports which outcome occurred. |
| `PIVOT_DELETE_WEBHOOK` | Delete Webhook | Permanently delete a Pivot webhook by its webhook UUID. |
| `PIVOT_GET_BLOCK` | Get Block | Return a block by ID, optionally including all visible descendant blocks. |
| `PIVOT_GET_ROOM` | Get Room | Return a Pivot room by its ID. |
| `PIVOT_GET_ROOM_MESSAGE` | Get Room Message | Retrieve one Pivot room message by its ID and send timestamp. Thread replies also require both thread locator IDs, and recording comments require the parent recording ID. |
| `PIVOT_GET_ROOM_RECORDING` | Get Room Recording | Return a specific Pivot room recording by ID, including transcript, chapter, summary, and caption assets. |
| `PIVOT_GET_SPACE` | Get Space | Return a Pivot space by ID with its settings, roles, member summaries, and labels. Response-only access tokens are removed. The direct endpoint's member_count can be 0 even when members exist; use list spaces or list space members when an authoritative count is required. |
| `PIVOT_GET_SPACE_OPERATION` | Get Space Operation | Get the status of an asynchronous Pivot space copy or template application. Poll until status is succeeded or failed. For Copy Space, pass the source space_id used in the copy request; for Create Space from a template, pass the new space.id returned by Create Space. |
| `PIVOT_GET_USER_CONTEXT` | Get User Context | Return a Pivot user's profile, space memberships, and groups within an organization. The response excludes the provider's presence token. |
| `PIVOT_HIDE_SPACE` | Hide Space | Hide an existing Pivot space from view. The Pivot API exposes no undo path for hiding a space. |
| `PIVOT_INVITE_TO_ROOM` | Invite To Room | Invite people to a Pivot room by email. A successful call creates room invitations and sends externally visible invitation emails to every address. |
| `PIVOT_INVITE_TO_SPACE` | Invite To Space | Invite people to a Pivot space by email. A successful call sends externally visible invitation emails to new users and adds existing Pivot users directly to the space with the specified roles and groups. |
| `PIVOT_LIST_BLOCK_RESPONSES` | List Block Responses | Return the responses attached to a Pivot block. |
| `PIVOT_LIST_BLOCK_SHARING_RULES` | List Block Sharing Rules | Return the sharing rules configured for a Pivot block. |
| `PIVOT_LIST_GROUP_MEMBERS` | List Group Members | Return the users in a specified Pivot group. |
| `PIVOT_LIST_GROUPS` | List Groups | Return one page of groups in a Pivot organization. |
| `PIVOT_LIST_LABELS` | List Labels | Return the labels configured in a Pivot organization. |
| `PIVOT_LIST_ORGANIZATION_USERS` | List Organization Users | Return one page of users in a Pivot organization. Pass next_cursor from the preceding response unchanged to continue listing users. |
| `PIVOT_LIST_ROOM_MESSAGES` | List Room Messages | Return one page of room messages, newest first. On the first call, provide the room ID and its created_at timestamp from Get Room. To continue through the current and older history windows, call again with only next_cursor; pagination stops automatically at the room's creation boundary. |
| `PIVOT_LIST_ROOM_RECORDINGS` | List Room Recordings | Return one page of recordings for a Pivot room, including transcripts and other recording assets. |
| `PIVOT_LIST_SPACE_ASSIGNMENT_BLOCKS` | List Space Assignment Blocks | Return all assignment blocks in a Pivot space. |
| `PIVOT_LIST_SPACE_DESCRIPTION_BLOCKS` | List Space Description Blocks | Return a space's description blocks and all of their descendants. |
| `PIVOT_LIST_SPACE_HOME_BLOCKS` | List Space Home Blocks | Return the blocks displayed on a Pivot space home. |
| `PIVOT_LIST_SPACE_MEMBERS` | List Space Members | Return one page of members in a Pivot space. By default, only active members are returned; use status to include other membership states. |
| `PIVOT_LIST_SPACE_ROLES` | List Space Roles | Return the roles available in a Pivot space. |
| `PIVOT_LIST_SPACE_ROOM_BLOCKS` | List Space Room Blocks | Return all room blocks and their parallel room metadata in a Pivot space. |
| `PIVOT_LIST_SPACES` | List Spaces | Return one page of spaces visible in a Pivot organization. Supports exact status, type, template, label, name-search, and sort filters. Templates are excluded and only active spaces are returned unless those filters are set. |
| `PIVOT_LIST_THREAD_MESSAGES` | List Thread Messages | Return one page of messages in a Pivot thread, oldest first. Continue with next_cursor until has_more is false. |
| `PIVOT_LIST_WEBHOOK_LOGS` | List Webhook Logs | Return one page of delivery logs for a Pivot webhook. Pivot retains webhook logs for 30 days. |
| `PIVOT_LIST_WEBHOOKS` | List Webhooks | Return webhooks for a Pivot organization, optionally filtering by a case-insensitive substring of the webhook name. |
| `PIVOT_REMOVE_GROUP_MEMBERS` | Remove Group Members | Remove one or more users from a Pivot group. |
| `PIVOT_REMOVE_SPACE_LABEL` | Remove Space Label | Remove one label from a Pivot space by space and label UUID. |
| `PIVOT_REMOVE_SPACE_MEMBER` | Remove Space Member | Remove a user from a Pivot space by space-member UUID. |
| `PIVOT_REQUEST_RECORDING_DOWNLOAD` | Request Recording Download | Ensure a downloadable MP4 rendition exists for a Pivot room recording. When ready is false, the rendition is still being prepared; retry shortly with the same room_id, recording_id, and created_at. The direct download URL is returned when ready is true. |
| `PIVOT_REVOKE_ORGANIZATION_INVITE` | Revoke Organization Invite | Revoke a Pivot organization invitation by its invitation ID and email address. |
| `PIVOT_REVOKE_ROOM_INVITE` | Revoke Room Invite | Revoke a Pivot room invitation by room ID and email address. |
| `PIVOT_REVOKE_SPACE_INVITE` | Revoke Space Invite | Revoke a Pivot space invitation by organization, space, and email address. |
| `PIVOT_ROTATE_WEBHOOK_SECRET` | Rotate Webhook Secret | Rotate the organization-wide webhook signing secret used for future Pivot webhooks. Existing webhooks retain the current secret. Store the returned one-time secret securely. |
| `PIVOT_SEND_ROOM_MESSAGE` | Send Room Message | Send plain text or an advanced rich-content document to a Pivot room, optionally with file attachments or as a thread, inline, or recording reply. Sending delivers the message to room participants and cannot be safely reversed. |
| `PIVOT_SUBMIT_BLOCK_RESPONSE` | Submit Block Response | Irreversibly submit a Pivot block response. This sends or marks an existing draft response as submitted and cannot be safely undone. |
| `PIVOT_UPDATE_BLOCK` | Update Block | Update exactly one property of a Pivot block: its hide time, unhide time, or space-member sharing level. |
| `PIVOT_UPDATE_BLOCK_RESPONSE` | Update Block Response | Replace a Pivot block response with plain text, or use advanced rich content for formatting. |
| `PIVOT_UPDATE_BLOCK_SHARING_RULE` | Update Block Sharing Rule | Set the access level for a user, group, space role, membership tier, or space identified by the subject of a sharing rule on a Pivot block. |
| `PIVOT_UPDATE_LABEL` | Update Label | Update the name, color, or both for a Pivot label. Pivot clears the existing color when a name update omits color, so resend the current color to preserve it. |
| `PIVOT_UPDATE_ROOM` | Update Room | Update one or more settings for a Pivot room, including its name, topic, type, and recording preferences. |
| `PIVOT_UPDATE_ROOM_MESSAGE` | Update Room Message | Replace a sent Pivot room message with plain text or an advanced rich-content document. sent_at identifies the original message; include thread_root_message_id and thread_parent_message_id for a threaded message, or parent_recording_id for a recording comment. |
| `PIVOT_UPDATE_SPACE` | Update Space | Update one or more settings or metadata fields for an existing Pivot space. Only provided fields are changed. |
| `PIVOT_UPDATE_SPACE_MEMBER` | Update Space Member | Update a Pivot space member's roles, title, status, or any combination of those fields. The member ID is the space-membership UUID, not a user UUID. |
| `PIVOT_UPDATE_WEBHOOK` | Update Webhook | Update one or more properties of a Pivot webhook. Supplying subscriptions replaces the webhook's complete existing subscription set. |

## Supported Triggers

None listed.

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

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

## Complete Code

None listed.

## Conclusion

### Way Forward
With Pivot 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 Pivot MCP Agent with another framework

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

## Related Toolkits

- [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.
- [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.
- [Notion](https://composio.dev/toolkits/notion) - Notion is a collaborative workspace for notes, docs, wikis, and tasks. It streamlines team knowledge, project tracking, and workflow customization in one place.
- [Slack](https://composio.dev/toolkits/slack) - Slack is a channel-based messaging platform for teams and organizations. It helps people collaborate in real time, share files, and connect all their tools in one place.
- [Airtable](https://composio.dev/toolkits/airtable) - Airtable combines the flexibility of spreadsheets with the power of a database for easy project and data management. Teams use Airtable to organize, track, and collaborate with custom views and automations.
- [Gong](https://composio.dev/toolkits/gong) - Gong is a platform for video meetings, call recording, and team collaboration. It helps teams capture conversations, analyze calls, and turn insights into action.
- [Asana](https://composio.dev/toolkits/asana) - Asana is a collaborative work management platform for teams to organize and track projects. It streamlines teamwork, boosts productivity, and keeps everyone aligned on goals.
- [Google Tasks](https://composio.dev/toolkits/googletasks) - Google Tasks is a to-do list and task management tool integrated into Gmail and Google Calendar. It helps you organize, track, and complete tasks across your Google ecosystem.
- [Linear](https://composio.dev/toolkits/linear) - Linear is a modern issue tracking and project planning tool for fast-moving teams. It helps streamline workflows, organize projects, and boost productivity.
- [Microsoft teams](https://composio.dev/toolkits/microsoft_teams) - Microsoft Teams is a collaboration platform that combines chat, meetings, and file sharing within Microsoft 365. It keeps distributed teams connected and productive through seamless virtual communication.
- [Jira](https://composio.dev/toolkits/jira) - Jira is Atlassian’s platform for bug tracking, issue tracking, and agile project management. It helps teams organize work, prioritize tasks, and deliver projects efficiently.
- [Clickup](https://composio.dev/toolkits/clickup) - ClickUp is an all-in-one productivity platform for managing tasks, docs, goals, and team collaboration. It streamlines project workflows so teams can work smarter and stay organized in one place.
- [Slackbot](https://composio.dev/toolkits/slackbot) - Slackbot is a conversational automation tool for Slack that handles reminders, notifications, and automated responses. It boosts team productivity by streamlining onboarding, answering FAQs, and managing timely alerts—all right inside Slack.
- [Monday](https://composio.dev/toolkits/monday) - Monday.com is a customizable work management platform for project planning and collaboration. It helps teams organize tasks, automate workflows, and track progress in real time.
- [2chat](https://composio.dev/toolkits/_2chat) - 2chat is an API platform for WhatsApp and multichannel text messaging. It streamlines chat automation, group management, and real-time messaging for developers.
- [Addressfinder](https://composio.dev/toolkits/addressfinder) - Addressfinder is a data quality platform for verifying addresses, emails, and phone numbers. It helps you ensure accurate customer and contact data every time.
- [Agent mail](https://composio.dev/toolkits/agent_mail) - Agent mail provides AI agents with dedicated email inboxes for sending, receiving, and managing emails. It empowers agents to communicate autonomously with people, services, and other agents—no human intervention needed.
- [Agiled](https://composio.dev/toolkits/agiled) - Agiled is an all-in-one business management platform for CRM, projects, and finance. It helps you streamline workflows, consolidate client data, and manage business processes in one place.
- [Aircall](https://composio.dev/toolkits/aircall) - Aircall is a cloud-based phone and call-center platform for business communications. It centralizes calls, contacts, teams, numbers, and tags in one place.

## Frequently Asked Questions

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

With a standalone Pivot MCP server, the agents and LLMs can only access a fixed set of Pivot tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Pivot 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 Pivot tools.

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

Yes, absolutely. You can configure which Pivot 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 Pivot data and credentials are handled as safely as possible.

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