{"name":"awsys-shortener","description":"AWSYS URL Shortener — MCP server for AI assistants","version":"1.6.0","protocolVersion":"2025-11-25","supportedProtocolVersions":["2025-11-25","2025-06-18","2025-03-26","2024-11-05"],"transport":"streamable-http","endpoint":"https://awsys.co/mcp","tools":[{"name":"shorten_url","description":"Shorten a long URL. Deduplicates automatically — shortening the same URL twice returns the existing link. Every link is namespace-aware: every user gets a prefix, so stats are kept if the plan changes. Supports routing rules, OG meta, geo-restriction, password protection, and ad-click-ID passthrough (available on Pro plans and higher)."},{"name":"list_links","description":"List your shortened links with click counts and destinations. Supports sorting by creation date, clicks, or slug across the full dataset."},{"name":"get_link","description":"Get full details for a single short link by its short code."},{"name":"get_link_stats","description":"Get click analytics for a short link: total clicks, top countries and referrers."},{"name":"delete_link","description":"Permanently delete a short link. Redirects stop working immediately."},{"name":"get_profile","description":"Get your AWSYS account: email, subscription tier, namespace prefix, and feature flags."},{"name":"get_usage","description":"Get usage statistics: total links and clicks, tracked click consumption vs your monthly allotment, overage status (active/inactive, charges accrued, spending cap), and full plan limits. Shows the remaining analytics capacity for the current billing period."},{"name":"update_link","description":"Update an existing short link — change destination, expiry, click cap, password, routing rules, OG meta, geo-restriction, or ad-click-ID passthrough."},{"name":"get_qr_code","description":"Get the QR code for a short link. Returns a direct PNG URL and the QR code image inline (PNG, max 512px)."},{"name":"bulk_shorten","description":"Create up to 50 short URLs in one request. Builder tier required."},{"name":"list_webhooks","description":"List all your webhook endpoints and their delivery stats. Requires Pro or Builder."},{"name":"create_webhook","description":"Subscribe to link events by registering a webhook endpoint. Requires Pro (2 max) or Builder (10 max)."},{"name":"delete_webhook","description":"Permanently delete a webhook endpoint."},{"name":"test_webhook","description":"Send a test event to a webhook endpoint to verify it is reachable."},{"name":"update_webhook","description":"Update an existing webhook endpoint — change URL, subscribed events, display name, or enabled status. Requires Pro or Builder."},{"name":"get_aggregate_stats","description":"Get aggregated analytics for a link: clicks by day (7/30/90d), top countries, device breakdown, top referrers, inbound source breakdown (ref/partner params), and UTM breakdown (source/medium/campaign). Available on Builder plans and higher, with up to 365 days of history. Note: analytics events captured during an overage period are excluded until the billing cycle resets or the monthly click limit increases."},{"name":"list_folders","description":"List your link folders with link counts and tier limit info."},{"name":"create_folder","description":"Create a new folder to organize links. Free: 3 folders, Starter: 10, Pro/Builder: unlimited."},{"name":"delete_folder","description":"Delete a folder. Links in the folder are unaffected (just unassigned)."},{"name":"assign_link_to_folder","description":"Move a link into a folder, or remove it from its current folder."},{"name":"update_folder","description":"Rename and/or change the color of an existing folder."},{"name":"list_domains","description":"List your custom domains and their verification/SSL status. Requires Pro or higher."},{"name":"add_domain","description":"Register a new custom domain. Returns DNS records you must add before verifying. Pro accounts get 1 domain, Builder accounts get 5. Requires Pro or higher."},{"name":"verify_domain","description":"Trigger DNS verification for a pending domain. Returns current verification status."},{"name":"delete_domain","description":"Remove a custom domain from your account."},{"name":"update_domain","description":"Update settings on a verified custom domain: set as default, configure a custom 404 redirect URL, or toggle link cloaking. Requires Pro or higher. Domain must be active (verified)."},{"name":"activate_domain","description":"Activate a verified custom domain so it starts serving short links. The domain must already be verified. Requires Pro or higher. Any applicable custom-domain billing is managed from the web dashboard."},{"name":"check_domain_availability","description":"Check whether a hostname is available to register as a custom domain. Returns { hostname, available, reason }. Reserved awsys.co domains and already-registered domains are unavailable."},{"name":"get_agentlink_stats","description":"Get AI-agent click analytics for a specific link: which AI agents clicked, from which vendors/frameworks, and click trends by day. Requires Pro tier or higher."},{"name":"get_agentlink_account_stats","description":"Get aggregate AgentLink analytics across all your links: top AI agents, vendors, frameworks, models, and daily click trends. Requires Pro tier or higher."},{"name":"get_web2app_session","description":"Consume a Web2App routing session token. Each token is single-use and expires after 24 hours. Returns the routing decision (linkId, UTM params, country, routing rule applied). Use this to complete a deep-link handoff in your mobile app. Requires Pro or higher."},{"name":"list_agentlink_links","description":"List the links in your account that have received at least one AI-agent click, along with their total agent-click counts. Requires Pro tier or higher."},{"name":"get_link_trust_score","description":"Get the trust/safety scan result for any short code. Returns a trust score (0–100), a risk label (trusted / caution / dangerous), detected threat categories, and the destination hostname. The full destination URL is included only for links you own. Available on all plans."},{"name":"get_qr_settings","description":"Get the QR code customization settings for a link. Returns the stored color, background color, error correction level, logo, and size settings. Returns null if no custom settings have been saved yet."},{"name":"get_recent_clicks","description":"Get recent click events across all of your links. Each event includes the short code, city, country, geolocation, and timestamp. Useful for real-time monitoring."},{"name":"add_link_tag","description":"Add a tag to one of your links. Tags are normalized to lowercase. Each link supports up to 10 tags."},{"name":"remove_link_tag","description":"Remove a tag from one of your links."},{"name":"update_qr_settings","description":"Save QR code customization settings for a link. Only provided fields are updated; omitted fields keep their existing values. Set logo_url to null to remove the logo."},{"name":"set_namespace","description":"Claim a branded namespace for your account (e.g. @myorg). Links you create will be served as awsys.co/@myorg/slug. You can only hold one namespace at a time — release the current one first to claim a new one."},{"name":"export_links","description":"Export all your shortened links as structured data. Returns the links as a JSON array. Requires Pro subscription or higher. Optionally filter by folder."},{"name":"delete_namespace","description":"Release your current branded namespace. You must delete or migrate any links using this namespace first. Requires Pro subscription or higher."},{"name":"export_link_stats","description":"Export click statistics for a single link as structured data. Returns raw click records with timestamp, city, country, device, browser, OS, and referrer. Requires Pro subscription or higher."},{"name":"list_utm_templates","description":"List all UTM parameter templates saved to your account. Templates store reusable combinations of utm_source, utm_medium, utm_campaign, utm_term, and utm_content."},{"name":"create_affiliate_program","description":"Create a new affiliate program. You become the merchant and can approve partners who join. Requires Builder tier or higher. Supports CPC (cost-per-click), CPA return-visit tracking, or both. Partners promote your links and earn commissions you define; awsys.co handles tracking only — payments are made directly."},{"name":"list_affiliate_programs","description":"List all affiliate programs you own as a merchant, with partner counts and commission settings."},{"name":"create_utm_template","description":"Create a new UTM parameter template. The template name must be unique per account. Up to 20 templates are allowed. Any UTM field left blank is simply omitted when applied."},{"name":"delete_utm_template","description":"Delete a saved UTM parameter template by its ID."},{"name":"list_saved_views","description":"List the saved link-list views (filter + sort presets) for your account. Each view stores a named combination of folder, tag, status, search, and date-range filters. Free and Starter accounts get up to 3 views; Pro accounts up to 20; Enterprise unlimited."},{"name":"list_affiliate_partners","description":"List all partners (affiliates) who have applied to or joined one of your programs. Returns partner codes, status (pending/active/rejected), and lifetime earnings stats."},{"name":"discover_affiliate_programs","description":"Browse publicly listed affiliate programs from other merchants that you can join as a partner. Excludes programs you already belong to and your own programs."},{"name":"join_affiliate_program","description":"Apply to join another merchant's affiliate program as a partner. Your application starts in \"pending\" status until the merchant approves it. A unique partner tracking code is auto-generated (or you can supply a custom one)."},{"name":"list_affiliate_partnerships","description":"List all affiliate programs you have joined as a partner, including your partner code, approval status, and commission details for each program."},{"name":"create_saved_view","description":"Create a new saved link-list view. A view is a named filter preset that can be recalled from the dashboard. Filters are applied together (AND logic). Free/Starter: 3 views max; Pro: 20 views max; Enterprise: unlimited."},{"name":"update_saved_view","description":"Update the name and/or filters of an existing saved view. Only the fields you provide are changed."},{"name":"delete_saved_view","description":"Delete a saved link-list view by its ID."},{"name":"get_affiliate_stats","description":"Get click and conversion statistics for an affiliate program you own (merchant view) or for a specific partnership you belong to (partner view). Supply program_id for merchant stats, or partnership_id for your own partner earnings."},{"name":"get_affiliate_program","description":"Get full details for a single affiliate program by ID. Returns commission settings, cookie duration, partner count, public/private status, and timestamps. Accessible to the program merchant, or to anyone if the program is public."},{"name":"update_affiliate_program","description":"Update an affiliate program you own as a merchant. Only provided fields are changed. You can change the name, description, public/private listing, commission rates, and cookie duration. Requires Builder tier or higher."},{"name":"update_affiliate_partner_status","description":"Approve or reject a partner who applied to one of your affiliate programs. Set status to \"active\" to approve, or \"rejected\" to decline. Requires Builder tier or higher (merchant action)."},{"name":"get_affiliate_partnership_stats","description":"Get click and conversion statistics for a specific partnership you belong to (partner view). Returns clicks, unique clicks, conversions, conversion rate, and period/all-time earnings."},{"name":"leave_affiliate_program","description":"Withdraw from an affiliate program you joined as a partner. This deletes your partnership and stops attributing clicks to your partner code. Historical earnings data is removed."},{"name":"get_affiliate_limits","description":"Get your affiliate tier limits and current usage: whether you can create programs, max programs and partnerships allowed, and how many programs/partnerships you currently have."},{"name":"import_from_provider","description":"Start an asynchronous migration import from a third-party URL shortener (currently Bitly). You provide the user's Generic Access Token from the provider; awsys.co fetches their links and writes equivalent short codes in their account. Returns a jobId immediately — the job runs in the background; its progress is available by job ID. Available on Pro plans and higher, including the Pro trial (same as the REST endpoint POST /api/imports). Free-tier users receive a plan error."},{"name":"get_import_status","description":"Read the current status of an import job created via import_from_provider. Returns the job's status (pending/fetching/writing/completed/partial/failed/cancelled), counters, and any errors."},{"name":"cancel_import","description":"Cancel an in-flight import job. The orchestrator checks for cancellation between Bitly groups; any short codes already written remain. Returns the job in its final status. Idempotent — calling on an already-terminal job is a no-op."}],"auth":"OAuth 2.1 (see /.well-known/oauth-protected-resource) or Authorization: Bearer awsys_<api-key>","docs":"https://awsys.co/developers/oauth"}