How to automate QR code campaigns with MCP

Step-by-step guide to automating QR code campaign creation, workflow setup, and analytics retrieval using the Model Context Protocol (MCP) with Claude Code or any MCP-compatible AI client.

Developer
11 min read
By Laurent Schaffner
Updated June 6, 2026

Short answer

You can automate QR code campaign creation, workflow configuration, and analytics retrieval by connecting an MCP-compatible AI client (Claude Code, Claude Desktop, or Continue) to the Linkbreakers MCP server. Once connected, you describe campaign operations in natural language and the AI executes them as API calls against your Linkbreakers workspace. This replaces manual dashboard navigation and custom API integration code with conversational automation.

Quick summary

  • MCP (Model Context Protocol) is an open standard that lets AI assistants call functions on external services
  • The Linkbreakers MCP server is hosted at https://mcp.linkbreakers.com — no installation required
  • Setup takes under 2 minutes: create a workspace token, run one configuration command
  • AI can automate the full campaign lifecycle: create links, build workflows, generate QR codes, pull analytics
  • Bulk operations that take hours in a dashboard can be completed in seconds through conversation
  • The MCP server supports 35+ operations covering links, workflows, QR designs, analytics, domains, media, visitors, and tags

What is MCP

The Model Context Protocol (MCP) is an open protocol developed by Anthropic that standardizes how AI assistants connect to external tools and data sources. It defines a structured way for an AI model to discover available operations on a remote service, understand their parameters, and call them during a conversation. MCP replaces the need for custom API client code — instead of writing SDK integration, you configure a connection and interact through natural language. The protocol uses HTTP and JSON, supports authentication via headers, and works with any service that implements an MCP server.

Setup

Prerequisites

Before starting, you need:

  1. A Linkbreakers account with an active workspace
  2. A workspace token (created in Dashboard > Settings > API Tokens)
  3. An MCP-compatible AI client

Setup for Claude Code (one command)

Claude Code is Anthropic's command-line AI assistant. Adding the Linkbreakers MCP server takes one command:

Bash
claude mcp add --transport http linkbreakers https://mcp.linkbreakers.com \
  --header "Authorization: Bearer YOUR_WORKSPACE_TOKEN"

Replace YOUR_WORKSPACE_TOKEN with the token from your Linkbreakers dashboard. Restart Claude Code after running this command.

Setup for Claude Desktop

Add the following to your claude_desktop_config.json:

JSON
{
  "mcpServers": {
    "linkbreakers": {
      "url": "https://mcp.linkbreakers.com",
      "headers": {
        "Authorization": "Bearer YOUR_WORKSPACE_TOKEN"
      }
    }
  }
}

The config file is located at:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Setup for Claude (web app)

Use the custom Connectors feature:

  1. Open Claude Settings and go to Connectors
  2. Click Add custom connector
  3. Enter the name linkbreakers, server URL https://mcp.linkbreakers.com, and header Authorization: Bearer YOUR_WORKSPACE_TOKEN
  4. Save and reconnect

Setup for Continue (VS Code)

Add to ~/.continue/config.yaml:

YAML
mcpServers:
  - name: linkbreakers
    transport:
      type: streamable-http
      url: https://mcp.linkbreakers.com
      headers:
        Authorization: Bearer YOUR_WORKSPACE_TOKEN

Verifying the connection

After setup, test with a simple prompt:

"List my Linkbreakers links."

If configured correctly, the AI will call the links_list tool and return your workspace links. If tools do not appear, verify your token is correct and includes the Bearer prefix, then restart your AI client.

Campaign automation walkthrough

This section walks through a complete campaign lifecycle using MCP — from creating the initial link to checking performance after launch.

Start with a prompt that describes the campaign:

"Create a tracked link for our Q3 product launch at https://shop.example.com/q3-launch. Use the slug 'q3-launch', name it 'Q3 Product Launch', and tag it with 'q3-campaign', 'product', and 'launch-2026'."

The AI calls links_create with these parameters and returns the short URL (e.g., lbr.ai/q3-launch), the link ID, and the creation timestamp.

Step 2: Add workflow steps

Now build a customer journey on top of the link:

"Add a workflow to the Q3 Product Launch link. First step: a form collecting the visitor's name, email, and company. Second step: redirect to the product page at https://shop.example.com/q3-launch/details."

The AI calls workflow_steps_create twice — once for the form step and once for the redirect step — then calls workflow_steps_create_relationship to connect them in sequence. It returns the step IDs and the workflow structure.

Step 3: Configure conditional routing (optional)

Add geographic targeting:

"Before the form step, add a country condition. Route visitors from the US and Canada to https://us.shop.example.com/q3-launch, and route everyone else through the form step we just created."

The AI inserts a country condition step at the beginning of the workflow and reconfigures the relationships.

Step 4: Generate a QR code design

Customize the QR code appearance:

"Create a QR code design for the Q3 Product Launch link with a dark blue foreground (#1a365d) and white background."

The AI calls qrcodedesigns_create with the color parameters and link reference.

Step 5: Check analytics after launch

Once the campaign is live and QR codes are printed, pull performance data:

"Show me the scan metrics for the Q3 Product Launch link. How many total scans, how many unique visitors, and what are the top countries?"

The AI calls events_list and metrics_workspace to aggregate scan data, then presents a formatted summary with totals, unique visitor counts, and geographic breakdowns.

Step 6: Iterate based on results

Use insights to refine the campaign:

"The US is generating the most scans. Update the default redirect destination to our US-specific landing page at https://us.shop.example.com/q3-special."

The AI calls links_update to change the destination URL.

Bulk operations

MCP is particularly powerful for repetitive operations. Instead of clicking through the dashboard for each item, describe the entire batch:

"Create 25 tracked links for each city in our retail expansion. Here are the cities and store page URLs: [list]. Tag each link with 'retail-expansion' and the city name. Use the city name as the slug."

The AI calls links_create_bulk with all 25 entries, applying consistent tagging. This completes in seconds rather than the 15-20 minutes it would take through the dashboard.

Generating contact cards for a team

"Create contact cards for each person on this list: [names, titles, emails, phone numbers]. Each card should enable WhatsApp, include their LinkedIn URL, and use 'Save my contact' as the button label."

The AI creates individualized vCard workflow steps for each team member, each with social links and messaging integration.

"List all links that don't have any tags. Add the tag 'untagged-review' to each of them so we can organize them later."

The AI calls links_list to find untagged links, then calls links_update for each to add the tag.

MCP versus traditional API integration

To understand the practical difference, compare how you would create a campaign link with a workflow using the traditional SDK approach versus MCP.

Traditional approach (TypeScript SDK)

TypeScript
import { Configuration, LinksApi, WorkflowStepsApi } from 'linkbreakers';

const config = new Configuration({
  accessToken: process.env.LINKBREAKERS_SECRET_KEY,
  basePath: 'https://api.linkbreakers.com',
});

const linksApi = new LinksApi(config);
const workflowApi = new WorkflowStepsApi(config);

// Step 1: Create the link
const linkResponse = await linksApi.linksServiceCreate({
  createLinkRequest: {
    destination: 'https://shop.example.com/q3-launch',
    slug: 'q3-launch',
    name: 'Q3 Product Launch',
    tags: ['q3-campaign', 'product'],
  },
});
const linkId = linkResponse.link.id;

// Step 2: Create form step
const formStep = await workflowApi.workflowStepsServiceCreate({
  createWorkflowStepRequest: {
    linkId,
    type: 'FORM',
    config: {
      fields: [
        { name: 'name', type: 'text', required: true },
        { name: 'email', type: 'email', required: true },
        { name: 'company', type: 'text', required: false },
      ],
    },
  },
});

// Step 3: Create redirect step
const redirectStep = await workflowApi.workflowStepsServiceCreate({
  createWorkflowStepRequest: {
    linkId,
    type: 'REDIRECT',
    config: { url: 'https://shop.example.com/q3-launch/details' },
  },
});

// Step 4: Connect steps
await workflowApi.workflowStepsServiceCreateRelationship({
  createRelationshipRequest: {
    parentStepId: formStep.workflowStep.id,
    childStepId: redirectStep.workflowStep.id,
  },
});

This requires 30+ lines of code, SDK installation, environment variable management, and deployment infrastructure.

MCP approach (natural language)

"Create a tracked link for https://shop.example.com/q3-launch with slug 'q3-launch', name 'Q3 Product Launch', and tags 'q3-campaign' and 'product'. Add a form step collecting name, email, and company, then redirect to https://shop.example.com/q3-launch/details."

One prompt. No code. No deployment. The AI chains the same API calls behind the scenes.

When to use each

Use the SDK when:

  • Building a production application that creates links or workflows programmatically
  • Integrating QR code generation into an existing software product
  • Running automated pipelines in CI/CD environments where reproducibility matters
  • You need fine-grained error handling and retry logic

Use MCP when:

  • Setting up campaigns ad hoc or on short timelines
  • Prototyping workflows before committing to code
  • Running one-time bulk operations
  • Pulling analytics reports conversationally
  • Non-technical team members need to interact with the platform programmatically

Available MCP operations

The Linkbreakers MCP server exposes the following operations:

Operation Tool name Description
Create link links_create Create a tracked short link
List links links_list List links with filters
Get link links_get Get details for a specific link
Update link links_update Update link settings
Delete link links_delete Remove a link
Bulk create links_create_bulk Create multiple links at once

Workflows

Operation Tool name Description
Create step workflow_steps_create Add a workflow step to a link
List steps workflow_steps_list List steps for a link
Get step workflow_steps_get Get step details
Update step workflow_steps_update Modify step configuration
Delete step workflow_steps_delete Remove a workflow step
Connect steps workflow_steps_create_relationship Wire steps in sequence

Analytics

Operation Tool name Description
List events events_list Retrieve scan event timeline
Workspace metrics metrics_workspace Get workspace-level statistics

QR codes

Operation Tool name Description
Create design qrcodedesigns_create Create a QR code design
Update design qrcodedesigns_update Modify a QR code design
List templates qrtemplates_list List QR code templates
Get template qrtemplates_get Get template details
Create template qrtemplates_create Create a reusable QR template
Update template qrtemplates_update Modify a QR template
Delete template qrtemplates_delete Remove a QR template
Publish template qrtemplates_publish Publish a QR template

Visitors

Operation Tool name Description
List visitors visitors_list List visitors with filters
Get visitor visitors_get Get visitor details
List attributes visitors_list_attribute_keys List visitor attribute keys

Domains

Operation Tool name Description
Create domain domains_create Add a custom domain
List domains domains_list List custom domains
Get domain domains_get Get domain details
Check domain domains_check Verify DNS and TLS status

Media and tags

Operation Tool name Description
Create media media_create Upload a media asset
List media media_list List media assets
Get media media_get Get media details
Delete media media_delete Remove a media asset
List tags tags_list Search and list tags

Page themes

Operation Tool name Description
List themes page_themes_list List page themes
Get theme page_themes_get Get theme details
Update theme page_themes_update Modify a page theme

Rate limits

The MCP server inherits standard Linkbreakers API rate limits. Limits depend on your workspace plan:

  • Free plan: 1,000 API calls per day
  • Paid plans: Higher limits based on tier

Each MCP operation maps to one or more API calls. A simple links_create is one call. A multi-step workflow creation may use 4-6 calls (link creation + step creation + relationship wiring). Bulk operations count as one call per batch.

If you hit rate limits during bulk operations, the AI will report the error and you can wait before continuing. For sustained high-volume automation, consider using the REST API with SDKs and proper retry logic instead of MCP.

Frequently asked questions

Can I automate MCP operations on a schedule? MCP is designed for interactive, conversational use. For scheduled automation (cron jobs, recurring campaigns), use the Linkbreakers CLI or REST API with SDKs. MCP is best for ad-hoc campaign setup, one-time bulk operations, and conversational analytics.

Does MCP support webhooks or real-time notifications? No. MCP is a request-response protocol. For real-time notifications when QR codes are scanned, use Linkbreakers webhooks configured through the dashboard or API.

Can multiple team members use MCP at the same time? Yes. Each team member should create their own workspace token and configure their own AI client. All tokens authenticate against the same workspace, so operations from any team member affect the same data. Use descriptive token names (e.g., "Claude Code - Sarah's MacBook") for audit clarity.

What happens if the AI makes an error during a multi-step operation? Each MCP operation is atomic. If step 3 of a 5-step workflow fails, steps 1 and 2 are already committed. The AI will report the error and you can ask it to retry the failed step or adjust the parameters. You can also review and fix partial results in the dashboard.

Is there a way to preview changes before the AI executes them? MCP operations execute immediately when the AI calls them. To add a review step, instruct the AI: "Show me the parameters you would use to create this link, but don't create it yet." The AI will display the planned API call without executing it. You can then confirm or adjust.

Can I use MCP with AI tools other than Claude? Yes. Any AI tool that implements the MCP client specification can connect to the Linkbreakers MCP server. The protocol is open and documented at modelcontextprotocol.io. Currently tested clients include Claude Code, Claude Desktop, Claude (web), and Continue (VS Code).

Limits and caveats

  • MCP is designed for interactive use. For production automation pipelines, use the REST API with SDKs.
  • API rate limits apply to all MCP operations. High-volume bulk operations may hit limits on free plans.
  • The MCP server is stateless and does not cache results. Repeated queries execute fresh API calls.
  • Visual QR code design preview is not available through MCP. Use the dashboard for visual design refinement.
  • Complex workflow debugging may be easier in the dashboard where you can see the step graph visually.
  • Feature availability and limits can vary by plan and workspace setup.
  • The AI may occasionally misinterpret ambiguous prompts. Be specific about parameters like slugs, tags, and URLs.

Last reviewed

This article was last reviewed on June 6, 2026.

About the Author

LS

Laurent Schaffner

Founder & Engineer at Linkbreakers

Passionate about building tools that help businesses track and optimize their digital marketing efforts. Laurent founded Linkbreakers to make QR code analytics accessible and actionable for companies of all sizes.