{
  "markdown": "# PayZu MCP\n\nModel Context Protocol servers for the [PayZu APIs](https://docs.payzu.com.br). Plug into Antigravity, Claude Code, Claude Desktop, Cursor, Windsurf, and any other MCP-compatible AI client so the assistant can call PayZu directly with typed tools.\n\n## Packages\n\n| Package | API | Tools | Install |\n|---|---|---|---|\n| [`payzu-mcp-pix`](packages/pix) | Pix Processamento | 29 | `npx -y payzu-mcp-pix` |\n\n## Hosted server (no install)\n\nPoint any MCP client that supports remote servers at the hosted endpoint — no Node, no install:\n\n```\nhttps://mcp.payzu.com.br/mcp\n```\n\n[![Install in Cursor](https://img.shields.io/badge/Cursor-Install_payzu--pix-000000?logo=cursor)](https://cursor.com/en/install-mcp?name=payzu-pix&config=eyJ1cmwiOiJodHRwczovL21jcC5wYXl6dS5jb20uYnIvbWNwIn0=)\n[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_payzu--pix-0098FF?logo=githubcopilot)](https://insiders.vscode.dev/redirect/mcp/install?name=payzu-pix&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.payzu.com.br%2Fmcp%22%7D)\n\n- **claude.ai / Claude Desktop** — Settings → Connectors → *Add custom connector* → paste the URL. A PayZu authorization page opens; paste your API token once and you're connected (OAuth — the client never sees or stores the token).\n- **Claude Code** — `claude mcp add --transport http payzu-pix https://mcp.payzu.com.br/mcp` (OAuth prompt on first use), or pass the token directly with `--header \"Authorization: Bearer <token>\"`.\n- **Cursor / Windsurf / VS Code** — use the buttons above or add `{\"url\": \"https://mcp.payzu.com.br/mcp\"}` to your MCP config.\n\nThe server is stateless and holds no credentials: OAuth access tokens are sealed wrappers around your own API token, decrypted per request and forwarded to the PayZu API — exactly as if you called the API directly.\n\n## Local server (stdio)\n\n`~/Library/Application Support/Claude/claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"payzu-pix\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"payzu-mcp-pix\"],\n      \"env\": { \"PAYZU_TOKEN\": \"<token>\" }\n    }\n  }\n}\n```\n\nRestart Claude Desktop. Test by asking _\"qual meu saldo PayZu?\"_ — Claude will call `account_balance` automatically.\n\n## Conventions\n\n- **Amounts in BRL decimals** (`99.90`, not `9990`). Centavos at input are rejected.\n- **`clientReference` required** on all create operations for idempotency.\n- **`callbackUrl` required** on creates so PayZu can notify status changes.\n- **Auto-retry** on 5xx/429 with exponential backoff + jitter (3 attempts).\n- **Errors include `errorCode` and `requestId`** propagated from the API.\n- **Zero admin endpoints** exposed — only public/user-facing API surface.\n\n## Custom base URL\n\nOverride the default base URL via env (useful if your account uses a custom endpoint):\n\n```json\n\"env\": {\n  \"PAYZU_TOKEN\": \"<your-token>\",\n  \"PAYZU_API_URL\": \"https://api.example.processamento.com/v1\"\n}\n```\n\n## Development\n\n```bash\npnpm install\npnpm -r build\ncd packages/pix && PAYZU_TOKEN=xxx node dist/index.js  # stdio mode\n```\n\nTest with MCP Inspector:\n\n```bash\nnpx @modelcontextprotocol/inspector node packages/pix/dist/index.js\n```\n\n## Related\n\n- Documentation: [docs.payzu.com.br](https://docs.payzu.com.br)\n- SDKs: [`payzu-pix`](https://www.npmjs.com/package/payzu-pix) (npm), [`payzu-pix`](https://pypi.org/project/payzu-pix/) (pypi)\n- llms-full.txt: [docs.payzu.com.br/llms-full.txt](https://docs.payzu.com.br/llms-full.txt)\n\n## License\n\nMIT\n",
  "bytes": 3460,
  "sha": "d58da95c8f752364f4abfc8897a2b4e4390a77da828871bfdee7d64416bfb687",
  "repo_slug": "payzuai/payzu-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_payzuai_payzu_mcp_ae357350/readme"
}