Skip to content

Regenerating-World/pix-mcp

Repository files navigation

Pix MCP Server v2.1.0

A lightweight Model Context Protocol (MCP) server that enables AI agents (Claude, Cursor, Windsurf) to generate static Pix QR codes via natural-language prompts.

πŸš€ Features

  • πŸ”§ MCP Tool:
    • generateStaticPix - Generate static Pix QR codes for any Pix key (no API required)
  • πŸš€ Production-ready: Comprehensive error handling and logging
  • πŸ”’ Type-safe: Full TypeScript implementation with Zod validation
  • πŸ“± QR Code generation: Automatic QR code creation for Pix payments
  • πŸ“¦ Zero Dependencies: No external API keys or services required
  • 🌍 Open & Accessible: Works without any registration or credentials
  • βœ… EMV 4.0 Compliant: Follows BACEN PIX standards with proper CRC16-CCITT validation

πŸš€ Quick Start

# Install globally
npm install -g pix-mcp

# Run in MCP mode (for Claude Desktop)
pix-mcp

# Run in HTTP mode (for web services)
MCP_MODE=http pix-mcp

πŸ”§ Usage

MCP Mode (Default)

# Start in MCP mode for Claude Desktop integration
pix-mcp

HTTP Mode

# Start in HTTP mode on port 3000
MCP_MODE=http pix-mcp

Making Requests

HTTP API

curl -X POST http://localhost:3000/tools/call \
  -H "Content-Type: application/json" \
  -d '{
    "name": "generateStaticPix",
    "arguments": {
      "pixKey": "10891990909",
      "amount": 100.50,
      "recipientName": "Franco Camelo Aguzzi",
      "recipientCity": "Florianopolis"
    }
  }'

MCP Tool

const result = await mcpClient.callTool('generateStaticPix', {
  pixKey: '10891990909',
  amount: 100.5,
  recipientName: 'Franco Camelo Aguzzi',
  recipientCity: 'Florianopolis',
});

πŸš€ Deployment

Railway

Deploy on Railway

⚠️ Important: After deploying to Railway, add these environment variables in the Railway dashboard:

  • MCP_MODE=http
  • NODE_ENV=production (optional)

Manual Deployment

# Clone the repository
git clone https://github.com/Regenerating-World/pix-mcp.git
cd pix-mcp

# Install dependencies
npm install

# Build the project
npm run build

# Start the server in HTTP mode
MCP_MODE=http NODE_ENV=production node dist/index.js

πŸ“ License

MIT

πŸ”§ Configuration

Environment Variables

  • MCP_MODE: Server mode (stdio for MCP, http for HTTP API) - Default: stdio
  • NODE_ENV: Environment (development/production) - Default: development
  • PORT: HTTP port when in HTTP mode - Default: 3000

πŸ€– Usage with Claude Desktop

MCP Configuration

// Add to your Claude Desktop MCP configuration
{
  "mcpServers": {
    "pix-mcp": {
      "command": "npx",
      "args": ["pix-mcp"],
      "env": {
        "MCP_MODE": "stdio"
      }
    }
  }
}

Then in Claude:

Create a Pix charge for R$25.50 to Maria Silva for lunch

πŸ”¨ Available Tools

generateStaticPix

Creates a static Pix payment QR code following BACEN EMV 4.0 standards.

Parameters:

  • pixKey (string): Valid Pix key (email, phone, CPF, CNPJ, or random key)
  • amount (number): Payment amount in BRL (0.01 to 999,999.99)
  • recipientName (string): Name of the payment recipient (max 25 chars)
  • recipientCity (string): City of the payment recipient (max 15 chars)

Returns:

  • Payment details (amount, recipient, city)
  • Pix copy-paste code (EMV format)
  • QR code image (base64 data URL)
  • Success status and message

Supported Pix Key Types:

  • πŸ“§ Email: example@email.com
  • πŸ“± Phone: +5511999999999
  • πŸ‘€ CPF: 12345678901 (11 digits)
  • 🏒 CNPJ: 12345678000195 (14 digits)
  • πŸ”‘ Random Key: 123e4567-e89b-12d3-a456-426614174000 (UUID format)

πŸ—οΈ Development

# Development mode with hot reload
npm run dev

# Run tests
npm test

# Build for production
npm run build

# Lint code
npm run lint

# Format code
npm run format

πŸ—ΊοΈ Roadmap

Phase 1: MVP βœ…

  • generateStaticPix tool
  • Static Pix QR code generation
  • QR code generation
  • Claude Desktop compatibility
  • EMV 4.0 compliance
  • CRC16-CCITT validation
  • All Pix key types support
  • Public deployment

Phase 2: MCP Discovery

  • Register with MCP registry

πŸ”’ Security & Validation

  • βœ… EMV 4.0 standard compliance
  • βœ… CRC16-CCITT checksum validation
  • βœ… Input validation with Zod schemas
  • βœ… Pix key format validation
  • βœ… Comprehensive error handling
  • βœ… Type-safe TypeScript implementation

⚠️ Important Notes

  • CPF/CNPJ Keys: Must be valid and registered as Pix keys
  • Test Data: Avoid using fake CPFs like 12345678900 - they will be rejected by banks
  • Static Codes: No expiration, recipient must check payments manually
  • Validation: All codes are EMV-compliant and pass bank validation

πŸ“ License

MIT License - see LICENSE file for details.

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

πŸ“ž Support


Made with ❀️ for the Brazilian Pix ecosystem

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published