How to integrate Handwrytten MCP with Hermes

Handwrytten logo
Hermes logo
divider

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 Handwrytten 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 Handwrytten with

What is Composio Connect?

Composio Connect is a consumer offering that lets anyone plug 1,000+ 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.

Integrating Handwrytten 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
Hermes authenticating with Composio

2. Authenticate

Once the CLI is installed, ask Hermes to authenticate with Composio.

3. Connect to Handwrytten

Ask your agent to connect to Handwrytten, or simply request any Handwrytten-related task. Hermes will prompt you to authenticate and authorize access.

4. Done. You're all set with a new Handwrytten connection.


Using Composio Connect MCP

1. Get your MCP URL and API Key

Go to dashboard.composio.dev and copy your Connect MCP URL and API key.

Copy MCP URL and API key from Composio dashboard

2. Open the Hermes config file

bash
nano ~/.hermes/config.yaml

3. Add the Composio Connect MCP server

bash
mcp_servers:
  composio:
    url: "https://connect.composio.dev/mcp"
    headers:
      x-consumer-api-key: "YOUR_COMPOSIO_API_KEY"
    connect_timeout: 60
    timeout: 180

Save with Ctrl + O, Enter, then exit with Ctrl + X.

4. Restart your Hermes agent

Once restarted, ask your agent to connect to Handwrytten or request any Handwrytten-related task. It will prompt you to authenticate and authorize access.

5. Done!

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

The Handwrytten MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Handwrytten account. It provides structured and secure access so your agent can perform Handwrytten operations on your behalf.

Supported Tools & Triggers

Tools
Add RecipientTool to add a recipient address to the user's addressbook in Handwrytten.
Calculate Order TaxesTool to calculate taxes for Handwrytten basket orders.
Check AuthenticationTool to verify API key authentication validity for Handwrytten.
Clear BasketTool to clear all items from the shopping basket.
Create TemplateTool to create a new template for the current user.
Create User AddressTool to create a new user address in Handwrytten.
Delete Custom ImageTool to delete a custom image/logo from Handwrytten.
Delete Recipient AddressTool to delete one or more recipient addresses from user's profile.
Delete TemplateTool to delete a user's template by its ID.
Get Basket (New Method)Tool to retrieve the user's basket using the new method.
Get Basket CountTool to retrieve the count of items currently in the basket.
Get Basket ItemTool to retrieve a basket item by its ID from Handwrytten.
Get Card DetailsTool to get detailed information about a specific card in the Handwrytten catalog.
Get List of AddressesTool to retrieve a list of all addresses associated with the user's account.
Get Random CardsTool to retrieve random cards from Handwrytten.
Get Template DetailsTool to get detailed information about a card text template in the Handwrytten catalog.
Get Current User InfoTool to retrieve information about the currently authenticated user.
Get User AddressTool to retrieve the authenticated user's address and billing information.
List Basket Orders GroupedTool to list all basket orders grouped by basket.
List Past BasketsTool to retrieve a list of user's past baskets.
List CardsTool to retrieve a list of available Handwrytten cards with optional filtering and pagination.
List CategoriesTool to retrieve the list of available card categories from Handwrytten.
List CountriesTool to retrieve the list of countries available in Handwrytten.
List Credit CardsTool to list all credit cards associated with the Handwrytten account.
List FontsTool to retrieve the list of available handwriting fonts.
List Fonts for CustomizerTool to list fonts available for use with the card customizer.
List Gift CardsTool to retrieve the list of available gift cards with their denominations and pricing.
List Custom User ImagesTool to retrieve a list of custom user images uploaded to Handwrytten.
List InsertsTool to retrieve a list of available inserts from Handwrytten.
List OrdersTool to retrieve a list of user's past orders from Handwrytten.
List Orders GroupedTool to retrieve the user's order history grouped by basket.
List Past OrdersTool to retrieve a list of user's past orders from Handwrytten API.
List RecipientsTool to retrieve a list of recipient addresses that the user has previously saved.
List SignaturesTool to retrieve the list of available signatures for use in card orders.
List StatesTool to retrieve the list of states/provinces available in Handwrytten.
List Template CategoriesTool to retrieve the list of available template categories from Handwrytten.
List TemplatesTool to retrieve a list of card text templates from Handwrytten.
Logout UserTool to logout user from Handwrytten application.
Place Order in BasketTool to add an order to the basket in Handwrytten.
Register UserTool to register a new Handwrytten user account.
Request Password ResetTool to request a password reset email for a Handwrytten account.
Set Default AddressTool to set a default return address for the user in Handwrytten.
Set Test ModeTool to set test mode for the current Handwrytten user.
Update Basket ItemTool to update an existing basket item in Handwrytten.
Update Billing InformationTool to update user billing information (country, zip, address) for tax calculations in Handwrytten.
Update RecipientTool to update a recipient address in the user's addressbook in Handwrytten.
Update TemplateTool to update an existing user template in Handwrytten.
Upload Custom LogoTool to upload a custom image (logo or cover) to Handwrytten for use with custom cards.

Way Forward

With Handwrytten 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 or check out the Docs for deeper configuration options.

How to build Handwrytten MCP Agent with another framework

FAQ

What are the differences in Tool Router MCP and Handwrytten MCP?

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

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

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

Used by agents from

Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai

Never worry about agent reliability

We handle tool reliability, observability, and security so you never have to second-guess an agent action.