ucp-setup
Set up a UCP project — scaffold a merchant server or platform client with discovery profile, SDK installation, and project structure. Use when starting a new UCP implementation.
Best use case
ucp-setup is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Set up a UCP project — scaffold a merchant server or platform client with discovery profile, SDK installation, and project structure. Use when starting a new UCP implementation.
Teams using ucp-setup should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/ucp-setup/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ucp-setup Compares
| Feature / Agent | ucp-setup | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Set up a UCP project — scaffold a merchant server or platform client with discovery profile, SDK installation, and project structure. Use when starting a new UCP implementation.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# UCP Project Setup ## Before writing any code 1. **Web-search** `site:ucp.dev specification overview` to confirm the latest spec version. 2. **Fetch** the latest SDK READMEs: - Python: https://github.com/Universal-Commerce-Protocol/python-sdk - JS/TS: https://github.com/Universal-Commerce-Protocol/js-sdk 3. **Fetch** the sample servers for reference architecture: - https://github.com/Universal-Commerce-Protocol/samples ## What to scaffold ### 1. Determine the role Ask the user: are they building a **Business** (merchant server that exposes checkout), a **Platform** (AI agent that drives checkout), or both? ### 2. Install the SDK - **Python**: Clone the official python-sdk repo and use `uv sync`, or install FastUCP via `pip install fastucp-python` for decorator-based approach. **Note**: `fastucp-python` is a **community/third-party** package, not an official UCP SDK. - **JS/TS**: `npm install @ucp-js/sdk` for TypeScript types and Zod schemas. - Always verify the latest install instructions from the live GitHub README before running. ### 3. Discovery profile (`/.well-known/ucp`) Every Business MUST publish a discovery profile. This is the **first thing to implement**. The profile declares: - Protocol version - Services (which transport bindings are supported, with endpoint URLs) - Capabilities (checkout, orders, identity linking — each with version and schema URI) - Extensions (fulfillment, discount, buyer consent, AP2 — each declaring which capability they extend) - Payment handlers (accepted payment methods with configuration) - Signing keys (EC P-256 public keys for webhook signatures) **Fetch** https://ucp.dev/specification/overview/ and https://developers.google.com/merchant/ucp/guides/ucp-profile for the exact current schema before generating the profile. ### 4. Project structure (Business server) ``` my-ucp-server/ ├── app/ │ ├── main.py (or index.ts) # Server entrypoint │ ├── discovery.py # /.well-known/ucp endpoint │ ├── checkout/ │ │ ├── routes.py # Checkout CRUD + complete + cancel │ │ ├── models.py # Checkout data models (from SDK) │ │ └── negotiation.py # Capability negotiation logic │ ├── orders/ │ │ ├── routes.py # Order management │ │ ├── webhooks.py # Webhook delivery + signing │ │ └── models.py │ ├── payments/ │ │ ├── handlers.py # Payment handler configuration │ │ └── processing.py # Credential processing │ ├── fulfillment/ │ │ └── routes.py # Fulfillment extension logic │ └── common/ │ ├── headers.py # UCP-Agent, Idempotency-Key parsing │ ├── errors.py # UCP error/message model │ └── crypto.py # JWT signing for webhooks ├── tests/ │ └── conformance/ # Conformance test runner ├── .well-known/ │ └── ucp (or served dynamically) ├── .env # API keys, signing key paths └── pyproject.toml (or package.json) ``` ### 5. Environment configuration - Store signing private keys securely (env vars or secrets manager) - Never hardcode payment handler credentials - Use `.env` + `.gitignore` for all secrets ### 6. Verify setup - Serve the discovery profile and validate its JSON against the schema from https://ucp.dev/specification/reference/ - Use the UCP Playground at https://ucp.dev/playground/ to test discovery step
Related Skills
woo-setup
Install WooCommerce, configure the development stack, and set up a local dev environment with WP-CLI, Docker, or wp-env. Use when setting up a new WooCommerce project or development environment.
webmcp-setup
Set up a WebMCP project — enable Chrome flags, install MCP-B polyfill, scaffold tool registration, and configure development environment. Use when starting a new WebMCP-enabled website from scratch.
mpp-setup
Scaffold an MPP project — install mppx SDK, configure payment methods, set up server middleware, and create a basic paid API endpoint. Use when starting a new MPP machine payments project from scratch.
spree-setup
Bootstrap a new Spree project — `create-spree-app` CLI (v5.2+), `spree-starter` Rails backend, the Next.js storefront repo, `bin/rails g spree:install`, sample data, Docker Compose, and the PostgreSQL + Redis + Sidekiq prerequisites. Use when starting a new Spree project from scratch or onboarding an existing repo.
shopify-setup
Set up a Shopify development environment — Shopify CLI installation, Partner account, development stores, environment variables, project structures for themes, apps, and Hydrogen. Use when starting a new Shopify project.
sf-setup
Set up a Salesforce Commerce development environment — sfcc-ci CLI for B2C, sf CLI for B2B, Business Manager access, sandbox management, dw.json configuration, .sfdx project setup, and project structures for SFRA, PWA Kit, and Lightning. Use when starting a new Salesforce Commerce project.
saleor-setup
Set up a Saleor development environment — saleor-platform Docker Compose, CLI, PostgreSQL/Redis prerequisites, manage.py commands, environment variables, project structure. Use when starting a new Saleor project.
nlweb-setup
Bootstrap a local NLWeb development environment from scratch — clone the repo, configure .env, install Python deps via `nlweb init-python`, run `nlweb init` for interactive LLM/retrieval selection, load sample Schema.org data, and verify with `nlweb check`. Use when starting a new NLWeb deployment from zero.
medusa-setup
Set up a Medusa v2 development environment — CLI, PostgreSQL/Redis prerequisites, project creation, medusa-config.ts, directory structure, environment variables. Use when starting a new Medusa project.
magento-setup
Set up a Magento 2 Open Source project — installation, Composer setup, system requirements verification, and initial configuration. Use when starting a new Magento project or setting up a development environment.
bc-setup
Set up a BigCommerce development environment — Stencil CLI, API credentials, sandbox stores, Catalyst, and developer tools. Use when starting a new BigCommerce project or configuring development tools.
ap2-setup
Scaffold a new AP2 project — install the SDK, set up agent roles, configure credentials, and create a basic multi-agent payment system. Use when starting a new AP2 agentic payments project from scratch.