1. Conduid
  2. Browser
  3. Qr For Agent API
MCP server · Browser

Qr For Agent API

QR-as-a-Service API for AI agents — 34 MCP tools, 11 QR types, dynamic links, scan analytics, webhooks, custom domains. REST API + MCP server.

Unclaimed MIT browser
34Low

Scored a month ago · breakdown

About Qr For Agent API

Qr For Agent API is an MCP server published by benswel in the Browser category: qR-as-a-Service API for AI agents — 34 MCP tools, 11 QR types, dynamic links, scan analytics, webhooks, custom domains. REST API + MCP server.

The repository has 3 stars and 1 forks, with the last commit 4 months ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/benswel/qr-for-agent-api

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (37)

bulk_create_from_csvCreate up to 500 QR codes from CSV data (Pro)

Parameters not published.

bulk_create_qr_codesCreate up to 50 QR codes at once

Parameters not published.

bulk_delete_qr_codesDelete up to 50 QR codes at once

Parameters not published.

bulk_update_qr_codesUpdate up to 50 QR codes at once

Parameters not published.

create_app_store_qrCreate a smart app store redirect QR code

Parameters not published.

create_email_qrCreate an email (mailto:) QR code

Parameters not published.

create_event_qrCreate a calendar event QR code

Parameters not published.

create_location_qrCreate a geo-location QR code

Parameters not published.

create_phone_qrCreate a phone call QR code

Parameters not published.

create_qr_codeCreate a URL QR code with optional custom styling

Parameters not published.

Show all 37 tools
create_sms_qrCreate an SMS QR code

Parameters not published.

create_social_qrCreate a social media links QR code

Parameters not published.

create_text_qrCreate a plain text QR code

Parameters not published.

create_vcard_qrCreate a vCard contact QR code

Parameters not published.

create_webhookRegister a webhook endpoint

Parameters not published.

create_wifi_qrCreate a WiFi credentials QR code

Parameters not published.

delete_qr_codeDelete a QR code and its analytics

Parameters not published.

delete_webhookDelete a webhook

Parameters not published.

get_conversionsGet conversion stats for a QR code

Parameters not published.

get_custom_domainGet current custom domain and DNS status

Parameters not published.

get_qr_analyticsGet scan stats and breakdowns

Parameters not published.

get_qr_codeGet QR code details by short ID

Parameters not published.

get_usageGet current usage and quota

Parameters not published.

list_qr_codesList all QR codes with pagination

Parameters not published.

list_webhooksList all registered webhooks

Parameters not published.

manage_billingOpen Stripe billing portal

Parameters not published.

record_conversionRecord a post-scan conversion event

Parameters not published.

registerRegister for an API key

Parameters not published.

set_custom_domainSet or remove custom domain (Pro)

Parameters not published.

set_redirect_rulesSet conditional redirect rules on a QR code

Parameters not published.

set_utm_paramsSet UTM tracking parameters on a QR code

Parameters not published.

update_app_store_qrUpdate an app store QR code

Parameters not published.

update_qr_destinationChange where a QR code redirects

Parameters not published.

update_social_qrUpdate a social media QR code

Parameters not published.

update_vcard_qrUpdate a vCard QR code

Parameters not published.

update_wifi_qrUpdate a WiFi QR code

Parameters not published.

upgrade_to_proCreate a Stripe Checkout session

Parameters not published.

Ask AI

✦

Ask AI about Qr For Agent API

Powered by Claude · Grounded in docs

I know everything about Qr For Agent API. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 4 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.

1 check has not been run yet.

Releases

v0.12.1v0.12.1 · 23 Mar 2026QR Agent Core v0.12.1 QR-as-a-Service API for AI agents — 37 MCP tools, 11 QR types, custom styling, analytics, webhooks, and more. Highlights 37 MCP tools — full QR code lifecycle from any AI agent 11 QR types — URL, vCard, WiFi, Email,…

README

QR for Agent

benswel/qr-for-agent-api MCP server

QR-as-a-Service API built for AI agents. Create, update, and track dynamic QR codes programmatically via REST API or MCP (37 tools).

QR codes point to short URLs (/r/:shortId) that you can retarget at any time — the QR image never changes, but scanning it goes to the new destination. Multi-tenant by design, with full scan analytics.

Live API: api.qrforagent.com  |  Site: qrforagent.com  |  MCP: qr-for-agent

Features

  • Dynamic QR codes — change the destination URL without regenerating the image
  • 11 QR types — URL, vCard, WiFi, Email, SMS, Phone, Event, Text, Location, Social, App Store
  • Custom styling — dot shapes (square, rounded, dots, classy-rounded), corner styles, colors, gradients, logo embedding, frames with CTA text
  • SVG & PNG — vector and bitmap output
  • Enriched analytics — device type, browser, OS, country, city, referrer, scans-by-day
  • Real-time webhooks — HMAC-SHA256 signed payloads with delivery logging
  • UTM tracking — auto-append UTM parameters to redirect URLs
  • GTM support — intermediate page with Google Tag Manager snippets
  • Conditional redirects — route by device, OS, country, language, time range, or A/B split
  • Custom domains — Pro users brand short URLs with their own domain (qr.yourbrand.com/r/abc123)
  • Expiration & scheduling — auto-expire QR codes or schedule URL swaps
  • Conversion tracking — tracking pixel + API for post-scan events (purchases, signups) with ROI analytics
  • Frames & templates — decorative frames around QR codes (banner_top, banner_bottom, rounded) with CTA text
  • Bulk operations — create, update, or delete up to 50 QR codes per request, or up to 500 via CSV upload (Pro)
  • Multi-tenant — each API key sees only its own data
  • MCP server — qr-for-agent with 37 tools for Claude Desktop, Cursor, etc.
  • Plan-based quotas — Free (10 QR, 1K scans/month) and Pro ($19/month, unlimited)
  • Self-service registration — POST /api/register with email, no credit card
  • Stripe integration — checkout, billing portal, webhook-driven plan management
  • OpenAPI docs — Swagger UI at /documentation
  • AI-discoverable — /.well-known/ai-plugin.json and /.well-known/mcp.json
  • Open source — MIT license, self-hostable via Docker

Quick Start

git clone https://github.com/benswel/qr-for-agent-api.git
cd qr-for-agent-api
npm install
npm run dev

On first startup, an API key is auto-generated and printed to the console.

curl -X POST http://localhost:3100/api/qr \
  -H "Content-Type: application/json" \
  -H "X-API-Key: qr_YOUR_KEY_HERE" \
  -d '{"target_url": "https://example.com", "label": "My first QR"}'

API Endpoints

QR Code Management (X-API-Key required)

Method Path Description
POST /api/qr Create a QR code (11 types, custom styling)
GET /api/qr List all QR codes (paginated)
GET /api/qr/:shortId Get QR code details
PATCH /api/qr/:shortId Update target URL, label, UTM, GTM, redirect rules
DELETE /api/qr/:shortId Delete QR code and its analytics
GET /api/qr/:shortId/image Download QR image (regenerated with stored style)
POST /api/qr/bulk Create up to 50 QR codes (all-or-nothing)
PATCH /api/qr/bulk Update up to 50 QR codes (partial success)
DELETE /api/qr/bulk Delete up to 50 QR codes (partial success)
POST /api/qr/bulk/csv Create up to 500 QR codes from CSV (Pro only)

Analytics (X-API-Key required)

Method Path Description
GET /api/analytics/:shortId Scan stats with device, browser, OS, country, city breakdowns + conversions

Conversions (X-API-Key required)

Method Path Description
POST /api/conversions Record a conversion event for a QR code you own
GET /api/conversions/:shortId Get conversion stats (totals, by_event, by_day, recent)

Webhooks (X-API-Key required)

Method Path Description
POST /api/webhooks Register webhook endpoint (returns HMAC secret)
GET /api/webhooks List all webhooks
DELETE /api/webhooks/:id Delete a webhook

Custom Domain (X-API-Key required, Pro only)

Method Path Description
GET /api/domain Get current custom domain and DNS status
PUT /api/domain Set custom domain
DELETE /api/domain Remove custom domain

Account (X-API-Key required)

Method Path Description
GET /api/usage Current usage and quota
POST /api/stripe/checkout Create Stripe Checkout session (upgrade to Pro)
POST /api/stripe/portal Open Stripe billing portal

Public (no auth)

Method Path Description
POST /api/register Self-service API key registration (rate-limited)
GET /r/:shortId Redirect to target URL (records scan)
GET /t/:shortId Conversion tracking pixel (returns 1×1 GIF)
GET /i/:shortId Serve QR image (cacheable)
GET /health Health check
GET /documentation Swagger UI
GET /.well-known/ai-plugin.json AI plugin manifest
GET /.well-known/mcp.json MCP discovery manifest

Admin (X-Admin-Secret header required)

Method Path Description
GET /api/admin/keys List all registered API keys
GET /api/admin/stats Dashboard metrics

Authentication

All /api/* endpoints require an X-API-Key header.

  • Format: qr_ + 32-character random string
  • Auto-generated: on first startup if no keys exist
  • Multi-tenant: each key only sees its own QR codes
  • Create a key: npm run key:create "my-label"
  • List keys: npm run key:list

Public endpoints (/r/*, /i/*, /health, /documentation, /.well-known/*) don't require auth.

MCP Server

Published as qr-for-agent on npm. 37 tools for AI agents to manage QR codes natively.

npx qr-for-agent

Claude Desktop / Cursor

Add to your MCP config (claude_desktop_config.json or .cursor/mcp.json):

{
  "mcpServers": {
    "qr-for-agent": {
      "command": "npx",
      "args": ["-y", "qr-for-agent"],
      "env": {
        "API_KEY": "your-api-key",
        "BASE_URL": "https://api.qrforagent.com"
      }
    }
  }
}

Available Tools (37)

Tool Description
create_qr_code Create a URL QR code with optional custom styling
get_qr_code Get QR code details by short ID
update_qr_destination Change where a QR code redirects
list_qr_codes List all QR codes with pagination
delete_qr_code Delete a QR code and its analytics
get_qr_analytics Get scan stats and breakdowns
bulk_create_qr_codes Create up to 50 QR codes at once
bulk_update_qr_codes Update up to 50 QR codes at once
bulk_delete_qr_codes Delete up to 50 QR codes at once
create_vcard_qr Create a vCard contact QR code
create_wifi_qr Create a WiFi credentials QR code
create_email_qr Create an email (mailto:) QR code
create_sms_qr Create an SMS QR code
create_phone_qr Create a phone call QR code
create_event_qr Create a calendar event QR code
create_text_qr Create a plain text QR code
create_location_qr Create a geo-location QR code
create_social_qr Create a social media links QR code
create_app_store_qr Create a smart app store redirect QR code
update_vcard_qr Update a vCard QR code
update_wifi_qr Update a WiFi QR code
update_social_qr Update a social media QR code
update_app_store_qr Update an app store QR code
create_webhook Register a webhook endpoint
list_webhooks List all registered webhooks
delete_webhook Delete a webhook
register Register for an API key
get_usage Get current usage and quota
upgrade_to_pro Create a Stripe Checkout session
manage_billing Open Stripe billing portal
set_utm_params Set UTM tracking parameters on a QR code
set_redirect_rules Set conditional redirect rules on a QR code
set_custom_domain Set or remove custom domain (Pro)
get_custom_domain Get current custom domain and DNS status
bulk_create_from_csv Create up to 500 QR codes from CSV data (Pro)
record_conversion Record a post-scan conversion event
get_conversions Get conversion stats for a QR code

Configuration

Copy .env.example to .env and edit:

Variable Default Description
PORT 3100 HTTP port
HOST 0.0.0.0 Bind address
BASE_URL http://localhost:3100 Public URL (used in short URLs)
DATABASE_URL ./data/qr-agent.db SQLite file path
SHORT_ID_LENGTH 8 Length of generated short IDs
ADMIN_SECRET (none) Secret for admin endpoints (X-Admin-Secret header)
STRIPE_SECRET_KEY (none) Stripe API secret key
STRIPE_WEBHOOK_SECRET (none) Stripe webhook signing secret
STRIPE_PRICE_ID (none) Stripe Price ID for Pro plan

Database

SQLite with Drizzle ORM. Six tables:

  • api_keys — key storage with label, email, plan (free/pro), Stripe IDs, custom domain
  • qr_codes — QR metadata, target URLs, type/type_data, style options, UTM, GTM, redirect rules, expiration/scheduling
  • scan_events — scan tracking: timestamp, user-agent, referer, IP, device, browser, OS, country, city
  • webhooks — webhook endpoints per API key, HMAC secret, subscribed events
  • webhook_deliveries — delivery log: status, response code, error messages
  • conversion_events — conversion tracking: event name, value, metadata, referer, IP, timestamp
npm run db:generate   # Generate migration from schema changes
npm run db:migrate    # Apply pending migrations
npm run db:studio     # Open Drizzle Studio (web UI)

Migrations run automatically on server startup.

Deployment

Docker

docker compose up -d

The database is persisted in a Docker volume.

Railway

The project includes railway.toml and a multi-stage Dockerfile. Connect your GitHub repo to Railway — it builds and deploys automatically with health checks on /health.

Tests

195 integration tests covering all endpoints, auth, multi-tenant isolation, QR types, webhooks, bulk operations, custom domains, frames, conversions, CSV upload, and analytics.

npm test           # Run all tests
npm run test:watch # Watch mode

Scripts

Script Description
npm run dev Start dev server with auto-reload
npm run build Compile TypeScript
npm start Run production server
npm test Run test suite
npm run test:watch Tests in watch mode
npm run key:create Create API key
npm run key:list List API keys
npm run db:generate Generate migration
npm run db:migrate Run migrations
npm run db:studio Open Drizzle Studio

License

MIT

README fetched from the repository 4 days ago. The original is authoritative.

Questions

About Qr For Agent API

How do I install Qr For Agent API?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Qr For Agent API safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 5 of the 5 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Qr For Agent API still maintained?

Yes — the last commit was 4 months ago. The repository has 3 stars and 1 forks and 1 open issues.