AgentGate MCP Server

AgentGate MCP Server

Provides AI agents with secure MCP tools to navigate, authenticate, and transact on web applications via OAuth 2.1 and Stripe Issuing.

Category
Visit Server

README

AgentGate

Stripe + Auth0 for AI Agents — The machine-readable infrastructure and programmable payment layer for autonomous AI agents.

License: MIT Protocol: MCP 2024-11-05 Auth: OAuth 2.1 Payments: Stripe Issuing


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.md

Quick 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 install

2. 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=development

3. Start the API

cd packages/api
npm run dev
# → AgentGate API running on http://localhost:4000

4. 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-issuing

Test locally with Stripe CLI:

stripe listen --forward-to localhost:4000/webhooks/stripe-issuing

Architecture

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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured