MCP / AI Integration

Connect AI assistants to AWSYS.CO via the Model Context Protocol

The AWSYS.CO MCP server implements the Model Context Protocol (version 2024-11-05) over stateless Streamable HTTP. It exposes 54 tools that AI assistants such as Claude can call to create links, view analytics, manage folders, configure webhooks, and more — all through natural-language conversation.

Protocol Details

PropertyValue
ProtocolMCP 2024-11-05 (Streamable HTTP, stateless JSON-RPC 2.0)
EndpointPOST https://awsys.co/mcp
Server nameawsys-shortener
Server version1.5.0+1
TransportEach POST is self-contained — no persistent connections or sessions required

Authentication

The AWSYS MCP server accepts two authentication methods:

  • OAuth 2.1 (recommended for Claude.ai connector) — Connect via the Claude.ai UI without copying an API key. Full PKCE flow, refresh tokens, and automatic re-auth. See OAuth 2.1 docs.
  • API Key (existing integrations) — Pass your awsys_... key as a Bearer token. Works alongside OAuth with no migration required.
Authorization: Bearer YOUR_API_KEY

The key is hashed and matched against your account. Tier access is evaluated live on every call — upgrading or downgrading takes effect immediately.

Quick Start with Claude

If you are using Claude via the Claude Code CLI or the Claude.ai web interface with MCP support, add the AWSYS.CO server to your configuration:

{
  "mcpServers": {
    "awsys": {
      "type": "http",
      "url": "https://awsys.co/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Once connected, you can ask Claude things like:

  • "Shorten https://example.com/launch with the slug launch"
  • "Show me clicks for the last 7 days on my launch link"
  • "Create a folder called Marketing and move my last 3 links into it"
  • "Set up a webhook to notify https://my-server.com/hook on link clicks"

Available Tools (54)

Links

ToolDescription
shorten_urlCreate a short link with full options (namespace, slug, expiry, geo, OG, routing)
list_linksPaginated list of your links
get_linkDetails for a single link by short code
update_linkModify destination, expiry, click cap, routing, OG metadata, or geo rules
delete_linkPermanently remove a link
bulk_shortenCreate up to 50 links in one request (Builder+)
get_recent_clicksRecent click events across all your links

Analytics

ToolDescription
get_link_statsClick analytics for a link (24h / 7d / 30d)
get_aggregate_statsAggregated analytics with day buckets, geo breakdown, device breakdown
get_usageTotal links/clicks, tracked click usage, overage details

QR Codes

ToolDescription
get_qr_codeQR code image URL for a link (with optional size/color params)
get_qr_settingsRetrieve saved QR customization settings for a link
update_qr_settingsSave QR color, logo, and error correction settings for a link

Folders

ToolDescription
list_foldersList link folders
create_folderCreate a new folder
update_folderRename or change the color of a folder
delete_folderDelete a folder (links are unassigned, not deleted)
assign_link_to_folderMove a link into a folder

Tags, UTM Templates, Saved Views

ToolDescription
add_link_tagAdd a tag to a link
remove_link_tagRemove a tag from a link
list_utm_templatesList saved UTM parameter templates
create_utm_templateCreate a new UTM template
delete_utm_templateDelete a UTM template
list_saved_viewsList saved link-list filter presets
create_saved_viewCreate a named filter preset
update_saved_viewRename or update filters on a saved view
delete_saved_viewDelete a saved view

Domains, Namespace, Trust Score, Export

ToolDescription
list_domainsList custom domains (Pro+)
add_domainRegister a custom domain (Pro+)
verify_domainTrigger DNS verification (Pro+)
update_domainUpdate domain settings (Pro+)
delete_domainRemove a custom domain (Pro+)
set_namespaceClaim a branded namespace (Pro+)
delete_namespaceRelease the current namespace (Pro+)
get_link_trust_scoreTrust/safety scan result for any short code (public)
export_linksExport all links as structured JSON (Pro+)
export_link_statsExport click statistics for a link as JSON (Pro+)

Webhooks

ToolDescription
list_webhooksList webhook endpoints
create_webhookSubscribe to link events
update_webhookUpdate URL, events, name, or enabled status
test_webhookSend a test event delivery
delete_webhookRemove a webhook

Affiliate Programs

ToolDescription
create_affiliate_programCreate a CPC/CPA affiliate program (Builder+)
list_affiliate_programsList your programs as merchant
list_affiliate_partnersList partners in a program
discover_affiliate_programsBrowse public programs to join
join_affiliate_programJoin a program as a partner
list_affiliate_partnershipsList programs you've joined
get_affiliate_statsClick/conversion stats for a program or partnership

Account

ToolDescription
get_profileAccount info, tier, namespace prefix, overage status
get_agentlink_statsAgentLink AI-agent click analytics for a specific link
get_agentlink_account_statsAgentLink analytics aggregated across all your links
list_agentlink_linksLinks that have received AI agent traffic
get_web2app_sessionConsume a Web2App routing session token (Pro+)

Example MCP Request

MCP uses JSON-RPC 2.0. Here is a raw request to call the shorten_url tool:

curl -X POST https://awsys.co/mcp \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "shorten_url",
      "arguments": {
        "url": "https://example.com/campaign",
        "slug": "launch26"
      }
    }
  }'

In practice, you do not call MCP endpoints directly — AI clients handle the JSON-RPC layer automatically when you configure the server URL and credentials.

Tier Access

Tool availability mirrors the REST API tier rules. The MCP server reads your current tier from Firestore on every request — there is no caching. Tools that require a higher tier return an error with a clear upgrade message if your account does not qualify.