Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Real-time US and Canadian sales and use tax rates by address or geo coordinates.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
X-API-KEYค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http ziptax https://mcp.zip-tax.com/ --header 'X-API-KEY: ใส่ค่าของคุณ'เติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"ziptax": {
"url": "https://mcp.zip-tax.com/",
"headers": {
"X-API-KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"ziptax": {
"type": "http",
"url": "https://mcp.zip-tax.com/",
"headers": {
"X-API-KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
X-API-KEY ความลับ จำเป็น HTTP headerค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน zip.tax แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: X-API-KEY
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.5) เข้า registry 31 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Finance Toolkit, SolidInvoice, Korea Tax Calculator
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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:
Official documentation: docs.zip.tax: MCP Server
| Endpoint | https://mcp.zip-tax.com/ |
| Method | POST |
| Transport | Streamable HTTP (most clients call this HTTP) |
| Sessions | Stateless |
| Server name | ZipTax Sales Tax API |
| Upstream API | Ziptax API v60 |
Send a Ziptax API key as an HTTP header. Two header methods are supported:
X-API-KEY: your-api-key
Authorization: Bearer your-api-key
X-API-KEY is recommended. If both headers are present, X-API-KEY takes priority.Bearer scheme is case-insensitive.Get an API key at platform.zip.tax.
Replace your_api_key with your Ziptax API key.
claude mcp add --transport http ziptax https://mcp.zip-tax.com/ --header "X-API-KEY: your_api_key"
Add this block to claude_desktop_config.json:
{
"mcpServers": { "ziptax": { "type": "http", "url": "https://mcp.zip-tax.com/", "headers": { "X-API-KEY": "your_api_key" } } } }
Go to Settings → MCP and add a server:
https://mcp.zip-tax.com/X-API-KEY: your_api_keyAdd the Ziptax integration from the MCP Marketplace, or configure it under Settings → MCP Marketplace → Add Your Own:
{
"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 client that supports the Streamable HTTP transport can connect:
https://mcp.zip-tax.com/X-API-KEY: your_api_keyThe server exposes two read-only tools.
| Annotation | lookup_tax_rate | get_account_metrics |
|---|---|---|
title | Look Up Sales Tax Rate | Get Account Usage Metrics |
readOnlyHint | true | true |
destructiveHint | false | false |
idempotentHint | true | true |
openWorldHint | false | false |
lookup_tax_rateLook up sales and use tax rates for a US or Canadian location. Returns rates broken down by jurisdiction (state, county, city, district).
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.
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.
| Parameter | Description |
|---|---|
address | Full street address for door-level geocoded lookup. Preferred input. |
lat | Latitude for coordinate-based lookup. Same door-level precision as an address. Use with lng. |
lng | Longitude for coordinate-based lookup. Same door-level precision as an address. Use with lat. |
postalcode | US 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. |
state | Two-letter US state or Canadian province code (for example CA, ON). |
city | City name. |
county | County name. |
country_code | US (default) or CA for Canada. CA requires a Pro or Enterprise plan. |
historical | Historical period in YYYYMM format (for example 202601 for January 2026). Lookback is limited to the past 12 months. Requires a Pro or Enterprise plan. |
adjustment | Set to auto to enable state-specific unincorporated area adjustments. |
taxability_code | Product taxability code (TIC) for product-specific tax rules. Requires a Pro or Enterprise plan. See How to find a TIC. |
sat_item_total | Item total for the Tennessee Single Article Tax calculation. |
format | Response format: json (default) or xml. |
{
"name": "lookup_tax_rate", "arguments": { "address": "200 Spectrum Center Dr, Irvine, CA 92618" } }
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:
{
"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_metricsGet usage metrics and quota information for the authenticated Ziptax account. Takes no parameters.
{
"name": "get_account_metrics", "arguments": {} }
The tool returns the Ziptax API v60 account metrics response as pretty-printed JSON text:
{
"request_count": 4215, "request_limit": 100000, "usage_percent": 4.215, "is_active": true, "message": "Contact support@zip.tax to modify your account" }
| Field | Description |
|---|---|
request_count | Requests made on this key in the current billing period. |
request_limit | Requests included in the plan. 0 means unmetered. |
usage_percent | request_count / request_limit * 100. |
is_active | false if the key has been disabled. |
message | How to change plan or limits. |
See Account Metrics for details.
Errors come back as a tool result with isError: true and a text message, not as a JSON-RPC error.
| Message | Cause |
|---|---|
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. |
must be a string or must be a string or number | A lookup_tax_rate parameter was sent with a type it does not accept. |
Provide a location: a full street address, or both lat and lng | lookup_tax_rate was called without address, a lat/lng pair, or postalcode. |
ZipTax API error: API returned status : | The Ziptax API returned a non-200 HTTP status. |
ZipTax API error: API request failed: | The Ziptax API could not be reached or did not respond within 15 seconds. |
# Run the server
go run .
go test -v ./...
docker build -t ziptax-mcp . docker run -p 8080:8080 ziptax-mcp
The server listens on port 8080 by default:
POST /: MCP endpointGET /health: health check, returns {"status":"ok"}| Variable | Default | Description |
|---|---|---|
PORT | 8080 | Server listen port |
ZIPTAX_API_BASE_URL | https://api.zip-tax.com | Ziptax API base URL |
The cloudformation.yaml template provisions the complete AWS infrastructure:
mcp.zip-tax.comCI/CD is handled by GitHub Actions:
golangci-lint) and tests (go test)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.
aws cloudformation deploy \
--template-file cloudformation.yaml \ --stack-name ziptax-mcp \ --parameter-overrides ImageUri= :latest \ --capabilities CAPABILITY_NAMED_IAM \ --region us-east-1
mcp.zip-tax.com hosted zone to the parent zip-tax.com zone.MIT