Skip to main content
With Nuwa MCP Proxy, you can convert an existing MCP server (Streamable HTTP or STDIO) into a Nuwa‑Compatible MCP endpoint, enable DID authentication for the server and payment for your MCP tools, without changing the service. The proxy exposes a single JSON‑RPC endpoint (/mcp) over streamable HTTP, forwards tools, and attaches Nuwa payment semantics. NPM Package: @nuwa-ai/mcp-server-proxy - Ready to use without building from source.
Nuwa MCP Proxy is designed to be single-server, single-endpoint MCP server. For multiple MCP servers, you have to deploy multiple Nuwa MCP Proxy instances.

Quick start

Before you start: obtain a Service Key for your service DID. See the Service Key guide and use the copied value as SERVICE_KEY.

Upstream modes

upstream:
  type: "httpStream"
  url: "https://api.example.com/mcp"
  auth:
    scheme: "bearer"
    token: "${UPSTREAM_API_TOKEN}"

Preconfigured examples

Two ready-to-run examples are included. You can use them with either the npm package or source code:
Using NPM Package:
# Download config file
curl -o amap-config.yaml https://raw.githubusercontent.com/nuwa-protocol/nuwa/main/nuwa-services/mcp-server-proxy/deployments/instances/amap-proxy/config.yaml

export AMAP_API_KEY=your_amap_api_key_here
export SERVICE_KEY=your_service_key_here
export PORT=8088

# Run with npm package
mcp-server-proxy --config ./amap-config.yaml
# Or with npx
npx @nuwa-ai/mcp-server-proxy --config ./amap-config.yaml
Using Source Code:
cd nuwa-services/mcp-server-proxy
export AMAP_API_KEY=your_amap_api_key_here
export SERVICE_KEY=your_service_key_here
export PORT=8088

./examples/run-amap-local.sh
# → Serves /mcp on http://localhost:8088
Config reference: deployments/instances/amap-proxy/config.yaml

Relevant Docs

Railway Deployment Tutorial

Complete guide to deploying MCP Server Proxy on Railway platform

MCP Pricing

Pricing for MCP tools

Revenue

View balances, withdraw, and audit revenue history

Service Key

How to obtain and configure SERVICE_KEY

MCP Server

Build a pay‑per‑call MCP server directly using the Payment Kit.