# How to integrate Linq MCP with Hermes

```json
{
  "title": "How to integrate Linq MCP with Hermes",
  "toolkit": "Linq",
  "toolkit_slug": "linq",
  "framework": "Hermes",
  "framework_slug": "hermes-agent",
  "url": "https://composio.dev/toolkits/linq/framework/hermes-agent",
  "markdown_url": "https://composio.dev/toolkits/linq/framework/hermes-agent.md",
  "updated_at": "2026-10-10T05:32:25.054Z"
}
```

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

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

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

The Linq MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Linq account. It provides structured and secure access to messaging, chats, phone numbers, polls, payments, and webhook subscriptions, so your agent can send messages, manage conversations, check messaging and delivery details, handle payments, and configure event notifications on your behalf.
- iMessage, RCS, and SMS conversations: Have your agent check a recipient’s messaging capability, create chats, send initial messages, view conversations, edit recent messages, and delete messages.
- Chat and contact management: Let the agent list chats, inspect participants and shared locations, add people to group chats, leave group chats, and manage blocked phone numbers or email addresses.
- Polls and message threads: Direct your agent to create iMessage polls, add poll options, review responses, and retrieve threaded replies.
- Payments and payment requests: Instruct your agent to create, review, cancel, and reconcile payments or customer-facing payment requests, including checking payment handle connections and provider status.
- Phone lines and webhooks: Have your agent list sending numbers, find an available number, review contact-card details, and create, inspect, or remove webhook subscriptions for Linq events.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `LINQ_ADD_CHAT_PARTICIPANT` | Add Chat Participant | Add an external participant to an existing group chat. The participant-visible change is queued asynchronously. |
| `LINQ_ADD_POLL_OPTIONS` | Add Poll Options | Irreversibly add recipient-visible options to an existing iMessage poll. Poll options cannot be edited or removed after they are added. |
| `LINQ_BLOCK_HANDLE` | Block Handle | Block a handle account-wide from inbound and direct outbound messaging. Pair controlled test blocks with UNBLOCK_HANDLE cleanup. |
| `LINQ_CANCEL_PAYMENT` | Cancel Payment | Irreversibly cancel a financial payment and close its virtual card. Confirm the payment identifier and authorization before calling because the canceled payment cannot be resumed. |
| `LINQ_CANCEL_PAYMENT_REQUEST` | Cancel Payment Request | Irreversibly cancel an unpaid payment request and its underlying payment intent. The checkout can no longer be completed after cancellation; paid, canceled, or expired requests cannot be canceled. Confirm the request ID and intent first. |
| `LINQ_CHECK_MESSAGING_CAPABILITY` | Check Messaging Capability | Check whether a recipient can receive iMessage or RCS without sending a message. Linq permits only one capability check per 10 seconds; cache successful answers briefly (minutes, not days) instead of checking before every send. |
| `LINQ_CONNECT_PAYMENT_HANDLE` | Connect Payment Handle | Start the financial-consent ceremony for a customer phone number or email so an agent can later pay on that customer's behalf. This consent-sensitive, irreversible action may contact the customer and send an OTP; call it only with the customer's explicit consent. |
| `LINQ_CREATE_CHAT` | Create Chat | Create or reuse a chat on an explicit sending line and send an irreversible recipient-visible initial message. First-message text and parts cannot contain links. |
| `LINQ_CREATE_PAYMENT` | Create Payment | Create or advance a real financial payment on a connected customer's behalf, potentially minting a single-use virtual card. This is consent-sensitive and financially consequential; obtain explicit customer authorization, verify the amount and merchant, and use an Idempotency-Key for retries. |
| `LINQ_CREATE_PAYMENT_REQUEST` | Create Payment Request | Create a customer-facing checkout that can collect a one-time charge or start an auto-renewing subscription. This creates financial state but does not itself send the checkout URL to a recipient. Confirm the amount, currency, mode, rail, and intended payer before calling; use idempotency_key for retries. |
| `LINQ_CREATE_POLL` | Create Poll | Irreversibly send a recipient-visible iMessage poll to an existing chat. A poll cannot be the chat's first message, and its options are add-only and immutable. |
| `LINQ_CREATE_WEBHOOK_SUBSCRIPTION` | Create Webhook Subscription | Create a webhook subscription for selected Linq events at a controlled HTTPS callback. The response includes a one-time signing secret that must be stored securely. |
| `LINQ_DELETE_ATTACHMENT` | Delete Attachment | Permanently delete a Linq attachment and its stored bytes. |
| `LINQ_DELETE_MESSAGE` | Delete Message | Irreversibly delete a message record from Linq. This does not unsend the message or remove it from recipients' devices, and its idempotency key cannot be reused to resend it. |
| `LINQ_DELETE_WEBHOOK_SUBSCRIPTION` | Delete Webhook Subscription | Permanently delete a Linq webhook subscription and stop its future event deliveries. |
| `LINQ_EDIT_MESSAGE` | Edit Message | Irreversibly change recipient-visible text in one part of a message sent within the last 15 minutes. Linq permits at most five edits per message. A response with no message fields means Linq accepted an edit for a deleted message. |
| `LINQ_GET_ATTACHMENT` | Get Attachment | Return metadata and current status for a Linq attachment referenced by a message. This metadata-only action does not download the file. |
| `LINQ_GET_AVAILABLE_NUMBER` | Get Available Number | Select an available Linq sending number, optionally for recipients or a line type. Treat the returned vCard URL as sensitive and ephemeral. |
| `LINQ_GET_CHAT` | Get Chat | Return one chat by ID, including participants, service, state, and health information. |
| `LINQ_GET_CHAT_LOCATION` | Get Chat Location | Return precise locations currently shared by contacts in a chat. Treat coordinates and addresses as sensitive and minimize retention. |
| `LINQ_GET_EXPERIENCE` | Get Experience | Return one Linq experience and preserve its dynamic action field definitions. Discovery does not prove that required provider setup is complete. |
| `LINQ_GET_MESSAGE` | Get Message | Return one Linq message by ID with its content parts, sender, actual and preferred transport, delivery state, reply target, and timestamps. |
| `LINQ_GET_PAYMENT` | Get Payment | Read a payment's financial state, amount, customer handle, merchant details, and any customer-action URL. Treat returned identifiers and hosted URLs as sensitive financial metadata. |
| `LINQ_GET_PAYMENT_CREDENTIALS` | Get Payment Credentials | Return the complete, highly sensitive short-lived handoff used to reveal a ready payment's virtual card directly from the provider. The response includes provider, user_token, card_ref, and fetch_url when supplied. Use it only for the immediate authorized checkout; never log, persist, or disclose the handoff or the resulting PAN/CVC. |
| `LINQ_GET_PAYMENT_HANDLE_CONNECTION` | Get Payment Handle Connection | Read the financial-consent connection status for a customer phone number or email. Query only a customer handle whose owner consented to this lookup; the response may include a transient connect_id for a pending ceremony. |
| `LINQ_GET_PAYMENT_PROVIDER` | Get Payment Provider | Read the organization's onboarding status for a payment provider. This is a read-only financial setup check; a 404 is an execution failure and must not be interpreted as a normal disabled status. |
| `LINQ_GET_PAYMENT_REQUEST` | Get Payment Request | Return one payment request's amount, lifecycle status, checkout details, and provider join keys. This is read-only financial metadata; treat checkout URLs and customer or provider IDs as sensitive. |
| `LINQ_GET_POLL` | Get Poll | Return an iMessage poll's current options, voters, and distinct voter count. |
| `LINQ_GET_REPUTATION_AUDIT` | Get Reputation Audit | Return a Linq line reputation audit created with explicit approval. Audits are retained for no more than 24 hours. |
| `LINQ_GET_WEBHOOK_SUBSCRIPTION` | Get Webhook Subscription | Return one Linq webhook subscription by ID, including its callback URL, event and phone filters, active state, and configured routing-header names. |
| `LINQ_LEAVE_CHAT` | Leave Chat | Leave an iMessage group chat. This is irreversible and prevents further interaction through the sending line. |
| `LINQ_LIST_BLOCKED_HANDLES` | List Blocked Handles | Return phone numbers, email addresses, short codes, and sender IDs currently blocked account-wide from inbound and direct outbound messaging. |
| `LINQ_LIST_CHATS` | List Chats | Return one page of chats, optionally filtered by sending line or participant, with a cursor for the next page. |
| `LINQ_LIST_CONTACT_CARDS` | List Contact Cards | Return Linq account contact-card identity data, optionally for one E.164 sending line. |
| `LINQ_LIST_EXPERIENCES` | List Experiences | Discover Linq experiences and their dynamic action fields. Availability in this response does not prove payment-provider onboarding is complete. |
| `LINQ_LIST_MESSAGES` | List Messages | Return one page of messages from a chat, including content, sender, transport, delivery state, direction, reply target, and timestamps, plus a cursor for older messages. |
| `LINQ_LIST_MESSAGE_THREAD` | List Message Thread | Return one page containing the origin message and threaded replies, starting from any message in the thread. A message with no thread returns by itself. |
| `LINQ_LIST_PAYMENT_REQUESTS` | List Payment Requests | Return one newest-first page of payment requests for reconciliation, optionally filtered by lifecycle status. This is read-only financial metadata; checkout URLs and customer or provider IDs in results are sensitive. |
| `LINQ_LIST_PHONE_NUMBERS` | List Phone Numbers | Return the connected Linq account's sending lines with line type, forwarding configuration, and reputation status. |
| `LINQ_LIST_WEBHOOK_EVENTS` | List Webhook Events | Return the webhook event types currently available for subscription on the connected Linq account. |
| `LINQ_LIST_WEBHOOK_SUBSCRIPTIONS` | List Webhook Subscriptions | Return the connected Linq account's webhook subscriptions, including event and phone-number filters, target URLs, active state, and routing-header names. |
| `LINQ_MARK_CHAT_AS_READ` | Mark Chat As Read | Mark every message in a chat as read and send an irreversible read receipt. |
| `LINQ_REMOVE_CHAT_BACKGROUND` | Remove Chat Background | Reset a chat's recipient-visible transcript background to the default. |
| `LINQ_REMOVE_CHAT_PARTICIPANT` | Remove Chat Participant | Remove an external participant from a group chat. This irreversibly changes recipient-visible conversation membership. |
| `LINQ_REQUEST_ATTACHMENT_UPLOAD` | Request Attachment Upload | Reserve persistent attachment storage and return a 15-minute presigned upload URL. This action does not upload file bytes; PUT the raw bytes separately to the returned opaque URL using the exact required_headers. |
| `LINQ_REQUEST_CHAT_LOCATION` | Request Chat Location | Prompt a contact in a one-to-one iMessage chat to consent to sharing their precise location. This is recipient-visible and rate-limited per chat. |
| `LINQ_REVOKE_PAYMENT_HANDLE_CONNECTION` | Revoke Payment Handle Connection | Irreversibly revoke this partner's financial-consent grant for a customer phone number or email. This prevents future payments through the grant but does not delete the customer's provider wallet; revoke only with explicit authorization. |
| `LINQ_SEND_MESSAGE` | Send Message | Send one irreversible, externally visible message to phone numbers or emails. Linq reuses a matching chat or creates one and automatically selects the sending line. |
| `LINQ_SEND_MESSAGE_TO_CHAT` | Send Message to Chat | Send one follow-up or threaded reply to an existing Linq chat using its established sending line. This creates an irreversible recipient-visible message. |
| `LINQ_SEND_VOICE_MEMO_TO_CHAT` | Send Voice Memo to Chat | Irreversibly send recipient-visible audio as a native iMessage voice memo bubble to every participant in an existing Linq chat. |
| `LINQ_SET_CHAT_BACKGROUND` | Set Chat Background | Set a recipient-visible color, animated, or photo transcript background. Linq processes the change asynchronously. |
| `LINQ_SET_UP_CONTACT_CARD` | Set Up Contact Card | Create or replace a Linq contact card for a sending line. This changes public account identity and may activate contact-card sharing. |
| `LINQ_SHARE_CONTACT_CARD_WITH_CHAT` | Share Contact Card With Chat | Share the connected sending line's active contact card with a chat. This irreversibly discloses account identity to recipients. |
| `LINQ_START_PAYMENT_PROVIDER_ONBOARDING` | Start Payment Provider Onboarding | Create a hosted payment-provider onboarding session for the organization. This starts an external Stripe/Agentcard authorization flow and returns a sensitive hosted URL that an authorized administrator must open; do not use it to complete production onboarding without explicit administrative consent. |
| `LINQ_START_REPUTATION_AUDIT` | Start Reputation Audit | Start a potentially metered or limited reputation audit for a Linq sending line. The resulting audit persists for 24 hours. |
| `LINQ_START_TYPING_INDICATOR` | Start Typing Indicator | Show a best-effort recipient-visible typing indicator for about 85-90 seconds. Primarily effective for active iMessage chats. |
| `LINQ_STOP_CHAT_LOCATION_SHARING` | Stop Chat Location Sharing | Stop a specific contact's inbound location share. This consent-sensitive operation ends that contact's share across chats. |
| `LINQ_STOP_TYPING_INDICATOR` | Stop Typing Indicator | Immediately clear the connected line's recipient-visible typing indicator for a chat. |
| `LINQ_TOGGLE_POLL_VOTE` | Toggle Poll Vote | Irreversibly send a recipient-visible update that adds or removes the connected line's vote on one option of an iMessage poll. |
| `LINQ_UNBLOCK_HANDLE` | Unblock Handle | Remove an account-wide messaging block. This changes messaging behavior; for testing, unblock only a handle blocked by the same test. |
| `LINQ_UPDATE_CHAT` | Update Chat | Update a group chat's display name or icon. The participant-visible change is processed asynchronously. |
| `LINQ_UPDATE_CONTACT_CARD` | Update Contact Card | Update the public contact-card identity for one Linq sending line. |
| `LINQ_UPDATE_IMESSAGE_APP_CARD` | Update iMessage App Card | Irreversibly send a recipient-visible in-place update to an iMessage app card. The update creates a new message version; use its returned message ID for the next serialized update. |
| `LINQ_UPDATE_MESSAGE_REACTION` | Update Message Reaction | Irreversibly mutate recipient-visible reaction state by adding or removing a tapback, or by adding an iMessage sticker. Stickers cannot be removed. |
| `LINQ_UPDATE_PHONE_NUMBER` | Update Phone Number | Change a Linq sending line's production forwarding configuration. Capture the current value before changing it when rollback is required. |
| `LINQ_UPDATE_STICKER_PLACEMENT` | Update Sticker Placement | Irreversibly send a recipient-visible update that moves, resizes, or rotates an existing iMessage sticker on a message. |
| `LINQ_UPDATE_WEBHOOK_SUBSCRIPTION` | Update Webhook Subscription | Update a Linq webhook subscription's callback, filters, active state, or routing-header names. Callback and routing changes can redirect future account events. |
| `LINQ_VERIFY_PAYMENT_HANDLE` | Verify Payment Handle | Submit a customer's single-use OTP to complete the financial-consent ceremony and authorize future payments on the customer's behalf. This irreversible, consent-sensitive action consumes the code and records consent; use only a code the customer explicitly provided for this connection. |

## Supported Triggers

None listed.

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

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

## Complete Code

None listed.

## Conclusion

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

- [ChatGPT](https://composio.dev/toolkits/linq/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/linq/framework/claude-cowork)
- [Atomic Agent](https://composio.dev/toolkits/linq/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.
- [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.
- [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.
- [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.
- [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.
- [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.
- [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.
- [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.
- [Android Texter](https://composio.dev/toolkits/android_texter) - Android Texter is an API service that connects Android phones to SMS, MMS, contacts, and device data. Use it to automate mobile messaging without building your own phone-to-API bridge.
- [Basecamp](https://composio.dev/toolkits/basecamp) - Basecamp is a project management and team collaboration tool by 37signals. It helps teams organize tasks, share files, and communicate efficiently in one place.
- [Blooio](https://composio.dev/toolkits/blooio) - Blooio is a stable v2 API platform for messaging, chats, contacts, groups, phone numbers, and account analytics. It gives teams a clean way to build reliable communication workflows without stitching together fragile custom APIs.
- [Callback24](https://composio.dev/toolkits/callback24) - Callback24 is a telephony API for managing phone calls, users, services, and routing groups. It centralizes call control and routing to automate voice workflows and operations.
- [CallOnTheGo](https://composio.dev/toolkits/callonthego) - CallOnTheGo is a telephony API for managing phone numbers, caller IDs, suppression lists, audio assets, contact lists, and Voice AI campaigns. It provides programmatic control over calling infrastructure and campaign automation for scalable voice outreach.
- [Carbon Voice MCP](https://composio.dev/toolkits/carbon_voice_mcp) - Carbon Voice MCP is a voice-first collaboration platform for messages, conversations, and workflows. Use it to centralize voice communications and streamline team collaboration.
- [CardClan](https://composio.dev/toolkits/cardclan) - CardClan is a digital card platform for creating and sending personalized team cards. Use it to celebrate moments, share card links, and manage card workflows without extra coordination.
- [Chatwork](https://composio.dev/toolkits/chatwork) - Chatwork is a team communication platform with group chats, file sharing, and task management. It helps businesses boost collaboration and streamline productivity.
- [Clickmeeting](https://composio.dev/toolkits/clickmeeting) - ClickMeeting is a cloud-based platform for running online meetings and webinars. It helps businesses and individuals host, manage, and engage virtual audiences with ease.
- [Confluence](https://composio.dev/toolkits/confluence) - Confluence is Atlassian's team collaboration and knowledge management platform. It helps your team organize, share, and update documents and project content in one secure workspace.
- [Daily](https://composio.dev/toolkits/daily) - Daily is a WebRTC video and audio API platform for building rooms, meetings, recordings, live streams, transcriptions, and telephony. It gives developers reliable real-time media infrastructure without managing complex conferencing stacks.

## Frequently Asked Questions

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

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

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

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

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