Skip to main content
Glama

PyPI version License: MIT CI Python 3.10+

Point One Percent โ€” pop-pay

The runtime security layer for AI agent commerce. Drop-in CLI + MCP server. Card credentials are injected directly into the browser DOM via CDP โ€” they never enter the agent's context window. One hallucinated prompt can't drain a wallet it can't see.

Install

Choose your preferred method:

pipx install "pop-pay[mcp]"
pip install "pop-pay[mcp]"
uv tool install "pop-pay[mcp]"
pip install "pop-pay"                  # core (keyword guardrail + mock provider)
pip install "pop-pay[mcp,browser]"     # CDP injection (browser automation)
pip install "pop-pay[mcp,llm]"         # LLM guardrails (OpenAI, Ollama, vLLM, OpenRouter)
pip install "pop-pay[stripe]"          # Stripe virtual card issuing
pip install "pop-pay[langchain]"       # LangChain integration
pip install "pop-pay[all]"             # everything

All install paths expose the CLI binaries: pop-launch, pop-init-vault, pop-unlock, and pop-pay (dashboard launcher).

Using Node.js / JavaScript? Check out pop-pay (npm) โ€” npm i -g pop-pay or brew install 100xpercent/tap/pop-pay. Same security model, same vault format, independent release cycle โ€” safe to switch between runtimes.

Related MCP server: ๐Ÿ‹ LemonCake โ€” Billing & budgets for AI agents

Quick Start (CLI)

1. Initialize the encrypted credential vault

pop-init-vault

This encrypts your card credentials into ~/.config/pop-pay/vault.enc (AES-256-GCM). For stronger protection (blocks agents with shell access):

pop-init-vault --passphrase   # one-time setup
pop-unlock                     # run once per session

2. Launch Chrome with CDP remote debugging

pop-launch

Opens a Chromium instance on http://localhost:9222 that pop-pay injects credentials into. Your agent (via MCP, browser automation, or x402) then drives the checkout flow โ€” card details never leave the browser process.

3. Open the monitoring dashboard (optional)

pop-pay

Real-time view of agent payment activity, budget utilization, and rejection logs.

4. Plug into your agent

Two supported integration paths:

  • MCP server โ€” add pop-pay to any MCP-compatible client (Claude Code, OpenClaw). See MCP Server below.

  • Python SDK / LangChain โ€” see Python SDK below.

MCP Server (optional)

The MCP server is invoked as a Python module and decrypts the vault at startup.

Add to your MCP client

{
  "mcpServers": {
    "pop-pay": {
      "command": "python3",
      "args": ["-m", "pop_pay.mcp_server"],
      "env": {
        "POP_CDP_URL": "http://localhost:9222"
      }
    }
  }
}
claude mcp add pop-pay -- python3 -m pop_pay.mcp_server

With environment variables:

claude mcp add pop-pay \
  -e POP_CDP_URL=http://localhost:9222 \
  -e POP_ALLOWED_CATEGORIES='["aws","cloudflare"]' \
  -e POP_MAX_PER_TX=100.0 \
  -e POP_MAX_DAILY=500.0 \
  -e POP_GUARDRAIL_ENGINE=keyword \
  -- python3 -m pop_pay.mcp_server

Compatible with any MCP host. See the Integration Guide for setup instructions and System Prompt templates.

docker-compose up -d

Runs the MCP server + headless Chromium with CDP. Mount your encrypted vault from the host. See docker-compose.yml for configuration.

MCP Tools

Tool

Description

request_virtual_card

Issue a virtual card and inject credentials into the checkout page via CDP.

request_purchaser_info

Auto-fill billing/contact info (name, address, email, phone).

request_x402_payment

Pay for API calls via the x402 HTTP payment protocol.

page_snapshot

Scan a checkout page for hidden prompt injections or anomalies.

Configuration

Core variables in ~/.config/pop-pay/.env. See ENV_REFERENCE.md for the full list.

Variable

Default

Description

POP_ALLOWED_CATEGORIES

["aws","cloudflare"]

Approved vendor categories โ€” see Categories Cookbook

POP_MAX_PER_TX

100.0

Max USD per transaction

POP_MAX_DAILY

500.0

Max USD per day

POP_BLOCK_LOOPS

true

Block hallucination/retry loops

POP_AUTO_INJECT

true

Enable CDP card injection

POP_GUARDRAIL_ENGINE

keyword

keyword (zero-cost) or llm (semantic)

Guardrail Mode

keyword (default)

llm

Mechanism

Keyword matching on reasoning string

Semantic analysis via LLM

Cost

Zero โ€” no API calls

One LLM call per request

Best for

Development, low-risk workflows

Production, high-value transactions

To enable LLM mode, see Integration Guide ยง1.

Providers

Provider

Description

BYOC (default)

Bring Your Own Card โ€” encrypted vault credentials, local CDP injection.

Stripe Issuing

Real virtual cards via Stripe API. Requires POP_STRIPE_KEY.

Lithic

Multi-issuer adapter (Stripe Issuing / Lithic).

Mock

Test mode with generated card numbers for development.

Priority: Stripe Issuing โ†’ BYOC Local โ†’ Mock.

Python SDK

Integrate pop-pay into custom Python or LangChain workflows:

from pop_pay.client import PopClient
from pop_pay.providers.stripe_mock import MockStripeProvider
from pop_pay.core.models import GuardrailPolicy

client = PopClient(
    provider=MockStripeProvider(),
    policy=GuardrailPolicy(
        allowed_categories=["API", "Cloud"],
        max_amount_per_tx=50.0,
        max_daily_budget=200.0,
    ),
)

# LangChain integration
from pop_pay.tools.langchain import PopPaymentTool
tool = PopPaymentTool(client=client, agent_id="agent-01")

See Integration Guide ยง2 for the full SDK and provider reference.

Security

Layer

Defense

Context Isolation

Card credentials never enter the agent's context window or logs

Encrypted Vault

AES-256-GCM with PBKDF2 key derivation and OS keyring integration

TOCTOU Guard

Domain verified at the moment of CDP injection โ€” blocks redirect attacks

Repr Redaction

Automatic masking (****-4242) in all MCP responses, logs, and tracebacks

See THREAT_MODEL.md for the full STRIDE analysis and COMPLIANCE_FAQ.md for enterprise details.

Architecture

  • Python โ€” Core engine, MCP server, guardrail logic, CLI

  • Cython โ€” Performance-critical vault operations and memory protection

  • Chrome DevTools Protocol โ€” Direct DOM injection via raw WebSocket

  • SQLite โ€” Local transaction auditing and state management

Documentation

License

MIT

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
2wRelease cycle
2Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    F
    maintenance
    Enables AI agents to perform financial transactions such as direct payments, escrows, and bounty management using natural language with zero code integration. It provides a comprehensive suite of tools for fund streaming, subscriptions, and reputation tracking to facilitate secure agent-to-agent commerce.
    Last updated
    29
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    AgentPay is the authorization layer between an AI agent and real spending. You define the rules โ€” spending caps, allowed merchants, time windows โ€” and every purchase attempt the agent makes is checked against them in real time. Approved transactions go through. Anything outside the mandate is blocked and logged. No more babysitting every agent action. No more runaway charges.
    Last updated
    MIT

View all related MCP servers

Related MCP Connectors

  • Agent Commerce Protocol MCP โ€” bridges Stripe ACP + Google AP2 + Coinbase x402 for agent payments

  • Agent credit issuance and scoring โ€” programmable credit lines on Base L2

  • Agent payments, API key vaulting, and governed mandates. Agents spend within user-defined limits.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/100xPercent/pop-pay-python'

If you have feedback or need assistance with the MCP directory API, please join our Discord server