Skip to main content

MCP server for Zip API integration

Project description

Zip MCP Server

An MCP (Model Context Protocol) server for integrating with the Zip API, built with FastMCP.

Installation

pip install ziphq-mcp

Or with uv:

uv pip install ziphq-mcp

Usage

With Claude Code / Claude Desktop

Add to your MCP configuration (e.g., ~/.claude/claude_desktop_config.json):

{
  "mcpServers": {
    "zip": {
      "command": "uv",
      "args": ["run", "--with", "ziphq-mcp", "ziphq-mcp"],
      "env": {
        "ZIP_API_KEY": "your-api-key-here"
      }
    }
  }
}

Running directly

# Set the API key via environment variable
export ZIP_API_KEY="your-api-key-here"

# Run with uv (recommended)
uv run --with ziphq-mcp ziphq-mcp

# Or if installed globally
ziphq-mcp

Available Tools

Tool Description
zip_search_requests Search for purchase requests with filters (status, priority, requester, vendor, department, dates, etc.)
zip_get_request Get details of a specific purchase request by ID

zip_search_requests Parameters

Parameter Type Description
request_number string The request number in Zip
status int 1=AWAITING_APPROVAL, 2=REJECTED, 3=APPROVED, 4=CANCELED, 5=CLOSED, 6=PAUSED
priority int 0=Urgent, 1=Normal
requester_id string User ID (UUID) of the requester
requester_name string Requester name
request_type string PURCHASE_REQUEST, SECURITY_REVIEW, VENDOR_ONBOARDING, SOURCING_REQUEST, PO_CHANGE_ORDER
department_name string Name of the department
department_id list[string] List of department IDs (UUIDs)
vendor_name string Name of the vendor
vendor_id string ID (UUID) of the vendor
created_after int Epoch timestamp (seconds)
created_before int Epoch timestamp (seconds)
completed_after int Epoch timestamp (seconds)
completed_before int Epoch timestamp (seconds)
last_updated_after int Epoch timestamp (seconds)
last_updated_before int Epoch timestamp (seconds)
include_attributes bool Include custom fields in response
sort_by string create_time, complete_time, last_updated_time, request_number, status
sort_order string asc, desc
page_size int Number of results per page
page_token string Pagination token for next page

Configuration

The server requires a Zip API key. You can provide it in two ways:

  1. Environment variable: Set ZIP_API_KEY
  2. MCP configuration: Pass it via the env section in your MCP config

Project Structure

zip_mcp/
├── src/
│   ├── __init__.py
│   ├── app.py          # FastMCP instance and configuration
│   ├── server.py       # Main entry point
│   └── tools/
│       ├── __init__.py
│       └── requests.py # Purchase request tools
├── pyproject.toml
└── README.md

Development

# Navigate to the zip_mcp directory
cd zip_mcp

# Install dev dependencies
uv sync --dev

# Run tests
uv run pytest

# Format code
uv run ruff format .
uv run ruff check --fix .

Publishing to PyPI

# Build the package
uv build

# Upload to PyPI (requires PyPI credentials)
uv publish

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ziphq_mcp-0.1.0.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ziphq_mcp-0.1.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file ziphq_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: ziphq_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.6

File hashes

Hashes for ziphq_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a0072d93b94ae7356ded9d55853bbed15cce029808f75fc2e25e4588acef1af2
MD5 8f15e458bab8d860fd179913b853d166
BLAKE2b-256 a674e4530caf233aa1a76f73177c1e4ba414a72601917704daffc20b960305cb

See more details on using hashes here.

File details

Details for the file ziphq_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ziphq_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.6

File hashes

Hashes for ziphq_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5cd3c55a69e21be8f182e7225f9f4b1f37b50c9f9af992f2cae6d7b2a9f4a618
MD5 1f6a55011d7355f00cc558901d5cbc3a
BLAKE2b-256 4e1dcee380ab347c47f9ab938efecd76d96020d64aaccf166b05ef51c7615a64

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page