AgentGate MCP Server
AgentGate
Stripe + Auth0 for AI Agents ā The machine-readable infrastructure and programmable payment layer for autonomous AI agents.
What is AgentGate?
AgentGate solves the three structural barriers blocking autonomous AI agents from operating on the real web:
Barrier | Solution |
š§ Navigation ā HTML built for humans | DOM-to-MCP Synthesizer (Playwright) |
š Identity ā Raw keys in prompts | OAuth 2.1 PKCE + MCP-I scoped tokens |
š³ Payment ā No physical card | Stripe Issuing single-use virtual cards |
Project Structure
agent gate/
āāā apps/
ā āāā landing/ # Marketing landing page (HTML/CSS/JS)
ā āāā dashboard/ # Developer dashboard (Next.js 14)
āāā packages/
ā āāā api/ # Core Proxy API (Fastify/TypeScript)
ā āāā mcp-server/ # @agentgate/mcp-server npm package
āāā sdk/
ā āāā antigravity/ # Google Antigravity 2.0 integration
ā āāā skills/agentgate/SKILL.md
ā āāā main.py
āāā docs/
āāā business-plan.mdQuick Start
1. Clone & Install
git clone https://github.com/your-org/agentgate
cd agentgate
# Install API dependencies
cd packages/api && npm install
# Install MCP server dependencies
cd ../mcp-server && npm install2. Configure Environment
# packages/api/.env
STRIPE_SECRET_KEY=sk_test_...
STRIPE_ISSUING_WEBHOOK_SECRET=whsec_...
JWT_SECRET=your-super-secret-key-min-32-chars
PORT=4000
NODE_ENV=development3. Start the API
cd packages/api
npm run dev
# ā AgentGate API running on http://localhost:40004. Test the health endpoint
curl http://localhost:4000/health
# ā { "status": "ok", "service": "agentgate-api", "version": "1.0.0" }Core API Reference
OAuth 2.1 ā Issue Agent Token
curl -X POST http://localhost:4000/oauth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type": "client_credentials",
"client_id": "my-agent-app",
"client_secret": "my-secret",
"scope": "mcp:read mcp:execute payment:issue"
}'Response:
{
"access_token": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600,
"scope": "mcp:read mcp:execute payment:issue",
"agent_id": "agent_a1b2c3d4..."
}MCP Tool Discovery
curl -X POST http://localhost:4000/mcp/discover \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{ "url": "https://shop.example.com" }'Response:
{
"session_id": "sess_...",
"title": "Example Shop",
"tools": [
{
"name": "search_content",
"description": "Search the page for products...",
"inputSchema": { "type": "object", "properties": { "query": { "type": "string" } }, "required": ["query"] }
},
{
"name": "add_to_cart",
"description": "Add the currently viewed product to the shopping cart.",
"inputSchema": { "type": "object", "properties": { "quantity": { "type": "number" } }, "required": [] }
},
{
"name": "fill_checkout",
"description": "Fill in the checkout form...",
"inputSchema": { "type": "object", "properties": { "email": {...}, "card_number": {...} } }
}
],
"latency_ms": 847
}MCP Tool Execution (JSON-RPC 2.0)
curl -X POST http://localhost:4000/mcp/execute \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": "1",
"method": "tools/call",
"params": {
"name": "search_content",
"arguments": { "query": "wireless keyboard" },
"context": { "target_url": "https://shop.example.com" }
}
}'Issue Virtual Card
curl -X POST http://localhost:4000/payments/issue-card \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"merchant_domain": "shop.example.com",
"amount_limit_cents": 8000,
"currency": "usd"
}'Google Antigravity Integration
from google.antigravity import Agent, LocalAgentConfig
from google.antigravity.types import McpStdioServer
config = LocalAgentConfig(
system_instructions="You are an autonomous buyer agent.",
mcp_servers=[
McpStdioServer(
name="agentgate_mcp_proxy",
command="npx",
args=["-y", "@agentgate/mcp-server"],
env={"AGENTGATE_API_KEY": "ag_live_..."}
)
]
)
async with Agent(config) as agent:
response = await agent.chat(
"Go to developer-tool-x.com, purchase the Starter plan for $29, return the confirmation ID."
)
print(await response.text())See sdk/antigravity/main.py for the full runtime example.
Stripe Issuing Webhook
Configure your Stripe dashboard webhook to send issuing_authorization.request events to:
https://your-domain.com/webhooks/stripe-issuingTest locally with Stripe CLI:
stripe listen --forward-to localhost:4000/webhooks/stripe-issuingArchitecture
AI Agent (Antigravity/LangChain/Claude)
ā
ā OAuth 2.1 PKCE token request
ā¼
AgentGate Proxy API (Fastify/TypeScript)
ā
āāā Layer 1: Identity & Auth Middleware (OAuth 2.1 / MCP-I)
āāā Layer 2: DOM-to-MCP Synthesizer (Playwright/Chromium)
āāā Layer 3: Payment Engine (Stripe Issuing)
ā
ā¼
Target Web Application
(E-commerce / SaaS / Legacy HTML)Pricing
Plan | Price | MCP Calls | Virtual Cards |
Starter | Free | 1,000/mo | 10/mo |
Pro | $299/mo | 100,000/mo | Unlimited |
Enterprise | $999/mo | Unlimited | Unlimited |
All plans: 1.2% + $0.15 per programmatic transaction.
License
MIT Ā© 2026 AgentGate, Inc.