Synchronity

Quickstart

Install the Synchronity MCP server in Claude Desktop and make your first agentic purchase in under 5 minutes.

Prerequisites

  • Claude Desktop (or any MCP-aware client — Cursor, ChatGPT custom connectors)
  • Node ≥ 20
  • A Synchronity gateway URL — use the hosted one (https://api.synchronity.app) or run your own from the public repo

1. Install the MCP server

Two options.

Synchronity for Claude Desktop
One-click extension bundle. Drag into Claude Desktop → Settings → Extensions.
Add to Claude Desktop

Drag the downloaded synchronity.mcpb into Claude Desktop → Settings → Extensions. Done.

Option B — npx (any MCP client)

Add Synchronity to your client's MCP server config:

{
  "mcpServers": {
    "synchronity": {
      "command": "npx",
      "args": ["-y", "@synchronity/mcp-server"],
      "env": {
        "GATEWAY_URL": "https://api.synchronity.app",
        "DEFAULT_SITE_ID": "your_site_id_here"
      }
    }
  }
}

2. Get an Agent Identity Token

Fire the request straight from here — Synchronity prod will respond live:

POST/v1/auth/agents/register
Registers a new agent and returns an AIT (RS256 JWT) plus its agent_id.
Equivalent curl
curl -X POST https://api.synchronity.app/v1/auth/agents/register \
  -H 'content-type: application/json' \
  -d '{ "agent_name": "my_first_agent", "scopes": [ "read_products", "manage_cart", "execute_checkout", "read_orders" ] }'

The response contains your agent_id and token. Set the token as AIT_TOKEN in your MCP env.

3. Try it out

Restart your MCP client. In Claude Desktop, start a new chat and ask:

"What stores do I have connected? Find me a wine bottle under $50 from the first one."

Claude will call list_sites, then search_products, then surface results. From there you can ask it to add_to_cart, set_shipping_address, and execute_checkout — the gateway will intercept checkout above your delegation threshold and route you through the human approval flow.

At checkout the assistant collects the buyer's shipping destination and contact details. shipping_country accepts any ISO 3166-1 alpha-2 country code, and a phone number is captured (customer_phone, with an optional shipping_phone) as an internationalized E.164 value (dial-code + national number).

What's next

On this page