pangolinfo-mcp
Pangolinfo MCP server β 18 Amazon e-commerce & IP data tools for AI assistants via Model Context Protocol.
π Official site: www.pangolinfo.com
Plug your favorite AI client (Claude Code, Cursor, Cline, Windsurf, Codex, Hermes, OpenClaw) into Pangolinfo's Amazon scrape APIs and let the AI run keyword research, listing analysis, review mining, niche discovery, category navigation, AI search lookups, keyword-trend checks, and WIPO trademark clearance β all from natural-language instructions.
β οΈ BREAKING CHANGE in 0.7.0 β
pacer_searchretired, merged intowipo_searchThe standalone
pacer_searchtool was removed. US patent-litigation (PACER) lookups are now reached by passingenableLitigation=truetowipo_searchβ it finds the patent and joins the related US litigation cases in a single call. Prompts/scripts pinningpacer_searchwill getToolNotFound; switch towipo_searchwithenableLitigation.Earlier breaking change (0.3.0 β tool renames)
Old name (β€ 0.2.x) New name (0.3.0+) google_ai_searchai_searchgoogle_trendskeyword_trendsTool names changed to remove third-party brand references from the public MCP interface. Tool parameters, return shape, and pricing are unchanged.
| Version | 0.7.3 |
| Tools | 18 business tools (+ a free local pangolinfo_capabilities introspection call) |
| Transport | stdio (local) Β· streamable HTTP (hosted β see below) |
| Runtime | Node.js 18+ |
| License | MIT |
| Get an API key | https://tool.pangolinfo.com/ |
Install
Recommended: one-line installer (covers 7 AI clients)
The Pangolinfo Installer detects your AI client, writes the right config files, and you're done. Pass --scope=mcp to install only this MCP server (skip the Skills package).
macOS / Linux
curl -fsSL https://pangolinfo.dev/install.sh | sh -s -- \
--agent=<your-agent> \
--scope=mcp \
--api-key=pgl_xxxxxxxxxxxx
Windows (PowerShell)
irm https://pangolinfo.dev/install.ps1 | iex; `
Install-Pangolinfo -Agent <your-agent> -Scope mcp -ApiKey pgl_xxxxxxxxxxxx
<your-agent> is one of: claude-code, cursor, cline, windsurf, codex, hermes, openclaw.
After the installer finishes, restart your AI client so it picks up the new mcpServers entry.
Manual install (just download one file)
The release artifact is a single self-contained server.mjs (~800 KB) β all dependencies are bundled in. No npm install needed.
# macOS / Linux
mkdir -p ~/.local/lib/pangolinfo-mcp
curl -fsSL https://github.com/pangolinfo/pangolinfo-mcp/releases/latest/download/server.mjs \
-o ~/.local/lib/pangolinfo-mcp/server.mjs
chmod +x ~/.local/lib/pangolinfo-mcp/server.mjs
# Windows (PowerShell)
$dir = "$env:LOCALAPPDATA\pangolinfo-mcp"
New-Item -ItemType Directory -Force -Path $dir | Out-Null
irm https://github.com/pangolinfo/pangolinfo-mcp/releases/latest/download/server.mjs `
-OutFile "$dir\server.mjs"
Then wire it into your AI client β see the per-client snippets below. Point args at the file you just downloaded.
Developers: to build from source,
git clonethis repo and runnpm install && npm run build. The produceddist/server.mjsis identical to the release asset.
Get an API key
- Sign up at https://tool.pangolinfo.com/
- Copy your
pgl_xxxxxxxxkey from the dashboard - Top up credits if needed (each Amazon scrape call costs 0.75 credits;
pangolinfo_capabilitiesis free)
Manual configuration (per AI client)
Replace /abs/path/to/pangolinfo-mcp/dist/server.mjs with your real path, and pgl_xxxxxxxx with your key.
Claude Code (~/.claude/settings.json)
{
"mcpServers": {
"pangolinfo": {
"command": "node",
"args": ["/abs/path/to/pangolinfo-mcp/dist/server.mjs"],
"env": { "PANGOLINFO_API_KEY": "pgl_xxxxxxxx" }
}
}
}
Prefer
claude mcp add --scope user pangolinfo node /abs/path/to/dist/server.mjsβ it writes the same entry without hand-editing JSON.
Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"pangolinfo": {
"command": "node",
"args": ["/abs/path/to/pangolinfo-mcp/dist/server.mjs"],
"env": { "PANGOLINFO_API_KEY": "pgl_xxxxxxxx" }
}
}
}
Cline (VS Code extension)
Open Cline β MCP Servers β Edit settings JSON, then add:
{
"mcpServers": {
"pangolinfo": {
"command": "node",
"args": ["/abs/path/to/pangolinfo-mcp/dist/server.mjs"],
"env": { "PANGOLINFO_API_KEY": "pgl_xxxxxxxx" }
}
}
}
The settings file lives at <vscode-user>/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json.
If you're on the standalone Cline CLI, use ~/.cline/data/settings/cline_mcp_settings.json instead.
Windsurf (~/.codeium/windsurf/mcp_config.json)
{
"mcpServers": {
"pangolinfo": {
"command": "node",
"args": ["/abs/path/to/pangolinfo-mcp/dist/server.mjs"],
"env": { "PANGOLINFO_API_KEY": "pgl_xxxxxxxx" }
}
}
}
Codex (~/.codex/config.toml)
[mcp_servers.pangolinfo]
command = "node"
args = ["/abs/path/to/pangolinfo-mcp/dist/server.mjs"]
[mcp_servers.pangolinfo.env]
PANGOLINFO_API_KEY = "pgl_xxxxxxxx"
Hermes (~/.hermes/config.yaml)
mcp_servers:
pangolinfo:
command: node
args: ["/abs/path/to/pangolinfo-mcp/dist/server.mjs"]
env:
PANGOLINFO_API_KEY: pgl_xxxxxxxx
OpenClaw (~/.openclaw/openclaw.json)
{
"mcpServers": {
"pangolinfo": {
"command": "node",
"args": ["/abs/path/to/pangolinfo-mcp/dist/server.mjs"],
"env": { "PANGOLINFO_API_KEY": "pgl_xxxxxxxx" }
}
}
}
Hosted (remote HTTP) β no local install
Don't want to install anything? Point your AI client at the hosted endpoint
instead of a local server.mjs. This is the streamable HTTP transport
(MCP spec), multi-tenant β you bring your own key on every request.
| Endpoint | https://mcp.pangolinfo.com/mcp |
| Transport | Streamable HTTP (POST + SSE) |
| Auth | Your pgl_xxxxxxxx key, via Bearer header or URL query |
Passing your API key β two ways
1. Authorization header (recommended)
Authorization: Bearer pgl_xxxxxxxx
This is the preferred method: the key stays out of URLs, logs, and browser
history. The Bearer scheme is matched case-insensitively (bearer,
BEARER, Bearer all work) and extra whitespace is tolerated.
2. ?api_key= URL query (fallback)
https://mcp.pangolinfo.com/mcp?api_key=pgl_xxxxxxxx
Easiest for clients that only let you paste a URL. If your key contains URL-special characters, URL-encode it. The header (method 1) takes precedence if both are supplied.
Client config example (Claude Code / Cursor β "url"-style remote MCP)
{
"mcpServers": {
"pangolinfo": {
"url": "https://mcp.pangolinfo.com/mcp",
"headers": { "Authorization": "Bearer pgl_xxxxxxxx" }
}
}
}
If your client can't set headers, fall back to the URL form:
"url": "https://mcp.pangolinfo.com/mcp?api_key=pgl_xxxxxxxx".
Notes for custom / raw HTTP integrations
If you're calling the endpoint directly (not through a standard MCP client):
- POST your JSON-RPC body to
/mcp. - The MCP streamable transport normally requires the request to advertise
both
application/jsonandtext/event-streamin itsAcceptheader. This server backfills the missing media type for you, so a plainAccept: application/json,Accept: */*, or even a missingAcceptheader all work β you don't need to hand-craft it. - A
401means the key was not found in either the header or the query string β check that your client actually sent it (some libraries drop theAuthorizationheader on cross-origin redirects).
Tools (18)
See MCP-TOOLS-MAP.md for the full coordination graph (which tools chain into which).
| # | Tool | Purpose | Cost (credits) |
|---|---|---|---|
| 1 | search_amazon | Amazon keyword search β structured product list | 0.75 |
| 2 | get_amazon_product | Single-ASIN listing detail (title / bullets / features / aiReviewsSummary) | 0.75 |
| 3 | get_amazon_reviews | Batch reviews for an ASIN (VOC mining) | 0.75 |
| 4 | list_bestsellers | Amazon Bestsellers by category | 0.75 |
| 5 | list_new_releases | Amazon New Releases by category | 0.75 |
| 6 | list_seller_products | Catalog of products under one seller | 0.75 |
| 7 | list_category_products | All products in a category leaf | 0.75 |
| 8 | search_categories | Search Amazon category tree by keyword | 0.75 |
| 9 | get_category_children | Drill down one level in the category tree | 0.75 |
| 10 | filter_categories | Filter category nodes by criteria | 0.75 |
| 11 | filter_niches | Niche discovery (size Γ competition Γ growth) | 0.75 |
| 12 | get_category_paths | Resolve full ancestor paths for a category node | 0.75 |
| 13 | search_local_maps | Google Maps local business search | 0.75 |
| 14 | wipo_search | WIPO global design / trademark search (IP clearance). Set enableLitigation=true to also join related US patent-litigation (PACER) cases in the same call | 2 (+12 when enableLitigation finds a patent) |
| 15 | ai_search | AI Search via Google SERP (AI Overview + organic, with compliance disclaimer) | 2 |
| 16 | keyword_trends | Keyword Trends via Google Trends (with compliance disclaimer) | 1.5 |
| 17 | scrape_url | Power-user escape hatch: scrape a raw Amazon URL + parserName (non-standard pages) | 0.75 |
| 18 | search_amazon_alexa | Amazon Rufus AI conversational product picks (scene-based, no keyword) | 6 |
Plus a free local call:
pangolinfo_capabilitiesreturns the full tool catalog, canonical workflows, and usage tips with no backend round-trip (0 credits). It is a self-introspection helper, not one of the 18 data tools.
Default marketplace is Amazon US (marketplaceId=ATVPDKIKX0DER, zip=90001). Override per call via tool arguments.
Auth resolution order
The server resolves the API key with this priority:
- CLI args:
--api-key=pgl_xxx --api-base=... --scrape-base=... - Env vars:
PANGOLINFO_API_KEY,PANGOLINFO_API_BASE,PANGOLINFO_SCRAPE_BASE - Config file at
~/.pangolinfo/config.json:{ "api_key": "pgl_xxxxxxxxxxxx", "api_base": "https://extapi.pangolinfo.com", "scrape_base": "https://scrapeapi.pangolinfo.com" } - Missing key β startup failure with an actionable error.
CLI args win over env vars β convenient when you want per-server keys without polluting the global environment.
Internationalization
Tool descriptions and error hints are available in English and Chinese. The
language is resolved in this order: --lang=zh|en β PANGOLINFO_LANG=zh|en β OS locale
($LANG starting with zh* β Chinese, otherwise English) β English when there is no
locale signal at all. So a Chinese-locale machine gets Chinese automatically; everyone
else gets English. Force a language explicitly:
"env": {
"PANGOLINFO_API_KEY": "pgl_xxxxxxxx",
"PANGOLINFO_LANG": "zh"
}
Startup logs are always English (operator-facing); tool descriptions and error hint fields follow the resolved locale.
Verify your install
After restarting your AI client, ask it:
List all available
pangolinfoMCP tools.
You should see 18 tools. Then try:
Use
pangolinfo_capabilitieswith mode "summary".
This is a free local call β if it returns the tool catalog, your install is wired correctly. Next, run something paid like:
Search Amazon for "wireless mouse" and return the top 5 results.
Expected: ~0.75 credits deducted, ~300 KB of structured product data returned.
Development
npm install
npm run dev # tsx src/server.ts β hot-reload
npm run build # esbuild β dist/server.mjs
npm run typecheck # tsc --noEmit
npm start # node dist/server.mjs
Project layout
src/
βββ server.ts MCP stdio entry + tool registration
βββ auth.ts API key resolution (CLI > env > config file)
βββ client.ts HTTP client (Authorization, User-Agent)
βββ errors.ts PangolinfoError + status-code mapping
βββ config.ts Default endpoints / constants
βββ i18n.ts zh/en translation lookup
βββ tools/
βββ _types.ts Tool / ToolContext type definitions
βββ index.ts Tool registry (18 tools + capabilities)
βββ <verb_noun>.ts One file per tool
Adding a new tool
- Create
src/tools/<verb_noun>.tsexporting aToolobject β mirrorsearch_amazon.ts. - Import it in
src/tools/index.tsand append to thetoolsarray. - Schema is
zod;.describe()every field β the AI reads those. - Never call
fetchdirectly β usectx.client.post(...). Auth is already injected. - Throw
PangolinfoErroron failure; the HTTP client already throws this for non-2xx responses.
Security & Data Handling
We take operator and user safety seriously. By design, this MCP server:
- Brings your own key. Authentication is via your personal
PANGOLINFO_API_KEY(issued at https://tool.pangolinfo.com/). The key is read locally from your AI client's config or environment β it is never transmitted anywhere except tohttps://scrapeapi.pangolinfo.com(orhttps://mcp.pangolinfo.comfor the hosted variant) over TLS 1.2+. - No telemetry. This server does not phone home, does not collect usage analytics, and does not log your prompts. The only outbound traffic is the actual Amazon / Google / WIPO scrape API calls you explicitly invoke through tools.
- No PII collection. No user account info, no email, no IP geolocation, and no prompt content is persisted by this server. Tool calls forward only the parameters you (or the AI agent) supplied.
- Read-only. Every tool is a strictly read-only data lookup. None of them can write to Amazon, place orders, post reviews, modify listings, or take any side-effecting action on third-party platforms.
- HTTPS-only transport. Both the stdio variant (local) and the hosted variant (
https://mcp.pangolinfo.com/mcp) require HTTPS; HTTP requests are refused. - Open source. The full source is in this repository under MIT license β anyone can audit what the server sends and where.
- Responsible use. Pangolinfo APIs aggregate public e-commerce data. You are responsible for using the returned data in compliance with the terms of service of the underlying platforms (Amazon, Google, etc.) and with applicable laws in your jurisdiction.
Report security issues privately to security@pangolinfo.com β please do not file public GitHub issues for vulnerabilities.
Support
- API docs: https://docs.pangolinfo.com
- Issues: https://github.com/pangolinfo/pangolinfo-mcp/issues
- Email: support@pangolinfo.com
License
MIT Β© Pangolinfo