MCP Server

neru-mcp is a Model Context Protocol (MCP) server that lets your AI assistant publish and deploy applications to Code Hub without leaving your chat interface. You can create Code Hub products, upload source code, publish versions, and deploy running VCR instances entirely through natural language instructions.

Connect to the Hosted Server

neru-mcp runs on VCR and is available as a remote endpoint — no local installation is required. Choose the endpoint closest to your region.

Region MCP URL
EU West (Ireland) https://vcr-mcp.euw1.runtime.vonage.cloud/mcp
US East (Virginia) https://vcr-mcp.use1.runtime.vonage.cloud/mcp
AP Southeast (Singapore) https://vcr-mcp.apse1.runtime.vonage.cloud/mcp
AP Southeast (Sydney) https://vcr-mcp.apse2.runtime.vonage.cloud/mcp

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "neru-mcp": {
      "type": "http",
      "url": "https://vcr-mcp.euw1.runtime.vonage.cloud/mcp",
      "headers": {
        "X-Account-ID": "<your-api-key>",
        "X-Account-Secret": "<your-api-secret>",
        "X-Region": "euw1"
      }
    }
  }
}

VS Code / GitHub Copilot

Add to .vscode/mcp.json (or your workspace MCP config):

{
  "servers": {
    "neru-mcp": {
      "type": "http",
      "url": "https://vcr-mcp.euw1.runtime.vonage.cloud/mcp",
      "headers": {
        "X-Account-ID": "<your-api-key>",
        "X-Account-Secret": "<your-api-secret>",
        "X-Region": "euw1"
      }
    }
  }
}

OpenCode

Add to your OpenCode config:

{
  "mcp": {
    "neru-mcp": {
      "type": "remote",
      "url": "https://vcr-mcp.euw1.runtime.vonage.cloud/mcp",
      "enabled": true,
      "headers": {
        "X-Account-ID": "<your-api-key>",
        "X-Account-Secret": "<your-api-secret>",
        "X-Region": "euw1"
      }
    }
  }
}

Replace <your-api-key> and <your-api-secret> with your Vonage API credentials). Set X-Region to the region where you want to deploy.

Credentials

Every tool accepts credentials either as HTTP headers (recommended) or as explicit tool parameters. Headers take precedence when both are present.

Header Parameter Description
X-Account-ID account_id Vonage API key
X-Account-Secret account_secret Vonage API secret
X-Region region Target region: euw1, use1, apse1, or apse2

Standard Deployment Workflow

You can ask your AI assistant to run this entire flow: "Publish my VCR app to Code Hub". The assistant will call each tool in order, prompt you for any missing values, and return the live instance URL at the end.

Create Code Hub product
        |
Create product version
        |
Upload source code  (POST zip to returned proxy_url)
        |
Submit version for review
        |
Release version
        |
Install as VCR instance

Tools Reference

marketplace_create_product

Create a new product in Code Hub.

Parameter Type Required Default Description
name string Yes Display name (max 200 chars)
owner_name string Yes Owning organisation or individual
product_type private / public / unlisted No private Visibility

Returns: {"id": "<uuid>", "codehub_url": "https://developer.vonage.com/..."}

marketplace_create_version

Create a new version for an existing Code Hub product. Deployment is enabled automatically after creation.

Parameter Type Required Default Description
product_id UUID Yes Parent product
version semver (e.g. 1.0.0) Yes Version number
base UUID No Existing version to base this on
version_type private / public / unlisted No private Visibility

Returns: {"id": "<uuid>", "productId": "<uuid>"}

marketplace_upload_source

Returns a proxy URL for uploading the source code zip archive. POST the zip directly to proxy_url — do not base64-encode it. The zip must contain vcr.yml at its root (not inside a subdirectory).

Parameter Type Required Default
product_id UUID Yes
version_id UUID Yes
filename string No source.zip

Returns: {"proxy_url": "...", "method": "POST", "field_name": "source", "instructions": "..."}

Example upload:

curl -X POST "<proxy_url>" \ -H "X-Account-ID: <key>" \ -H "X-Account-Secret: <secret>" \ -H "X-Region: euw1" \ -F "source=@/path/to/source.zip"

marketplace_submit_version

Submit a version for review. Required before a version can be published publicly on Code Hub.

Parameter Type Required
product_id UUID Yes
version_id UUID Yes

Returns: {"message": "Version submitted for review"}

marketplace_release_version

Release an approved version to Code Hub. The version must have been submitted and approved first.

Parameter Type Required
product_id UUID Yes
version_id UUID Yes

Returns: {"message": "Version released to the Marketplace"}

marketplace_install_version

Install a released Code Hub product version as a live VCR instance.

Parameter Type Required Default Description
product_id UUID Yes Parent product
version_id UUID Yes Version to install
instance_name string Yes Name for the new instance
product_name string No "" Used to build the Code Hub URL
configuration object No {} Key/value config for the instance
secrets array No [] Secret references for the instance

Returns: {"instance_url": "...", "codehub_url": "...", ...}

Additional Tools

Tool Description
marketplace_health Check that the Code Hub API is reachable
marketplace_update_product Set the active version of a Code Hub product
marketplace_update_version Enable or disable deployment for a version
marketplace_upload_icon Upload a product icon (PNG or JPEG)
marketplace_upload_screenshots Upload product screenshots
marketplace_download_source Download the source archive for a version
marketplace_upgrade_instance Upgrade a running instance to the latest version
marketplace_delete_product Permanently delete a product and all its versions

Run Locally

If you prefer to run the MCP server locally instead of using the hosted endpoints:

uvx --from git+https://github.com/nexmoinc/neru-mcp.git neru-mcp

Set the following environment variables before running:

Variable Description
API_ACCOUNT_ID Vonage API key
API_ACCOUNT_SECRET Vonage API secret
REGION Target region (euw1, use1, apse1, apse2)
MCP_TRANSPORT Transport mode: stdio (default), sse, or streamable-http