Skip to content
Agent-forward

Agents do the licensing work. People approve.

This is how a flexible licensing program stays fast. 111 MCP tools are the same actions as the app and the REST API: finding licensors, applying, submitting products, syncing stores, reporting sales and working the review queue. Signing, money and rule-book changes come back to a person.

MCP server URL
https://sportsmarks.com/api/mcp
Add it to Claude, ChatGPT, Cursor or any MCP client. The first call walks you through sign-in.
Your agent, over MCP · illustrative
  1. whats_nextFinds the next step on its ownNo License with River State yet, so the next call is an application.Read · no approval needed
  2. create_applicationApplies, and the rule book issues the LicenseShopify and Amazon, T-shirts, RSU-0001. It fits the rules, so there is no queue.Auto approved
  3. sign_licenseHands the signature to a personSigning is a legal step, so it comes back as a confirmation for an Owner.Waiting for an Owner in the browser
  4. submit_product_mockupSubmits one tee to two licensorsRSU-0001 and CSU-0004 on one product, pulled from the Shopify store.2 claims · both approved
  5. report_salesReports the month from raw Shopify orders184 order lines matched to approved SKUs; one royalty line per licensor.Ready for a person to attest

Add the server, approve it once.

The first call opens Sportsmarks in your browser. Sign in (or sign up your brand), pick the org and the access level, and the agent acts as you from then on.

  • OAuth 2.1

    Unauthenticated calls get standard protected-resource metadata, so MCP clients find the sign-in flow on their own.

  • Or an API key

    Send Authorization: Bearer smk_…. A key acts as one user in one org, with that user's live role, optionally narrowed by scopes.

  • Revocable

    Each approval is listed with your keys, and can be revoked there.

  • Audited

    Every write records the channel, key, role and before/after.

  1. 1. Add Sportsmarks to your agent as a custom connector (MCP server) with this URL:
    https://sportsmarks.com/api/mcp
    Claude: Settings → Connectors → Add custom connector. ChatGPT: Settings → Connectors (developer mode). Cursor, Claude Code and other MCP clients: add a remote MCP server with this URL.
  2. 2. Approve it in the browser. Your agent opens Sportsmarks; sign in (or sign up your brand) and choose what it can do.
  3. 3. Ask it to get you licensed, for example:

    Use Sportsmarks to get my brand licensed: find the IP holders I want, read their rules, and apply for a License for each. Ask me before anything that needs my signature.

What agents do with it.

The server ships its own instructions, so an agent knows these sequences without being told.

  • Brand: get licensed

    1. search_holders
    2. get_rulebook
    3. create_application
    4. sign_license

    The rule book decides the application immediately; signing comes back to an Owner to confirm.

  • Brand: submit a product

    1. list_store_products
    2. quote_rate
    3. submit_product_mockup
    4. get_product_status

    One submission with every mark on it. Missing Licenses are drafted as bundled applications.

  • Brand: report a month of sales

    1. get_sales_reporting_guide
    2. report_sales
    3. get_sales_report
    4. submit_sales_report

    The guide gives the exact Shopify GraphQL query; a person attests the month.

  • Licensor: run the program

    1. whats_next
    2. list_reviews
    3. decide_review
    4. list_royalty_lines

    Agents may preview and confirm product decisions; Licenses, rates and rule books need a person unless delegated.

Highlights from 111 tools.

Writes accept an idempotency_key so retries are safe. Tools marked confirm return a preview and a confirmation for a person.

  • Get oriented

    Every session starts with whats_next, which names the next tool to call.

    • whats_nextWhat's nextread
    • whoamiWho am Iread
    • search_holdersSearch IP holdersread
    • get_rulebookGet a holder's rulebookread
    • get_brand_kitGet a licensor's brand kitread
  • Licenses

    Apply, get a rule-book decision on the spot, quote rates, sign, amend and renew.

    • create_applicationApply for a Licensewrite
    • quote_rateQuote royalty rates for a productread
    • sign_licenseSign a License agreementwriteconfirm
    • list_licensesList Licensesread
    • propose_amendmentAmend or renew a Licensewriteconfirm
    • accept_amendmentAccept an amendment or renewalwriteconfirm
  • Product submissions

    Submit once with every mark on the product, across licensors, and follow each decision.

    • submit_product_mockupSubmit a product (mockup)write
    • get_product_statusGet a product and its claimsread
    • list_reviewsList product reviewsread
    • decide_reviewApprove, deny or request changes to a productwriteconfirm
    • appeal_denialAppeal a soft denialwrite
  • Stores & catalog

    Read a Shopify storefront live, sync the products that matter and link every SKU.

    • list_store_productsList products in your storeread
    • sync_store_productsSync store productswrite
    • import_listingsImport listingswrite
    • crawl_storefrontRefresh synced store productswrite
    • list_channel_variantsCatalog & linksread
    • accept_link_suggestionsAccept link suggestionswrite
  • Sales & royalties

    Send raw Shopify orders or Amazon reports; royalties are computed per licensor.

    • get_sales_reporting_guideHow to report salesread
    • report_salesReport saleswrite
    • upload_sales_csvUpload a sales filewrite
    • submit_sales_reportSubmit a sales reportwriteconfirm
    • list_royalty_linesList the sales behind your royaltiesread
    • list_statementsList statementsread
  • Licensor setup

    Marks, phrases, colors, groups and the rule book that decides for you.

    • choose_templateStart from a template rulebookwriteconfirm
    • create_logoUpload a logowrite
    • create_phraseAdd a phrase or taglinewrite
    • set_brand_colorsSet your brand colorswrite
    • update_brand_kitUpdate your brand kit's settingswrite
    • update_rulebookUpdate the rulebookwriteconfirm
  • Staying in sync

    Events, signed webhooks and confirmations for the steps a person must approve.

    • list_eventsList eventsread
    • create_webhookRegister a webhookwrite
    • confirm_actionConfirm a pending actionwrite
    • get_agent_delegationSee what agents may confirmread

Not running an agent? The same actions are a REST API at /api/v1 with an OpenAPI document, and every state change is an event you can poll or receive as an HMAC-signed webhook. Full reference