We raised a $50M Series B led by BenchmarkLearn more
Zip logo — MCP server on Gumloop

Zip

Manage Zip procurement requests, approvals, vendors, and spend.

Book a demo

Installation

Set up the Zip MCP server in Gumloop

Do this once to provision your hosted server URL.

1

Create a Gumloop account

To use this MCP, you need a Gumloop account. If you don't have one yet, sign up and start a 14-day free trial.

2

Add and authorize the Zip server

In Gumloop, open Connectors and add Zip. Depending on the app, you'll either sign in via OAuth or paste an API key. Either way, the credential is stored securely in Gumloop.

Then use it in your client

Use in GumloopUse in Gumloop
1

Use Zip in an agent

Once Zip is set up, just open any Gumloop agent, add Zip as a connector, and start chatting with the agent.

Tools (65)

  • Whoami

    Return the authenticated user's GUID, email, and organization GUID.

  • Get Attachment Download Url

    Get a single-use download URL for the primary (latest) version of an attachment. Returns a time-limited, single-use URL (1 hour, one download — the URL expires after the first successful curl). Use the curl_command exactly as returned; the URL contains special characters that must be properly quoted. Use the attachment guid returned by any tool that exposes attachments: - get_invoice / list_invoices → result.attachments[].guid - get_agreement / list_agreements → result.attachments[].guid - get_purchase_request → result.attachments[].guid Example flow: 1. Call one of the above tools to retrieve the object and its attachment guids. 2. Call get_attachment_download_url(attachment_guid) to get a download URL. 3. curl -L the returned download_url to save the file locally. Args: attachment_guid: GUID of an Attachment (the primary/latest version is used) or of a specific AttachmentVersion (that version is used).

  • Get Agreement

    Fetch a single agreement (contract) by GUID. Returns scalars: guid, name, agreement_number, currency, total_cents (the agreement amount in cents), start_date, execution_date, end_date, status, contract_status, display_renewal_status, renewal_status, type. To-one associations: vendor, department, creator (the agreement owner), request_for_amendment (the parent request when type=AMENDMENT). To-many associations: subsidiaries, categories, subcategories, attachments, purchase_orders, requests (the requests this agreement was created from), requests_for_master_contract (the parent requests when type=MSA), child_contracts. Note: the Zip API field 'original_request' is not directly returned — for MSA agreements use requests_for_master_contract[0], for AMENDMENT use request_for_amendment, otherwise use requests[0]. Renewal date fields are intentionally not returned (see FIO-1440): the underlying DB columns are misleadingly named and the CLM team is replacing them with properly-named fields behind the `enable-new-renewal-fields` flag. They will be added once that rename project is GA. Also not yet returned: auto_renews, opt_out_date, renewal_workflow, renewal_stakeholders, renewal_stakeholder_queues, cancellation_workflow_config (blocked on scheduled_renewal / queue zinterface registration), and custom attributes (FIAT).

  • List Agreements

    List agreements (contracts) for the configured company. Optionally filter by vendor_guid, department_guid, subsidiary_guid, category_guid, subcategory_guid, creator_guid, owner_guid, agreement_number_str, renewal_status (list of symbolic names: UPCOMING, NOT_SCHEDULED, RENEWAL_IN_PROGRESS, CANCELLATION_IN_PROGRESS, RENEWAL_COMPLETE, CANCELLATION_COMPLETE, CANCELED), agreement_status (list of symbolic names: ACTIVE, INACTIVE, TERMINATED), total_cents_min/max (combine for a closed range), and end_date_after/before (ISO-8601 date; combine for a closed range). Sort by created_at (default), updated_at, end_date_or_max_date, or total_cents. Returns up to 50 per page. Each hit is a full ZContract with the same shape get_agreement returns: scalars (guid, name, agreement_number, currency, total_cents, start_date, execution_date, end_date, status, contract_status, display_renewal_status, renewal_status, type), to-one associations (vendor, department, creator as the agreement owner, request_for_amendment), and to-many associations (subsidiaries, categories, subcategories, attachments, purchase_orders, requests, requests_for_master_contract, child_contracts). Renewal date fields and queue-related fields are intentionally not returned — see get_agreement's description for the deferral rationale. Args: vendor_guid: Filter to agreements with this vendor GUID. Exact match. department_guid: Filter to agreements in this department GUID. Exact match. Falls back to the vendor's primary department on agreements without a direct department. subsidiary_guid: Filter to agreements in this subsidiary GUID. Exact match. category_guid: Filter to agreements with this top-level category GUID. Exact match. subcategory_guid: Filter to agreements with this subcategory GUID. Exact match. creator_guid: Filter to agreements created by this user GUID. Exact match. owner_guid: Filter to agreements owned by this user GUID. Owner is currently resolved to the agreement's creator. agreement_number_str: Filter to a single agreement by its user-facing agreement number (as a string). renewal_status: Filter to agreements whose renewal status is in this set. Each entry is the symbolic name (e.g. "UPCOMING", "NOT_SCHEDULED", "RENEWAL_IN_PROGRESS", "CANCELLATION_IN_PROGRESS", "RENEWAL_COMPLETE", "CANCELLATION_COMPLETE", "CANCELED"). agreement_status: Filter to agreements whose status is in this set. Each entry is the symbolic name: "ACTIVE" (in effect today), "INACTIVE" (expired or not yet started), "TERMINATED". ACTIVE/INACTIVE derive from the start/end dates. TERMINATED is only indexed for companies with the terminated-status feature enabled; elsewhere a terminated agreement reads INACTIVE, since termination also moves the end date to the termination date. total_cents_min: Filter to agreements whose total amount in cents is greater than or equal to this value. Combine with ``total_cents_max`` for a closed range. total_cents_max: Filter to agreements whose total amount in cents is less than or equal to this value. Combine with ``total_cents_min`` for a closed range. end_date_after: Filter to agreements whose end date is on or after this date. ISO-8601 date string (e.g. "2026-01-15"). Combine with ``end_date_before`` for a closed range. The underlying ES field is DATE-mapped, so a date string is the right shape here (datetimes would produce off-by-one boundary results). end_date_before: Filter to agreements whose end date is on or before this date. ISO-8601 date string. Combine with ``end_date_after`` for a closed range. sort_by: Field to sort by. One of: created_at (default), updated_at, end_date_or_max_date, total_cents. sort_order: Sort direction. One of: asc, desc (default). cursor: Opaque pagination cursor. Omit for the first page; to fetch the next page, pass back the `cursor` value from the previous response.

  • Get Attachment

    Get a single attachment (document) by GUID. Returns name, type, status, attachment_versions, and parent associations (request, vendor, invoice, contract). MCP-callable subset of the GraphQL attachment read; permission-gated by can_user_view_attachment.

  • Get Top Up

    Get a single virtual card balance top up by GUID. Returns the top up's reference ID, amount and currency, transaction date, description, link, and any associated entity attributes.

  • Get Change Order

    Get a single change order (purchase requisition of type CHANGE_ORDER) by GUID. Returns the change-order diff: changed header fields, plus created/deleted/updated PO line items, each with the attribute names and old/new values that changed. ``field_type_options`` selects which field groups to compute (ALL, PO_HEADER, LINE_ITEMS); defaults to ALL. Args: field_type_options: CoApiFieldTypeEnum names (ALL, PO_HEADER, LINE_ITEMS) selecting which change-order field groups to compute. Defaults to ALL.

  • List Change Orders

    List submitted change orders (purchase requisitions of type CHANGE_ORDER) for the configured company. Returns up to 50 hits per page, ordered newest-first; pass the returned cursor to page further. Each hit is the same change-order diff shape ``get_change_order`` returns (changed header fields and created/deleted/updated PO line items). Args: field_type_options: CoApiFieldTypeEnum names (ALL, PO_HEADER, LINE_ITEMS) selecting which change-order field groups to compute. Defaults to ALL. cursor: Opaque pagination cursor. Omit for the first page; to fetch the next page, pass back the `cursor` value from the previous response.

  • Get Context Library

    Fetch a single context library entry by GUID, including its latest published version (purpose, instructions, version number).

  • List Context Libraries

    List context library entries for the configured company. Optionally filter by status. Returns up to 50 per page. Hits are hydrated to the same ZAiCompanyContext payload that get_context_library returns. Args: status: Filter by status. One of "ACTIVE" or "ARCHIVED". Omit to return both. cursor: Opaque pagination cursor. Omit for the first page; to fetch the next page, pass back the `cursor` value from the previous response.

  • Get Credit Memo

    Get a single credit memo by GUID. Returns identity fields (guid, status, marked_as_used, created_at, updated_at). Does not include the underlying credit invoice, applied bill usages, or derived amounts; those require follow-up tooling.

  • List Credit Memos

    List credit memos for the configured company. Optionally filter by vendor name (case-insensitive whole-token / token-prefix match — not arbitrary substrings), exact invoice number, or availability. Per-row narrowing (subsidiary / department / assignee) is applied automatically by the ES permission dispatcher. Hits are hydrated to the same ZCreditMemo payload that get_credit_memo returns. Returns up to 50 per page, sorted by created_at descending. Args: vendor_query: Optional case-insensitive token / phrase match on the associated vendor's name. Whole tokens (or token prefixes) only — arbitrary substrings won't match (e.g. ``"cme"`` will NOT match ``"Acme Inc"``). Omit to return credit memos for all vendors. invoice_number: Optional exact-match filter on the underlying credit invoice's invoice_number. Omit to return all matching credit memos. is_credit_available: Optional boolean filter. Set ``True`` to return only credit memos with an available balance, ``False`` for fully-used credit memos. Omit to return both. cursor: Opaque pagination cursor. Omit for the first page; to fetch the next page, pass back the `cursor` value from the previous response.

Ship Zip agents in minutes

Connect any AI agent to 100+ MCP servers, zero setup.
Book a demo
Gradient