agent-api-gateway-mcp
Structured web extraction MCP server for AI agents. URL + schema to validated product/article/company JSON via Agent API Gateway. Install with npx -y agent-api-gateway-mcp.
README
Agent API Gateway
Structured web data for AI agents. One API call.
Live product: https://agentapigw.dpdns.org (also https://agent-api-gateway.onrender.com)
Agents send a URL + schema type, get clean JSON. No markdown, no raw HTML — just fields.
For AI agents / crawlers
| Resource | URL |
|---|---|
| llms.txt | https://agentapigw.dpdns.org/llms.txt |
| agent.json | https://agentapigw.dpdns.org/agent.json |
| openapi.json | https://agentapigw.dpdns.org/openapi.json |
| For agents UI | https://agentapigw.dpdns.org/agents |
| Docs | https://agentapigw.dpdns.org/docs |
| Pricing JSON | https://agentapigw.dpdns.org/v1/billing/pricing |
Sister product StatusPlate (status pages): https://statusplate.agentapigw.dpdns.org/
curl -X POST https://agentapigw.dpdns.org/v1/extract \
-H "Authorization: Bearer sk-..." \
-H "Content-Type: application/json" \
-d '{"url": "https://store.com/product/123", "schema": "product"}'
Pricing & how to buy
| Plan | Price | What you get | Buy |
|---|---|---|---|
| Free | $0 | 100 queries/mo, API keys, product/article schemas | Dashboard |
| 1,000 credits | $1 once | One-time top-up; stacks on free or any subscription | Buy $1 |
| Hobby | $29/mo | 5,000 queries/mo (+ buy credit packs anytime) | Checkout |
| Pro | $99/mo | 25,000 queries/mo (+ credit packs for bursts) | Checkout |
Payments via Polar hosted checkout (card). Subscriptions set monthly limits; credit packs add bonus credits that stack and do not expire until used. After payment, use the dashboard to create API keys.
Public checkout API: POST /v1/billing/pricing/checkout with {"sku":"credits_1k"} → { url, session_id, amount_cents, credits }.
Public pricing API: GET https://agentapigw.dpdns.org/v1/billing/pricing (includes tiers + credit_packs).
Support
Business support email: support@agentapigw.dpdns.org
Polar public support email for org NexusCore (domain matches organization website https://agentapigw.dpdns.org).
Available schemas
| Schema | Returns |
|---|---|
product |
name, brand, price, currency, in_stock, rating, review_count, description, image, specs, availability |
article |
title, author, date, reading_time, excerpt, content_summary, topics |
company |
name, description, founded, size, funding_total, industry, location, competitors |
Auth
- Email + password (Better Auth) with required email verification
- Password reset via email
- GitHub OAuth (optional):
GITHUB_CLIENT_ID+GITHUB_CLIENT_SECRET - Google OAuth (optional):
GOOGLE_CLIENT_ID+GOOGLE_CLIENT_SECRET
Same-email social sign-in is auto-linked to an existing account (trusted providers).
Email verification
Email/password accounts must verify before a session is created.
- Set
RESEND_API_KEY(and optionallyEMAIL_FROMon a verified domain). - On sign-up, Better Auth emails a one-hour verification link.
- Unverified sign-in is blocked and can resend the link from
/login.
Locally without Resend, verification links are printed to the API console (not production).
GitHub OAuth
Create an OAuth App at https://github.com/settings/developers
| Field | Value |
|---|---|
| Homepage URL | https://agentapigw.dpdns.org |
| Authorization callback URL | https://agentapigw.dpdns.org/api/auth/callback/github |
Existing app (prod): Client ID Ov23liFQUYnTkcewcq2W → https://github.com/settings/applications/3733447
Generate a client secret there, then set both env vars on Render and restart.
Google OAuth
- Open Google Cloud Console → Credentials
- Create project (or pick one) → Create credentials → OAuth client ID
- Application type: Web application
- Authorized JavaScript origins:
https://agentapigw.dpdns.org(andhttp://localhost:3000for local) - Authorized redirect URIs:
https://agentapigw.dpdns.org/api/auth/callback/googlehttp://localhost:3000/api/auth/callback/google(local)
- Copy Client ID + Client secret → set
GOOGLE_CLIENT_IDandGOOGLE_CLIENT_SECRETon Render - Redeploy.
/healthshould show"google_oauth": true
GET /health includes "github_oauth": true|false so you can confirm config without leaking secrets.
Local development
cp .env.example .env
npm install
npm run test:product
npm run dev:api
curl http://localhost:3000/health
Architecture
Agent POST /v1/extract { url, schema }
Scraper fetches page HTML
LLM extracts structured JSON
Validator sanitizes business fields
Cache result
→ { name, price, in_stock, ... }
MCP server
export AGENT_API_KEY=sk-your-key # from dashboard; never commit
export API_BASE_URL=https://agentapigw.dpdns.org/v1
npm run mcp
Tools: extract, extract_product, extract_article, extract_company, list_schemas, get_usage.
Setup guide: docs/mcp.md
Legal
Security hygiene
.envis gitignored; use.env.examplefor placeholders only- Never commit API keys, OAuth secrets, or database URLs
npm run check:secretsscans tracked files for high-risk patterns- Server/MCP errors redact secrets before logging or client responses
Docs
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.