Skip to main content

Documentation

Wrap-to-MCP Reference

Wrap REST APIs as MCP servers. Manage tools. Wire any MCP client.

→API referenceTry every endpoint directly from the browser.

Introduction

Wrap-to-MCP is a production console that converts any REST API into a Model Context Protocol (MCP) server. You don't write code or set up infrastructure. Import your OpenAPI 3.x or Swagger 2.0 spec once in JSON or YAML, refine the generated tools, and connect MCP-compatible clients like Claude, Cursor, or VS Code directly to your API.

Things are organized into workspaces. Each workspace holds one or more servers, and each server wraps one upstream REST API, turning its endpoints into tools you can manage individually. There's also a workspace-level MCP endpoint that combines all active servers behind a single URL.

Import once

Paste a public OpenAPI 3.x or Swagger 2.0 JSON or YAML URL, a Swagger UI page URL, or upload a JSON or YAML file. Tools are generated automatically.

Refine descriptions

AI models choose which tool to call based on its description. The built-in editor helps you get them right.

Connect instantly

Copy the Streamable HTTP endpoint, paste it into your MCP client, and you're set.

Quick Start

Four steps to a working MCP endpoint. Should take about five minutes.

1

Create an account

Navigate to /register and sign up with your email address.

2

Create a workspace

After sign-in you land on the workspaces list. Click New workspace, choose a display name and a URL-safe slug (for example my-team). The slug appears in every MCP endpoint URL for this workspace.

Tip:Use short, lowercase slugs like acme or platform. The slug cannot be changed after creation.
3

Import your API

Inside the workspace, click Add server. Choose a server prefix (for example orders-api), enter the base URL of your upstream service, then paste an OpenAPI 3.x or Swagger 2.0 JSON or YAML URL, a Swagger UI page URL, or upload a file. Wrap-to-MCP parses every operation and creates one tool per endpoint.

Review the generated tools, fill in any descriptions flagged as missing, and click Save & activate.

4

Connect an MCP client

Copy the MCP endpoint URL shown on the server detail page. You can choose between three endpoint scopes:

MCP endpoints
# All servers in the workspace
https://wrapmcp.my.id/mcp/{workspace}

# One specific server
https://wrapmcp.my.id/mcp/{workspace}/{prefix}

# One specific tool (also accepts raw JSON)
https://wrapmcp.my.id/mcp/{workspace}/{prefix}/{tool_name}

Paste this URL into your MCP client configuration. See the Connecting Clients section for client-specific instructions.

Core Concepts

Workspaces

A workspace is the top-level container. It has a unique slug that forms part of every MCP URL in that workspace. Workspaces can be shared across multiple users via the members system.

  • One owner (the creator) plus optional invited members
  • An aggregate MCP endpoint at /mcp/{workspace} covers all active servers
  • Workspace-level API keys apply to all servers and tools inside it
  • Can be deactivated to take all servers offline without deleting them

MCP Servers

An MCP server wraps one upstream REST API. It has a prefix (the slug used in the endpoint URL) and a target URL (the base URL all requests are proxied to).

  • Prefix must be unique within the workspace (for example payments)
  • Target URL can be changed at any time without affecting the MCP endpoint URL
  • Servers can be individually activated or deactivated
  • Server-level API keys override workspace-level keys for that server
  • Server configs are cached in memory to reduce database lookups

Tools

A tool corresponds to one REST API operation. It has a name (the MCP tool name), an HTTP method, a path template, a human-readable description, and a JSON Schema for its input parameters.

  • Tools can be enabled or disabled individually without restarting the server
  • Path parameters use {param} syntax
  • Query params and request body fields are automatically classified from the JSON Schema
  • Tool descriptions are what AI models rely on when choosing which tool to call
  • Per-tool API keys can be issued for fine-grained client access control

API Keys

API keys authenticate requests to MCP endpoints. They follow a three-tier hierarchy:

ScopeGrants access toUse case
WorkspaceAll servers & tools in the workspaceSingle key for an entire project
ServerAll tools in one serverPer-integration key for a service
ToolOne specific tool onlyLeast-privilege access for a single operation

Create keys at the workspace, server, or tool level depending on how broadly you want a client to authenticate.

Importing APIs

OpenAPI / Swagger

Wrap-to-MCP supports OpenAPI 3.x and Swagger 2.0 specs in JSON or YAML format. You can:

  • Paste a publicly accessible raw JSON or YAML spec URL, or a Swagger UI page URL
  • Upload a local .json, .yaml, or .yml file

The parser automatically:

  • Derives a tool name from operationId, or falls back to {method}_{path}
  • Extracts path parameters, query parameters, and request body fields into a unified JSON Schema
  • Identifies $ref schemas and surfaces them for description enrichment
  • Copies any existing summary or description from the spec
Note:Re-importing is safe. Running it again on an updated spec adds new endpoints and flags changed ones, but won't delete tools you've already configured.

Manual endpoints

If you do not have an OpenAPI or Swagger spec, you can define endpoints manually from the server detail page.

  • A unique tool name such as get_order_by_id
  • HTTP method such as GET, POST, or PATCH
  • Path template such as /orders/{id}
  • Description that explains what the tool does and when to use it
  • JSON Schema object for the inputSchema

Writing tool descriptions

Good descriptions have the biggest impact on whether AI models pick the right tool.

  • Start with a verb
  • Describe when to call the tool, not just what it does
  • Mention important parameters if they change the result
  • Keep it short enough that models can scan the tool list easily
  • Avoid implementation details that do not help the caller

MCP Endpoint Reference

URL structure

There are three endpoint shapes, all using MCP Streamable HTTP transport. The single-tool endpoint also accepts a plain JSON body if you do not need the full JSON-RPC envelope.

Workspace aggregate

POST /mcp/{workspace}

Covers all active servers in the workspace from one URL. Tool names are automatically prefixed so they do not collide.

Single server

POST /mcp/{workspace}/{prefix}

Routes to one specific server. Use this when you want to scope a client to a single API.

Single tool

POST /mcp/{workspace}/{prefix}/{tool_name}

Calls one specific tool. Useful for tightly scoped integrations.

Note:When you use the workspace aggregate endpoint, tool names are automatically prefixed with the server prefix, for example orders-api__get_order.

JSON-RPC methods

All endpoints speak JSON-RPC 2.0.

initialize
// Request
{
 "jsonrpc": "2.0",
 "id": 1,
 "method": "initialize",
 "params": { ... }
}

// Response
{
 "jsonrpc": "2.0",
 "id": 1,
 "result": {
 "protocolVersion": "2024-11-05",
 "capabilities": { "tools": {} },
 "serverInfo": { "name": "wrap-to-mcp", "version": "..." }
 }
}
tools/list
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list" }
tools/call
{
 "jsonrpc": "2.0",
 "id": 3,
 "method": "tools/call",
 "params": {
 "name": "get_order",
 "arguments": { "id": "ord_123" }
 }
}

Authentication

MCP endpoints accept API keys through either of these headers:

HTTP headers
X-API-Key: wtm_your_key_here
# or
Authorization: Bearer wtm_your_key_here

The effective key is resolved by scope hierarchy: tool-level first, then server-level, then workspace-level. If no key is configured at any scope, the endpoint is public.

Connecting Clients

Most MCP clients need the same three values: the endpoint URL, the HTTP transport type, and an API key header. Start with a server-level endpoint while you test, then switch to the workspace endpoint if you want one client to access multiple APIs.

Claude Desktop

Add a server entry to Claude Desktop's configuration file. On macOS, this is typically ~/Library/Application Support/Claude/claude_desktop_config.json. On Windows, open Claude Desktop's config editor and add the same JSON entry.

claude_desktop_config.json
{
 "mcpServers": {
 "wrap-to-mcp": {
 "command": "npx",
 "args": [
 "-y",
 "@modelcontextprotocol/http-client",
 "https://wrapmcp.my.id/mcp/my-workspace/my-server"
 ],
 "env": {
 "MCP_API_KEY": "wtm_your_key_here"
 }
 }
 }
}
Tip:Use the workspace aggregate endpoint (/mcp/{workspace}) to give Claude access to all your APIs at once.

Visual Studio Code

Create or update .vscode/mcp.json in your workspace and register Wrap-to-MCP as an HTTP MCP server.

.vscode/mcp.json
{
 "servers": {
 "wrap-to-mcp": {
 "type": "http",
 "url": "https://wrapmcp.my.id/mcp/my-workspace/my-server",
 "headers": {
 "X-API-Key": "wtm_your_key_here"
 }
 }
 }
}

Cursor

In Cursor, open Settings → Features → MCP and add a new server with the http transport type.

Cursor MCP config
{
 "mcpServers": {
 "wrap-to-mcp": {
 "transport": "http",
 "url": "https://wrapmcp.my.id/mcp/my-workspace/my-server",
 "headers": {
 "X-API-Key": "wtm_your_key_here"
 }
 }
 }
}

Claude Code CLI

Add the remote MCP server from your terminal, then restart Claude Code so it picks up the new entry.

Claude Code CLI
claude mcp add --transport http wrap-to-mcp  https://wrapmcp.my.id/mcp/my-workspace/my-server  --header "X-API-Key: wtm_your_key_here"

OpenCode CLI

OpenCode can add remote MCP servers interactively. Start the add flow, choose a remote HTTP server, then paste the Wrap-to-MCP endpoint and API key header when prompted.

OpenCode CLI
opencode mcp add

OpenClaw

OpenClaw setups vary by gateway and plugin. If your deployment uses an MCP bridge or remote MCP connector, point that connector at your Wrap-to-MCP endpoint and send the API key in anX-API-Key header.

Remote MCP target
{
 "type": "http",
 "url": "https://wrapmcp.my.id/mcp/my-workspace/my-server",
 "headers": {
 "X-API-Key": "wtm_your_key_here"
 }
}

n8n

In n8n, add a remote MCP server to your AI workflow or agent configuration, then use the Wrap-to-MCP server URL with an API key header.

n8n MCP server
{
 "name": "wrap-to-mcp",
 "transport": "http",
 "url": "https://wrapmcp.my.id/mcp/my-workspace/my-server",
 "headers": {
 "X-API-Key": "wtm_your_key_here"
 }
}

Custom / SDK

Any HTTP client that can send JSON-RPC 2.0 POST requests works.

TypeScript SDK
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHttpClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"

const transport = new StreamableHttpClientTransport(
 new URL("https://wrapmcp.my.id/mcp/my-workspace/my-server"),
 {
 requestInit: {
 headers: { "X-API-Key": "wtm_your_key_here" },
 },
 },
)

const client = new Client({ name: "my-client", version: "1.0.0" })
await client.connect(transport)

const { tools } = await client.listTools()
console.log(tools)

const result = await client.callTool({
 name: "get_order",
 arguments: { id: "ord_123" },
})
console.log(result.content)

Managing Tools

Enable / disable tools

Each tool on the server detail page has a toggle switch. Disabled tools won't appear intools/list responses and can't be called.

Note:Disabling a tool does not delete its configuration. Re-enabling it restores the same definition.

Edit definitions

Click a tool name to open the edit drawer. You can modify:

  • Description
  • HTTP method
  • Path template
  • Input schema for accepted parameters

Test harness

The Test button opens an in-browser execution panel. Fill in the tool arguments as JSON and run the call.

  • HTTP status code returned by the upstream API
  • Full response body
  • Schema validation errors if arguments are invalid
  • Whether the call was treated as a success or error
Warning:Test calls hit your real upstream API. Use a staging or sandbox environment if you do not want side effects in production.

Auth & Security

Wrap-to-MCP keeps workspace access and endpoint access separate. Sign-in controls who can manage a workspace in the console, and API keys control which clients can call MCP tools.

Workspace access

Every workspace has an owner and can include additional members. Owners create invite links, manage membership, and control the servers, tools, and API keys inside the workspace.

  • Owners can invite or remove members from the workspace.
  • Members can access the workspace they were invited to.
  • Workspace membership does not expose other workspaces automatically.

API key scopes

API keys are generated from the API Keys tab on the workspace, server, or tool detail page. Pick the narrowest scope that matches the client you are connecting.

Scope resolution at request time (highest wins):

  • Tool-level key
  • Server-level key
  • Workspace-level key
  • No key configured means the endpoint is public

Teams & Members

Workspaces can have multiple members. The owner manages access from the Members tab using a token-based invite system.

Invite links

Invites are created by entering the invitee's email address. The system generates a unique token and a shareable link.

Invite link format
https://wrapmcp.my.id/invite/{token}
  • Each invite link is valid for 7 days from creation
  • Only one pending invite per email address per workspace is allowed
  • The invite page is publicly viewable and shows the workspace name, invitee email, and expiration
  • To accept, the invitee must log in with the matching email and click Accept
  • Pending invites can be revoked at any time from the Members tab

Managing members

Once a user accepts an invite, they appear in the members list. The workspace owner can:

  • Search members by email address
  • Filter by active or inactive status
  • Temporarily deactivate a member without removing them
  • Remove members when they no longer need access
Tip:Deactivating a member does not remove them. Turn access back on and they regain their place in the workspace.

Ready to start?

Get your first API connected

Create an account, import your API spec, and you'll have a working MCP endpoint.