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

# Configure MCP plans on an MCP product

> Configures plans and optional tool-to-plan mappings for an MCP product.



## OpenAPI

````yaml /api-reference/openapi.json put /v1/sdk/products/{productRef}/mcp/plans
openapi: 3.0.0
info:
  contact: {}
  description: The SolvaPay REST API specification
  title: SolvaPay REST API
  version: '1.0'
servers: []
security: []
tags: []
paths:
  /v1/sdk/products/{productRef}/mcp/plans:
    put:
      tags:
        - Products
      summary: Configure MCP plans on an MCP product
      description: Configures plans and optional tool-to-plan mappings for an MCP product.
      operationId: ProductSdkController_configureMcpPlans
      parameters:
        - description: Product reference or ID
          in: path
          name: productRef
          required: true
          schema:
            example: prd_1A2B3C4D
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfigureMcpPlansDto'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfigureMcpPlansResult'
          description: MCP plans configured successfully
        '400':
          description: Invalid MCP plans request or product is not MCP-enabled
        '404':
          description: Product not found
      security:
        - bearer: []
components:
  schemas:
    ConfigureMcpPlansDto:
      properties:
        plans:
          items:
            properties:
              billingCycle:
                enum:
                  - weekly
                  - monthly
                  - quarterly
                  - yearly
                  - custom
                type: string
              billingModel:
                enum:
                  - pre-paid
                  - post-paid
                type: string
              creditsPerUnit:
                type: number
              currency:
                minLength: 1
                type: string
              features:
                additionalProperties: true
                type: object
              freeUnits:
                exclusiveMinimum: false
                minimum: 0
                type: number
              key:
                minLength: 1
                type: string
              limit:
                exclusiveMinimum: false
                minimum: 0
                type: number
              name:
                minLength: 1
                type: string
              price:
                exclusiveMinimum: false
                minimum: 0
                type: number
              type:
                enum:
                  - recurring
                  - one-time
                  - usage-based
                type: string
            required:
              - key
              - name
              - price
              - currency
            type: object
          type: array
        toolMapping:
          items:
            properties:
              name:
                minLength: 1
                type: string
              planKeys:
                items:
                  type: string
                type: array
            required:
              - name
              - planKeys
            type: object
          type: array
      type: object
    ConfigureMcpPlansResult:
      properties:
        mcpServer:
          additionalProperties: true
          description: Updated MCP server identity
          type: object
        planMap:
          additionalProperties: true
          description: Resolved plan mapping by key (includes existing free plan)
          type: object
        product:
          allOf:
            - $ref: '#/components/schemas/SdkProductResponse'
          description: Updated product
      required:
        - product
        - mcpServer
        - planMap
      type: object
    SdkProductResponse:
      properties:
        balance:
          description: Product balance in cents
          example: 0
          type: number
        config:
          allOf:
            - $ref: '#/components/schemas/ProductConfigDto'
          description: Product-specific configuration
        createdAt:
          description: Creation timestamp
          type: string
        description:
          description: Product description
          type: string
        imageUrl:
          description: URL to the product image
          type: string
        isMcpPay:
          description: Whether this product uses MCP Pay proxy
          example: false
          type: boolean
        mcp:
          additionalProperties: true
          description: MCP linkage details for MCP-enabled products
          example:
            defaultPlanRef: pln_FREE123
            mcpProxyUrl: https://acme-docs.mcp.solvapay.com/mcp
            mcpServerRef: mcp_ABC123
            mcpSubdomain: acme-docs
            originUrl: https://origin.example.com/mcp
          type: object
        metadata:
          additionalProperties: true
          description: Arbitrary key-value metadata
          type: object
        name:
          description: Product name
          example: AI Writing Assistant
          type: string
        plans:
          description: Plans associated with this product
          items:
            $ref: '#/components/schemas/SdkPlanResponse'
          type: array
        productType:
          description: Free-form product type
          type: string
        reference:
          description: Product reference
          example: prd_1A2B3C4D
          type: string
        status:
          description: Product status
          example: active
          type: string
        totalTransactions:
          description: Total number of transactions
          example: 0
          type: number
        updatedAt:
          description: Last update timestamp
          type: string
      required:
        - reference
        - name
        - status
        - balance
        - totalTransactions
        - isMcpPay
        - createdAt
        - updatedAt
      type: object
    ProductConfigDto:
      properties:
        deliveryMethod:
          description: Delivery method
          example: api
          type: string
        fulfillmentType:
          description: Fulfillment type
          example: digital
          type: string
        validityPeriod:
          description: Validity period in days
          example: 30
          type: number
      type: object
    SdkPlanResponse:
      properties:
        billingCycle:
          description: Billing cycle
          example: monthly
          type: string
        billingModel:
          description: Billing model
          example: pre-paid
          type: string
        createdAt:
          description: Creation timestamp
          type: string
        creditsPerUnit:
          description: Credits per usage unit (integer, >= 1)
          example: 1
          type: number
        currency:
          description: Currency code (ISO 4217)
          example: USD
          type: string
        currencySymbol:
          description: Currency symbol
          example: $
          type: string
        features:
          additionalProperties: true
          description: Plan features
          type: object
        freeUnits:
          description: Included free units
          example: 1000
          type: number
        isActive:
          description: Whether the plan is active
          example: true
          type: boolean
        limit:
          description: Usage limit for the meter
          example: 10000
          type: number
        limits:
          additionalProperties: true
          description: Usage limits
          type: object
        measures:
          description: What the plan measures for usage tracking
          example: requests
          type: string
        meterRef:
          description: Meter reference for usage-based limits
          example: mtr_1A2B3C4D
          type: string
        price:
          description: Plan price in cents
          example: 2999
          type: number
        reference:
          description: Plan reference
          example: pln_1A2B3C4D
          type: string
        requiresPayment:
          description: Whether payment is required
          example: true
          type: boolean
        rolloverUnusedUnits:
          description: Whether unused units roll over to next period
          example: false
          type: boolean
        setupFee:
          description: One-time setup fee
          example: 500
          type: number
        status:
          description: Plan status
          example: active
          type: string
        trialDays:
          description: Free trial period in days
          example: 14
          type: number
        updatedAt:
          description: Last update timestamp
          type: string
      required:
        - reference
        - price
        - currency
        - requiresPayment
        - isActive
        - status
        - createdAt
        - updatedAt
      type: object

````