How to integrate Zip MCP with Hermes

Connect Hermes to Zip MCP. List recent zip purchase requests, track pending zip approval workflows, and more using natural language, with authentication handled for you.

Zip logoZip
Api Key

Zip is an AI procurement orchestration platform for managing purchasing, approvals, suppliers, contracts, invoices, and spend. It helps teams control procurement from intake to payment in one connected workflow.

161 Tools

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

What is Composio Connect?

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

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

4. Done. You're all set with a new Zip 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 Zip or request any Zip-related task. It will prompt you to authenticate and authorize access.

5. Done!

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

The Zip MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Zip account. It provides structured and secure access to procurement records and configuration, so your agent can create invoices, manage vendors and products, organize departments and locations, and configure approval workflows on your behalf.

  • Invoice and receipt management: Have your agent create invoices, add invoice line items, create item receipts, and archive receipts when they are no longer needed.
  • Vendor and product administration: Let the agent create vendor contacts, sites, credits, items, item groups, addresses, and products to keep purchasing records up to date.
  • Organization setup: Direct your agent to create departments, locations, subsidiaries, roles, users, expense categories, GL codes, and tax codes in Zip.
  • Approval workflow configuration: Instruct your agent to create main queues, add subqueues, create delegations, and remove queues or delegations when workflows change.
  • Request collaboration and risk records: Have your agent add comments or replies to request details, delete comments, and record completed or canceled risk assessments.

Way Forward

With Zip 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.

TOOLS

Supported Tools

Every Zip action and event your agent gets out of the box.

Archive an item receipt

Archive an item receipt.

Create address

Create a vendor or company address in Zip from structured address fields.

Create a comment

Create a comment or reply to an existing comment on Zip's request details page (RDP).

Create a delegation

Create a delegation.

Create a department

Create a department in Zip with its name, display name, active status, and visibility settings.

Create an invoice from e-invoice XML

Create an invoice from an e-invoice payload.

Create an expense category

Create an expense category in Zip with its accounting and active-status fields.

Create GL code

Create a GL account in Zip.

Create an invoice

Create an invoice.

Add invoice line items

Add multiple line items to an existing bill invoice by invoice ID.

Create item account

Create an item-account lookup record in Zip from the supplied account fields.

Create an item receipt

Create an item receipt.

Create location

Create a company location in Zip with a name and status.

Create look up type

Create a lookup type in Zip.

Create a lookup option

Create a lookup option in Zip.

Create a product

Create a product in Zip with its required name and optional product metadata.

Create main queue

Create a main approval queue in Zip.

Create a risk assessment

Record a completed or canceled risk assessment performed outside Zip.

Create a role

Create an organization role in Zip.

Create a saving line item

Add a saving line item to an existing Zip purchase request.

Create subqueue

Create subqueue.

Create a subsidiary

Create an organization subsidiary in Zip.

Create a tax code

Create a tax code in Zip with its name, type, active status, and accounting fields.

Create a user

Create a user in Zip; this API operation requires a Zip Premier subscription.

Create vendor contact

Create a contact for a vendor in Zip.

Create a vendor credit

Create a vendor credit.

Add vendor credit line items

Add multiple line items to an existing Zip vendor credit; this endpoint must be enabled for the organization.

Create a vendor item

Create a vendor item in Zip from the supplied item fields.

Create a vendor item group

Create a vendor item group in Zip from the supplied group fields.

Create a vendor site

Create a vendor site in Zip with the supplied site attributes.

Deactivates user by ID

Destructive, high-impact operation that deactivates a Zip user's access and may require reassignment of their work; it does not delete the user record.

Delete a comment

Delete a Zip comment by its GUID on behalf of the specified user.

Delete a delegation

Delete a delegation.

Delete department by ID

Delete a single department from Zip by ID.

Delete expense category by ID

Delete an expense category from Zip so it can no longer be used for expense classification.

Delete location by ID

Delete a company location from Zip by ID.

Delete lookup by ID

Delete a Zip lookup type by ID.

Delete lookup option by ID

Delete a Zip lookup option by ID.

Delete an option filter rule by rule ID

Delete a Zip option filter rule by its client-provided rule ID.

Delete queue by Id

Delete a main queue or subqueue from Zip by queue ID.

Delete role by ID

Delete a single organization role from Zip by ID.

Delete a saving line item

Delete the purchase-request saving line item identified by `saving_line_item_id`.

Delete subsidiary by ID

Delete a single organization subsidiary from Zip by ID.

Delete tax code by ID

Delete a tax code from Zip by ID so it is no longer available for tax classification.

Delete vendor by ID

Delete a single vendor from Zip by vendor ID.

Get agent session by ID

Get metadata for an agent session when Superagents is enabled.

Get agreement by ID

Retrieve one Zip agreement when its `agreement_id` is already known.

Get amortization schedule by ID

Retrieve one Zip amortization schedule when its `amortization_schedule_id` is already known.

Get a change order by ID

Get a change order by ID.

Get a delegation by ID

Retrieve one out-of-office approval delegation from Zip by ID.

Get department by ID

Retrieve one Zip department and its organization settings by ID.

Get document by ID

Download a Zip document as a PDF file reference.

Get expense category by ID

Retrieve one Zip expense category and its accounting settings by ID.

Get GL code by ID

Retrieve a GL account lookup from Zip by ID.

Get invoice by ID

Get invoice by ID.

Get invoice cXML

Get invoice cXML.

Get item account by ID

Retrieve one Zip item-account lookup record when its `item_account_id` is already known.

Get an item receipt by ID

Retrieve one Zip item receipt when its `item_receipt_id` is already known.

Get lookup by ID

Retrieve a Zip lookup type by ID.

Get lookup option by ID

Retrieve a Zip lookup option by ID.

Get an option filter rule by rule ID

Retrieve a Zip option filter rule by its client-provided rule ID.

Get payment method by ID

Retrieve a Zip payment method by ID, optionally including sensitive or deleted data.

Get payment terms by ID

Retrieve one Zip payment-terms record when its `payment_terms_id` is already known.

Get payout by ID

Retrieve a single Zip payout by payout ID.

Get products by IDs

Retrieve multiple Zip product records in one call from a list of product IDs.

Get a purchase order by ID

Retrieve one Zip purchase order when its `purchase_order_id` is already known.

Get queue by ID

Retrieve a main queue or subqueue from Zip by queue ID.

Get a single purchase request

Retrieve a single Zip purchase request by request ID.

Get a request' questionnaire responses

Retrieve questionnaire responses for a Zip purchase request by request ID.

Get risk assessment by ID

Retrieve one Zip risk assessment by ID.

Get risk assessment fields schema

List the active custom fields on Zip risk assessments.

Get role by ID

Retrieve one organization role from Zip by ID.

Get saving line item by ID

Retrieve one purchase-request saving line item when its `saving_line_item_id` is already known.

Get subsidiary by ID

Retrieve one organization subsidiary from Zip by ID.

Get a tax code

Retrieve one Zip tax code and its tax-classification settings by ID.

Get user by ID

Retrieve one Zip user and their organization assignments by ID.

Get user group by ID

Retrieve one Zip user group by ID.

Get vendor by ID

Retrieve a single Zip vendor by vendor ID, optionally including risk tiers, assessments, and findings when Risk Orchestration is enabled.

Get vendor credit by ID

Retrieve a single Zip vendor credit by vendor-credit ID.

Get vendor item groups by IDs

Retrieve multiple Zip vendor item groups by their IDs.

Get vendor items by IDs

Retrieve multiple Zip vendor items by their IDs.

Get vendor site by ID

Retrieve a single Zip vendor site by site ID.

List messages in an agent session

List messages in an agent session in chronological order.

List agent sessions

List one page of agent sessions for a company with Superagents enabled.

List change orders

List change orders.

List currencies

List currencies supported by the connected Zip company.

List engagements

List one page of the company's active and inactive Zip engagements.

Get line items

Get line items.

Get all available purchase categories

List all purchase categories defined in the company's Zip settings.

List risk assessments

List the company's risk assessments, optionally filtered by vendor.

List risk levels

List the company's risk tiers from highest to lowest risk.

List vendor payment methods

Retrieve a vendor's payment methods, optionally including sensitive or deleted records and filtering by status.

Get vendor roles

List one page of vendor roles configured for the authenticated organization.

Get Workflow Attributes

Get Workflow Attributes.

Get Workflows

Get Workflows.

Search agreements

Search one page of Zip agreements using vendor, subsidiary, or department filters.

Search amortization schedules

Search one page of Zip amortization schedules by active status or name.

Search approvals

Search one page of approvals by request, approval status, node type, date range, or request type; optionally include neighboring approval nodes.

Search audit trail logs

Search one page of Zip audit trail events; export requires Zip Premier.

Search catalog

Search for vendor items and vendor item groups in the Zip catalog.

Search comments

Search comments belonging to a purchase requisition, optionally filtered by request GUID.

Search delegations

Search delegations.

Search departments

Search departments.

Search expense categories

Search Zip expense categories using documented filters.

Search GL codes

Search GL accounts in Zip and return one page of results.

Search invoices

Search one page of invoices by creation, update, approval, amount, invoice number, status, vendor, or upload source; optionally return IDs or line-item counts only.

Search item accounts

Search item accounts in Zip by name, active status, or external ID.

Search item receipts

Search one page of Zip item receipts by created time, updated time, or receipt status.

Search locations

Search Zip company locations by name or status and return one page of results.

Search lookup options

Search Zip lookup options and return one page of results.

Search look up types

Search Zip lookup types and return one page of results.

Search payment terms

Search payment terms in Zip and return one page of results.

Search purchase orders

Search one page of Zip purchase orders by PO or request number, status, requester, department, dates, open amount, or vendor.

Search requests

Search one page of Zip requests by request details, requester, department, vendor, status, type, priority, or date range, with optional sorting and custom attributes.

Search roles

Search Zip organization roles by name and return one page of results.

Search saving line items by field filters

Search one page of purchase-request saving line items.

Search subsidiaries

Search subsidiaries.

Search tax codes

Search Zip tax codes and return one page of results.

Search user groups

Search user groups.

Search users

Search users.

Search vendor credits

Search one page of Zip vendor credits by credit invoice number, with optional creation/update sorting.

Search vendors

Search one page of vendors by name, status, update time, subsidiary, or department; optionally include custom attributes and risk data.

Send a bill invoice for approval

Send a bill invoice for approval.

Send a vendor credit for approval

Send a vendor credit for approval.

Update a delegation

Update a delegation.

Update department by ID

Update a Zip department's name, display name, active status, or visibility by ID.

Update expense category by ID

Update a Zip expense category's accounting or active-status fields by ID.

Update GL code by ID

Update a GL account in Zip by ID.

Update invoice header information

Update invoice header information.

Update invoice line item

Update the supplied fields on one invoice line item by invoice and line-item IDs.

Update an invoice's paid status.

High-impact, irreversible operation that marks a bill invoice paid and creates its payout.

Update an item receipt

Update an item receipt.

Update a location.

Update a Zip company location's name or status by ID.

Update lookup by ID

Update a Zip lookup type by ID.

Update a lookup option

Update a Zip lookup option by ID.

Update payment method by ID

Update external identifiers or custom fields on a Zip payment method.

Update product by ID

Update a Zip product's name or metadata by product ID.

Update purchase order statuses

High-impact, irreversible bulk operation that cancels, closes, or soft-closes up to 50 purchase orders.

Update queue by ID

Update queue by ID.

Update a single purchase request

Update the supplied fields on a single Zip purchase request by request ID.

Update the line items of a purchase request

Update the line items of a purchase request.

Update a request's status (reject or cancel).

Update a request's status (reject or cancel).

Update role by ID

Destructive, high-impact operation that changes an organization role and can alter users' access.

Update a saving line item

Partially update a Zip saving line item; omitted fields remain unchanged.

Update subsidiary by ID

Update an organization subsidiary in Zip by ID.

Update a tax code

Partially update a Zip tax code's name, type, active status, or accounting fields by ID.

Update user by ID

Update a single Zip user by ID; this API operation requires a Zip Premier subscription.

Update user group by ID

Update user group by ID.

Update vendor by ID

Update the supplied fields on a single Zip vendor by vendor ID.

Update vendor credit header information

Update vendor credit header information.

Update a vendor credit line item

Update a line item on a Zip vendor credit; this endpoint must be enabled, and coded credits allow only a limited field set.

Update vendor item by ID

Update the supplied fields on a Zip vendor item by item ID.

Update vendor item group by ID

Update the supplied fields on a Zip vendor item group by group ID.

Update vendor site by ID

Update the supplied fields on a Zip vendor site by site ID.

Upload a document

Upload a document to Zip using multipart form data.

Upsert budget

Create or update a Zip budget using its period and dimensions.

Upsert budget actual

Create or update a Zip budget actual using its date and dimensions.

Upsert currencies

Add currencies to the connected Zip company's supported list; existing currencies not included in the request remain supported.

Create or update an option filter rule

Create or update a Zip option filter rule by client-provided rule ID.

Create or update option filter rules in a batch

Atomically create or update 1 to 100 Zip option filter rules.

Upsert vendor keyed by external id

Upsert vendor keyed by external id.

FAQ

Frequently asked questions

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

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 Zip tools.

Yes, absolutely. You can configure which Zip 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.

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 Zip data and credentials are handled as safely as possible.

Start with Zip.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Zip tool your agent needs.Free to start.

Start building