Zip MCP server for AI agents and assistants

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Zip MCP or direct API to manage purchase requests, track approvals, look up suppliers, and review spend through natural language.

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

Try Zip now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
Zip
Try asking
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.

SETUP GUIDE

Connect Zip MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
Install the Composio SDK and your agent framework
2

Create a session with MCP enabled

typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["zip"],
  mcp: true,
});
Create a session scoped to Zip and read its MCP URL and headers
3

Connect your agent to the MCP server

typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "List my five most recent purchase requests in Zip",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
Pass the session's MCP URL and headers to your agent and run a Zip request
SETUP GUIDE

Connect Zip API Tool with your Agent

1

Install Composio

typescript
npm install @composio/core @composio/openai openai
Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
2

Create a Composio session

typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["zip"] });
const tools = await session.tools();
Initialize Composio with the OpenAI Responses provider and create a session scoped to Zip
3

Run Zip tools with your agent

typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "List my five most recent purchase requests in Zip" }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
Send a request, execute the Zip tool calls through the session, and print the final answer

Why Use Composio?

AI Native Zip Integration

  • Supports both Zip MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable tool execution
  • Rich coverage for reading, writing, and querying your Zip data

Managed Auth

  • Built-in API key handling with secure storage and request authentication
  • Central place to manage, scope, and revoke Zip access
  • Per user and per environment credentials instead of hard-coded keys

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access Zip
  • Scoped, least privilege access to Zip resources
  • Full audit trail of agent actions to support review and compliance

Rolling this out across your team?

Give your team centralized access control across every framework with Composio’s MCP Gateway.

EXPLORE MCP GATEWAY
FAQ

Frequently asked questions

Yes, Zip requires you to configure your own API key. Once set up, Composio handles secure credential storage and API request handling for you.

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Yes. Composio is SOC 2 Type II compliant and is built to keep your Zip connection and credentials secure. OAuth tokens and API keys are encrypted, and sensitive customer data is protected at rest and in transit.

Composio also undergoes independent security testing and continuously monitors its systems for security threats. You can review the latest reports and policies in the Composio Trust Center.

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

Create the key in your Zip account settings, then paste it once on Composio's connection page. Composio stores it encrypted and uses it only for the Zip actions your agent runs. Nobody else in your workspace can read it, and you can revoke it inside Zip at any time.

When you connect a Zip account through Composio, every action runs under that account, so anything the agent creates, sends, or changes shows up in Zip as done by you. Keep an approval step in your prompt for actions with side effects, such as sending or deleting, and have the agent draft first.

Whatever the credentials you connect allow inside Zip. If Zip lets you scope a key to specific permissions, create a scoped one so the agent can only do what you intend. You can revoke the key inside Zip at any time.

Yes. Composio supports multiple connected accounts for the same app, and that works in Claude, ChatGPT, or any other assistant you connect through Composio. Give each Zip connection a name such as work or personal, and the assistant uses the one you mention in the request. Each account keeps its own credentials and nothing is merged.

The connection stops working the moment Zip rejects the old key. Create a new key in Zip and reconnect the account from the Composio dashboard or by asking your agent to reconnect Zip. Nothing else changes.

Composio's free Hobby plan includes 100,000 tool calls per month with no credit card, which covers most personal Zip use. Paid plans add higher limits and team features. Your Zip plan and its API limits still apply as usual.

Built-in connectors usually give one AI access to a limited set of apps. Many people use Composio because it lets their AI connect to more apps than it normally supports, or connect to multiple accounts for the same app (e.g. connect Claude to multiple Zip accounts).

With Composio, you connect Zip once and then use it across different AI assistants without setting it up separately in each one. Connect your apps to Composio once, then connect Composio to whichever AI you use, whether that's Claude, ChatGPT, Hermes, or your own custom assistant.

Start with Zip.It takes 30 seconds.

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

Start building