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