> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cuprice.io/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Server

> Connect Cursor, Claude, VS Code or Windsurf to Cuprice's read-only MCP server

Cuprice runs a hosted MCP (Model Context Protocol) server. Your AI assistant uses it to read the plans you published, write the embed code for your framework, and style the widget with the right CSS classes.

The server is public and read-only. It needs no API key and no sign-in, and it cannot create, edit or publish anything. To change projects, plans or features from code, use the [REST API v1](https://docs.cuprice.io/api-reference/overview.md) with an API key.

| | |
| - | - |
| Server URL | `https://mcp.cuprice.io/mcp` |
| Transport | Streamable HTTP (`POST /mcp`) |
| Authentication | None |
| Tools | `get-pricing`, `get-embed-code`, `get-css-classes` (all read-only) |
| Source | [github.com/eynullabeyli/cuprice-mcp](https://github.com/eynullabeyli/cuprice-mcp), MIT |

Every tool works from a Share ID. Publish a project in Cuprice and the share link ends with it: `app.cuprice.io/share/your-share-id`.

## Connect your tool

The URL is the same everywhere. Only where you paste it changes.

**Cursor**

Create `.cursor/mcp.json` in your project, or `~/.cursor/mcp.json` to use the server in every project:

```json .cursor/mcp.json theme={null}
{
  "mcpServers": {
    "cuprice": {
      "url": "https://mcp.cuprice.io/mcp"
    }
  }
}
```

Open Cursor Settings and find `cuprice` in the MCP list. Its three tools show there once it connects.

**Claude Code**

Run this in your project folder:

```bash theme={null}
claude mcp add --transport http cuprice https://mcp.cuprice.io/mcp
```

Add `--scope user` before `cuprice` to use it in every project. Start Claude Code and type `/mcp` to check that `cuprice` is connected.

**Claude Desktop**

Open **Settings**, then **Connectors**, and choose **Add custom connector**. Name it Cuprice and paste the server URL:

```
https://mcp.cuprice.io/mcp
```

If your account has no custom connectors, add the server to `claude_desktop_config.json` through `mcp-remote` instead. This needs Node.js.

```json claude_desktop_config.json theme={null}
{
  "mcpServers": {
    "cuprice": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.cuprice.io/mcp"]
    }
  }
}
```

Restart Claude Desktop after editing the file.

**VS Code**

Create `.vscode/mcp.json` in your project:

```json .vscode/mcp.json theme={null}
{
  "servers": {
    "cuprice": {
      "type": "http",
      "url": "https://mcp.cuprice.io/mcp"
    }
  }
}
```

Open Copilot Chat in agent mode. The Cuprice tools appear in the tools picker.

**Windsurf**

Open `~/.codeium/windsurf/mcp_config.json` and add the server:

```json mcp_config.json theme={null}
{
  "mcpServers": {
    "cuprice": {
      "serverUrl": "https://mcp.cuprice.io/mcp"
    }
  }
}
```

Refresh the MCP servers in Cascade. `cuprice` and its three tools appear in the list.

## Then ask your assistant

Write it the way you would ask a colleague. The assistant picks the tool and fills in the arguments.

* *"Add my Cuprice pricing table to app/pricing/page.tsx. The Share ID is your-share-id."* uses `get-embed-code`.
* *"List my Cuprice plans with their monthly prices and the features in each one. Share ID your-share-id."* uses `get-pricing`.
* *"Style the Cuprice plan cards to match our site: 16px corners, our brand font, and our primary color on the buttons."* uses `get-css-classes`.

## Tools

### get-pricing

Returns your published project: name, description, currency, annual discount, every plan with its features and limits, and the theme settings.

| Input | Type | Required | Description |
| - | - | - | - |
| `shareId` | string | Yes | The project's Share ID |

It reads `GET https://app.cuprice.io/api/share/{shareId}`. An unknown Share ID comes back as a tool error with the API's message, so the assistant can tell you what went wrong.

### get-embed-code

Writes the snippet that puts your pricing table or billing widget on a page.

| Input | Type | Required | Description |
| - | - | - | - |
| `shareId` | string | Yes | The project's Share ID |
| `framework` | string | No | `html`, `nextjs`, `react` or `vue`. Default: `html` |
| `widget` | string | No | `pricing` or `billing`. Default: `pricing` |

For `html` and `pricing` it returns:

```html theme={null}
<!-- Pricing widget -->
<div data-cuprice-id="your-share-id"></div>
<script src="https://app.cuprice.io/embed.js" async></script>
```

With `widget: "billing"` the snippet uses `data-cuprice-billing` and adds a listener for the `cuprice:plan-selected` event. See [Billing Widget](https://docs.cuprice.io/embed/billing-widget.md).

### get-css-classes

Lists the class names on the widget, so the assistant can style it from your own stylesheet. It takes no input.

| Selector | What it styles |
| - | - |
| `.cuprice-pricing-card` | Each plan card |
| `.cuprice-pricing-button` | “Choose Plan” buttons |
| `.cuprice-pricing-badge` | “Most Popular” badge |
| `.cuprice-billing-toggle` | Monthly and annual toggle |
| `.cuprice-pricing-header` | Page title and description |
| `.cuprice-custom-plan-card` | Custom plan card |
| `.cuprice-custom-plan-button` | “Create Now” button |
| `.cuprice-custom-plan-badge` | “Custom” badge |
| `.cuprice-custom-plan-title` | Custom card title |
| `.cuprice-custom-plan-feature-text` | Feature bullet text |
| `.cuprice-custom-plan-feature-icon` | Feature checkmark icon |
| `.cuprice-comparison-table` | Feature comparison table |
| `.cuprice-powered-by` | “Powered by Cuprice” footer |

The widget scopes its own styles, so mark your overrides `!important`. See [Custom CSS](https://docs.cuprice.io/customization/custom-css.md).

### get-receipt (deprecated)

> [!WARNING]
>
> Stripe checkout was removed from Cuprice, so `get-receipt` no longer returns receipts. It stays registered so existing setups do not break, and it answers every call with a deprecation notice. Use `get-pricing` to read which features a plan includes, and your payment provider for receipts.

## Search these docs from your assistant

`https://docs.cuprice.io/mcp` is a second, separate MCP server. It does not return a page in the browser. Its tools search these docs and read their pages, so your assistant can look up a guide or an API endpoint while it works.

Add it the same way as the Cuprice server, with its own name. In Claude Code:

```bash theme={null}
claude mcp add --transport http cuprice-docs https://docs.cuprice.io/mcp
```

## Run it yourself

The server is open source. Run it next to your own stack, or over stdio for a local tool:

```bash theme={null}
git clone https://github.com/eynullabeyli/cuprice-mcp.git
cd cuprice-mcp
npm install
npm run build
npm start              # HTTP on :5000, POST /mcp
npm run start:stdio    # or stdio
```

With Docker: `docker compose up --build -d`.

| Variable | Default | What it sets |
| - | - | - |
| `PORT` | `5000` | Port for the HTTP server |
| `CUPRICE_BASE` | `https://app.cuprice.io` | Where the Cuprice API and `embed.js` live |

## For AI tools reading this page

Plain-text versions of the server reference live next to the server:

| File | Description |
| - | - |
| [mcp.cuprice.io/llms.txt](https://mcp.cuprice.io/llms.txt) | Short index of the tools and docs |
| [mcp.cuprice.io/llms-full.txt](https://mcp.cuprice.io/llms-full.txt) | Full reference: tools, setup and REST API |

The landing page at [mcp.cuprice.io](https://mcp.cuprice.io) has the same setup steps and a panel that runs live calls against the server.

> **[Embed Widget](https://docs.cuprice.io/embed/overview.md)**
>
> Add pricing to your site

> **[API v1 Reference](https://docs.cuprice.io/api-reference/overview.md)**
>
> Create and edit projects, plans and features with an API key


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.