Ziptax Sales Tax API

tax.zip由 zip.tax 发布v1.0.5更新于 Oct 24, 2026

Real-time US and Canadian sales and use tax rates by address or geo coordinates.

已验证Streamable HTTP可网页运行金融商业与电商

概览

AI 生成的概览

远程 MCP 服务器,让助手按地址、坐标或邮编查询美国和加拿大实时销售税与使用税税率,并查看账户 API 用量。

可以做什么
按街道地址、经纬度坐标或邮政编码查询美国或加拿大地点的销售税与使用税税率,并按州、县、市、区提供辖区级明细。按套餐支持查询历史月份税率、商品应税代码、非建制地区调整以及田纳西州单件商品税计算。查看已认证密钥的账户用量指标、请求上限和配额。
适用场景
当助手需要获取美国或加拿大具体地址、邮编或坐标的当前销售税或使用税税率时适用,例如报价、开票或税务研究;也适合查看剩余 API 配额。
运行要求
远程 Streamable HTTP 端点,无需本地运行时。需要 Ziptax API 密钥,通过 X-API-KEY 请求头(推荐)或 Authorization 请求头中的 Bearer 令牌发送。密钥可在 Ziptax 平台获取。加拿大查询、历史税率和应税代码等功能需要 Pro 或 Enterprise 套餐。
安装前请注意
API 密钥属于机密,应避免放入 URL 和日志,因为 URL 中的密钥可能被记录。查询会把所查地址或坐标发送给 Ziptax API。用量按套餐的请求上限计费,部分参数需要付费套餐。两个工具均为只读,不会修改数据。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Ziptax Sales Tax API,将其添加到工作区。
  2. 连接 X-API-KEY 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/tax.zip%2Fziptax/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "ziptax-sales-tax-api": {
      "type": "http",
      "url": "https://mcp.zip-tax.com/",
      "headers": {
        "X-API-KEY": "<YOUR_API_KEY>"
      }
    }
  }
}

README

Ziptax MCP Server

An HTTP Model Context Protocol (MCP) server that gives AI agents real-time US and Canadian sales and use tax rates from the Ziptax API.

Once connected, an agent can:

  • Look up sales and use tax rates by street address, latitude/longitude, or postal code.
  • Get jurisdiction-level breakdowns (state, county, city, and district).
  • Check account usage and quota.

Official documentation: docs.zip.tax: MCP Server

Connection Details

Endpointhttps://mcp.zip-tax.com/
MethodPOST
TransportStreamable HTTP (most clients call this HTTP)
SessionsStateless
Server nameZipTax Sales Tax API
Upstream APIZiptax API v60

Authentication

Send a Ziptax API key as an HTTP header. Two header methods are supported:

http
X-API-KEY: your-api-key
http
Authorization: Bearer your-api-key
  • X-API-KEY is recommended. If both headers are present, X-API-KEY takes priority.
  • The Bearer scheme is case-insensitive.
  • Do not pass API keys in the URL. Keys in URLs can end up in logs.

Get an API key at platform.zip.tax.

Client Configuration

Replace your_api_key with your Ziptax API key.

Claude Code

bash
claude mcp add --transport http ziptax https://mcp.zip-tax.com/ --header "X-API-KEY: your_api_key"

Claude Desktop

Add this block to claude_desktop_config.json:

json
{  "mcpServers": {    "ziptax": {      "type": "http",      "url": "https://mcp.zip-tax.com/",      "headers": {        "X-API-KEY": "your_api_key"      }    }  }}

Cursor

Go to Settings → MCP and add a server:

  • Name: Ziptax MCP Server
  • Type: HTTP
  • URL: https://mcp.zip-tax.com/
  • Headers: X-API-KEY: your_api_key

Devin

Add the Ziptax integration from the MCP Marketplace, or configure it under Settings → MCP Marketplace → Add Your Own:

json
{  "mcpServers": {    "ziptax-sales-tax-api": {      "transport": "shttp",      "url": "https://mcp.zip-tax.com/",      "headers": {        "X-API-KEY": "$ZIPTAX_API_KEY"      }    }  }}

Store the key as a secret named ZIPTAX_API_KEY in Devin's Secrets Manager.

Any Other MCP Client

Any client that supports the Streamable HTTP transport can connect:

  • Type: HTTP
  • URL: https://mcp.zip-tax.com/
  • Headers: X-API-KEY: your_api_key

Example Prompts

  • "What's the sales tax rate for ZIP code 90210?"
  • "What's the combined sales tax rate at 200 Spectrum Center Dr, Irvine, CA?"
  • "What's the sales tax rate for Canadian postal code M5V 2T6 in Toronto, Ontario?"
  • "What was the sales tax rate in Nashville, TN (37203) in January of this year?"
  • "How many API requests do I have left on my Ziptax plan this month?"

Tools

The server exposes two read-only tools.

Annotationlookup_tax_rateget_account_metrics
titleLook Up Sales Tax RateGet Account Usage Metrics
readOnlyHinttruetrue
destructiveHintfalsefalse
idempotentHinttruetrue
openWorldHintfalsefalse

lookup_tax_rate

Look up sales and use tax rates for a US or Canadian location. Returns rates broken down by jurisdiction (state, county, city, district).

Location Requirement

Provide one of:

  • address: a full street address, for door-level precision. This is the preferred input.
  • lat and lng: a geographic point, with the same door-level precision as an address.

The input schema declares this as an anyOf constraint. postalcode is the least precise location input; see its description below.

Parameters

All parameters are optional, subject to the location requirement above, and the schema declares each one as a string. lat, lng, historical, and sat_item_total also accept JSON numbers. Every other parameter must be a string. For example, send postalcode as "02134", because a number drops the leading zero.

ParameterDescription
addressFull street address for door-level geocoded lookup. Preferred input.
latLatitude for coordinate-based lookup. Same door-level precision as an address. Use with lng.
lngLongitude for coordinate-based lookup. Same door-level precision as an address. Use with lat.
postalcodeUS ZIP code (5-digit) or Canadian postal code. Least precise option: returns every rate overlapping the ZIP rather than one authoritative rate, with no adjustment for unincorporated areas. Use only when no address or lat/lng is available.
stateTwo-letter US state or Canadian province code (for example CA, ON).
cityCity name.
countyCounty name.
country_codeUS (default) or CA for Canada. CA requires a Pro or Enterprise plan.
historicalHistorical period in YYYYMM format (for example 202601 for January 2026). Lookback is limited to the past 12 months. Requires a Pro or Enterprise plan.
adjustmentSet to auto to enable state-specific unincorporated area adjustments.
taxability_codeProduct taxability code (TIC) for product-specific tax rules. Requires a Pro or Enterprise plan. See How to find a TIC.
sat_item_totalItem total for the Tennessee Single Article Tax calculation.
formatResponse format: json (default) or xml.
Example Call
json
{  "name": "lookup_tax_rate",  "arguments": {    "address": "200 Spectrum Center Dr, Irvine, CA 92618"  }}
Response

The tool returns the Ziptax API v60 response as pretty-printed JSON text, or as the API's XML unchanged when format is xml. It mirrors the REST API by Address response:

json
{  "metadata": {    "version": "v60",    "response": {      "code": 100,      "name": "RESPONSE_CODE_SUCCESS",      "message": "Successful API Request.",      "definition": "http://api.zip-tax.com/request/v60/schema"    }  },  "baseRates": [    {      "rate": 0.0725,      "jurType": "US_STATE_SALES_TAX",      "jurName": "CA",      "jurDescription": "US State Sales Tax",      "jurTaxCode": "06"    },    {      "rate": 0.005,      "jurType": "US_COUNTY_SALES_TAX",      "jurName": "ORANGE",      "jurDescription": "US County Sales Tax",      "jurTaxCode": "30"    }  ],  "taxSummaries": [    {      "rate": 0.0775,      "taxType": "SALES_TAX",      "summaryName": "Total Base Sales Tax",      "displayRates": [        { "name": "Total Rate", "rate": 0.0775 }      ]    }  ],  "addressDetail": {    "normalizedAddress": "200 Spectrum Center Dr, Irvine, CA 92618-5003, United States",    "incorporated": "true",    "geoLat": 33.65253,    "geoLng": -117.74794  }}

metadata.response.code reports the API response code. See Response Codes for the full list.

get_account_metrics

Get usage metrics and quota information for the authenticated Ziptax account. Takes no parameters.

Example Call
json
{  "name": "get_account_metrics",  "arguments": {}}
Response

The tool returns the Ziptax API v60 account metrics response as pretty-printed JSON text:

json
{  "request_count": 4215,  "request_limit": 100000,  "usage_percent": 4.215,  "is_active": true,  "message": "Contact [email protected] to modify your account"}
FieldDescription
request_countRequests made on this key in the current billing period.
request_limitRequests included in the plan. 0 means unmetered.
usage_percentrequest_count / request_limit * 100.
is_activefalse if the key has been disabled.
messageHow to change plan or limits.

See Account Metrics for details.

Error Handling

Errors come back as a tool result with isError: true and a text message, not as a JSON-RPC error.

MessageCause
Missing API key. Send it in the X-API-KEY header or as a Bearer token in the Authorization header. ...The tool call had no API key header.
<parameter> must be a string or <parameter> must be a string or numberA lookup_tax_rate parameter was sent with a type it does not accept.
Provide a location: a full street address, or both lat and lnglookup_tax_rate was called without address, a lat/lng pair, or postalcode.
ZipTax API error: API returned status <code>: <body>The Ziptax API returned a non-200 HTTP status.
ZipTax API error: API request failed: <detail>The Ziptax API could not be reached or did not respond within 15 seconds.

Local Development

bash
# Run the servergo run .
# Run testsgo test -v ./...
# Build and run the Docker imagedocker build -t ziptax-mcp .docker run -p 8080:8080 ziptax-mcp

The server listens on port 8080 by default:

  • POST /: MCP endpoint
  • GET /health: health check, returns {"status":"ok"}

Environment Variables

VariableDefaultDescription
PORT8080Server listen port
ZIPTAX_API_BASE_URLhttps://api.zip-tax.comZiptax API base URL

Infrastructure

The cloudformation.yaml template provisions the complete AWS infrastructure:

  • ECR repository for container images
  • ECS Fargate cluster and service
  • Application Load Balancer with HTTPS
  • ACM certificate for mcp.zip-tax.com
  • Route53 hosted zone and DNS record
  • Security groups and IAM roles

Deployment

CI/CD is handled by GitHub Actions:

  1. test.yml - Runs on PRs and pushes: linting (golangci-lint) and tests (go test)
  2. build.yml - Runs on main: builds Docker image and pushes to ECR
  3. deploy.yml - Runs after build: updates the ECS service with the new image
  4. pages.yml - Runs on main when this README, the LICENSE, or the workflow changes, or on manual dispatch: publishes the README as the documentation site at mcp.zip.tax

build.yml and deploy.yml authenticate to AWS by assuming an IAM role through GitHub OIDC; no workflow uses static AWS keys. The role is defined in ziptax-terraform (github_oidc.tf) and trusts only this repository's main branch. Its ARN is the AWS_DEPLOY_ROLE_ARN repository variable.

Initial Setup

  1. Deploy the CloudFormation stack:

    bash
    aws cloudformation deploy \  --template-file cloudformation.yaml \  --stack-name ziptax-mcp \  --parameter-overrides ImageUri=<ECR_URI>:latest \  --capabilities CAPABILITY_NAMED_IAM \  --region us-east-1
  2. Add NS records from the mcp.zip-tax.com hosted zone to the parent zip-tax.com zone.

  3. Wait for ACM certificate DNS validation to complete.

License

MIT

来源:README.md,提交 dd7d844

工具

2

get_account_metrics

Get Account Usage Metrics

Get account usage metrics and quota information for the authenticated ZipTax account. Returns current request counts, limits, and entitlements. Requires a valid ZipTax API key sent in the X-API-KEY header or Authorization header. Get a key at https://platform.zip.tax

无需输入参数。

lookup_tax_rate

Look Up Sales Tax Rate

Look up sales and use tax rates for a US or Canadian location. Provide a full street address for door-level accuracy, or a lat/lng pair for a geographic point lookup. Returns tax rates broken down by jurisdiction (state, county, city, district). Requires a valid ZipTax API key sent in the X-API-KEY header or Authorization header. Get a key at https://platform.zip.tax

输入参数latlngcitystatecountyformataddressadjustmenthistoricalpostalcodecountry_codesat_item_total另有 1 个

版本历史

3
  1. v1.0.5最新Oct 7, 2026
  2. v1.0.2Oct 5, 2026
  3. v1.0.0Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分