Skip to content

Developers

Turn any API into AI tools.

Import APIs, publish endpoints and read execution logs from code. Everything you can do in the dashboard is backed by a documented management API, and every endpoint speaks standard MCP over HTTPS.

Example analysisanalysing…
API definition URL: https://api.example.com/openapi.json
  1. OpenAPI 3.1 detected
  2. OAuth2 detected
  3. 184 endpoints indexed
  4. 32 AI tools generated
  5. 4 destructive actions protected
Your MCP is live
mcp.example.com/acme/example
Illustrative example. Real results depend on your API.

One compatibility layer between your API and every agent.

PipMCP parses your specification deterministically, maps endpoints to business intent, compiles agent-friendly tools into a constrained execution plan and serves them from one stateless MCP runtime.

From your API to every AI agentREST, GraphQL and OpenAPI definitions flow into PipMCP, which produces agent-friendly tools used by Claude, ChatGPT, Cursor and other agents.RESTGraphQLOpenAPIPipMCPunderstands, compiles, protects, runsAgent-friendly toolssearch_customerscreate_invoicesend_invoiceClaudeChatGPTCursorAgents

Supported formats

Pick the source you have. The same compiler handles all of them.

Formatsource_typeNotes
OpenAPI 3.xopenapi_url, openapi_uploadJSON or YAML. 3.0 and 3.1, including external $refs.
Swagger 2.0openapi_url, openapi_uploadConverted to the same internal model as OpenAPI 3.
Postman Collection v2postmanv2.0 and v2.1 collections. Example bodies are used to infer schemas.
GraphQLgraphqlSDL schema or introspection result. Queries and mutations become tools.
Documentation URLdocs_urlExperimental. Endpoints are extracted with AI and always marked for review.
ManualmanualDescribe individual endpoints yourself when no spec exists.

Management API

REST and JSON at https://pipmcp.com/api/v1. Authenticate with a workspace API token (pmk_…) created under Settings, API tokens. Each token carries only the scopes you grant it, such as integrations:write or executions:read.

Full reference: Management API docs.

Import an API

bash
curl -X POST https://pipmcp.com/api/v1/integrations \
  -H "Authorization: Bearer pmk_your_token" \
  -H "Content-Type: application/json" \
  -d '{
    "source_type": "openapi_url",
    "url": "https://api.example.com/openapi.json",
    "wait": true
  }'

Publish an MCP endpoint and get a token

bash
curl -X POST https://pipmcp.com/api/v1/mcp-endpoints \
  -H "Authorization: Bearer pmk_your_token" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Billing",
    "policy_preset": "safe_writes",
    "integrations": [{ "integration_id": "<integration id>", "connection_id": "<connection id>" }],
    "create_token": true
  }'
MethodPathPurpose
GET/integrationsList integrations
POST/integrationsCreate an integration and start its import
GET/integrations/{id}Get an integration and its current version
POST/integrations/{id}/importsRe-import (creates a new version)
POST/integrations/{id}/publishPublish the current version
GET/integrations/{id}/toolsList generated tools
PATCH/tools/{id}Update name, description, visibility or confirmation
GET/connectionsList connections (secrets are never returned)
POST/connectionsCreate a connection
POST/connections/{id}/testTest a connection
GET/mcp-endpointsList MCP endpoints
POST/mcp-endpointsCreate an MCP endpoint, optionally with a token
PATCH/mcp-endpoints/{id}Update an MCP endpoint
GET/executionsList executions
GET/executions/{id}Get an execution with redacted steps
GET/usageAgent actions used in the current period

MCP endpoints

Every published endpoint lives at one URL:

https://mcp.pipmcp.com/<workspace>/<endpoint>

  • Send a JSON-RPC request with POST and an endpoint token as Authorization: Bearer pmcp_….
  • MCP 2026-07-28 is the primary version: the version and client capabilities travel in params._meta, mirrored by the MCP-Protocol-Version, Mcp-Method and Mcp-Name headers.
  • Clients on 2025-11-25, 2025-06-18 or 2025-03-26 connect with the usual initialize handshake.
  • No sessions and no server-sent event stream are required: every request is answered with a single JSON response.

List tools

bash
curl https://mcp.pipmcp.com/acme/billing \
  -H "Authorization: Bearer pmcp_your_token" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2026-07-28" \
  -H "Mcp-Method: tools/list" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/list",
    "params": {
      "_meta": {
        "io.modelcontextprotocol/protocolVersion": "2026-07-28",
        "io.modelcontextprotocol/clientCapabilities": {}
      }
    }
  }'

Call a tool

bash
curl https://mcp.pipmcp.com/acme/billing \
  -H "Authorization: Bearer pmcp_your_token" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2026-07-28" \
  -H "Mcp-Method: tools/call" \
  -H "Mcp-Name: search_customers" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "search_customers",
      "arguments": { "query": "Acme" },
      "_meta": {
        "io.modelcontextprotocol/protocolVersion": "2026-07-28",
        "io.modelcontextprotocol/clientCapabilities": {}
      }
    }
  }'

Connect from Claude Code

Add the endpoint as an HTTP MCP server. The endpoint page in the dashboard shows this command, plus configuration for Claude Desktop, Cursor and ChatGPT, with your real URL.

More clients: Claude, other MCP clients.

bash
claude mcp add --transport http billing https://mcp.pipmcp.com/acme/billing \
  --header "Authorization: Bearer pmcp_your_token"

Import your first API.

Create a free workspace, then use the dashboard or the management API.