HTTP / OpenAPI Tool Integration
Expose any REST API to LLMs by registering its OpenAPI specification.
Pipelines can expose a REST API's operations as individual tools by parsing its OpenAPI specification. Each operation in the spec becomes a callable tool that LLM-response fields can invoke.
OAuth is not supported for HTTP endpoints today. Only None, API Key, and
Bearer Token are available.
How this differs from MCP
| HTTP (OpenAPI) | MCP | |
|---|---|---|
| Protocol | Stateless HTTP request per call | JSON-RPC over Streamable HTTP with a persistent session |
| Tool discovery | Parse an OpenAPI spec once | Call tools/list on the server |
| Parameter mapping | Automatic path / query / body split from spec | Single JSON payload defined by the server |
| Auth options | None / API Key / Bearer | None / API Key / Bearer / OAuth 2.1 |
| Good for | REST APIs you already own or that your vendor exposes | Rich multi-tool servers, LLM-first vendors, OAuth flows |
At run time the LLM sees the same function-calling interface regardless of which protocol is underneath. You can mix MCP and HTTP bindings on the same LLM field.
Register an HTTP endpoint
- Navigate to MCP Servers in the sidebar.
- Click Add Tool Endpoint.
- Switch to the HTTP (OpenAPI) tab.
- Fill in the fields:
- Name (required).
- Base URL (required) — the base of the API, for example
https://api.example.com. This overrides anyserversentry in the spec at call time. - Description (optional).
- In OpenAPI Specification, pick one source:
- From URL — paste a URL to an OpenAPI document (for example
https://api.example.com/openapi.json). The platform fetches it on save. - Paste — paste the spec text directly. Both JSON and YAML are accepted; the format is auto-detected.
- From URL — paste a URL to an OpenAPI document (for example
- Pick an Authentication method:
- None — no auth headers.
- API Key — configurable
Header Name(defaultX-API-Key) plus the key value. - Bearer Token — sent as
Authorization: Bearer <token>.
- Click Add & Parse Tools.
Finding the OpenAPI spec for an API
If you don't already have the spec, here are the usual ways to locate or produce one, roughly in order of effort.
1. Check the vendor's developer portal. Most API providers publish their OpenAPI / Swagger document on their docs site, often linked as "OpenAPI spec", "Swagger JSON", "API reference (JSON)", or similar. If the docs site is built on tools like Swagger UI, Redoc, or Scalar, the spec URL is almost always one click away.
2. Try well-known paths on the API base URL. Many APIs auto-host the spec at a predictable path. Append one of these to the base URL and see if it returns JSON or YAML:
/openapi.json,/openapi.yaml/swagger.json,/swagger.yaml/v3/api-docs(Spring Boot / springdoc)/api-docs,/api/docs/schema/,/schema.json(DRF, Django Ninja)/redoc,/docs(often serves HTML — but the raw spec URL is usually exposed in the page source as aspec-urlorurlparameter)
3. Look in a public catalog. APIs.guru hosts crowd-sourced OpenAPI specs for thousands of well-known public APIs.
4. Generate one from your own API. If it's an API you control:
- FastAPI / NestJS / ASP.NET / Spring Boot: OpenAPI is generated automatically —
it's usually at
/openapi.jsonor/v3/api-docs. - Express / Flask / Rails: add a library (
swagger-jsdoc,flask-smorest,rswag) and generate. - Postman collection: export it and convert with postman-to-openapi or Postman's built-in "Export as OpenAPI" option.
5. Write a minimal spec by hand. If the API has no published spec and generation isn't feasible, you can hand-write a small OpenAPI 3.x document that covers just the endpoints the LLM should use. The Swagger Editor validates as you type. You only need to describe the operations you want as tools — unused endpoints can be omitted.
Pipelines only reads operations that appear in the spec. Leaving endpoints out is an easy way to restrict what the LLM can call, even before you configure the binding.
Tool discovery from OpenAPI
When you save an HTTP endpoint, Pipelines parses the spec and creates one tool per operation.
- Supported spec versions. OpenAPI 3.0, 3.1, and Swagger 2.0.
- Naming. Tools are named from the operation's
operationId, sanitized to[a-zA-Z0-9_-](max 128 characters; runs of underscores collapsed). When nooperationIdis present, the tool is named{method}_{path}— for exampleget_users_id. Duplicates are suffixed with_2,_3, and so on. - Description. Combined from the operation's
summaryanddescription(up to 1024 characters stored). - Input schema. Built from path parameters, query parameters, and the
application/jsonrequest body.$refs are resolved up to 10 levels deep.
At call time the LLM sees one schema per operation. Path and query parameters are assigned to their URL positions and JSON-body parameters are sent in the request body automatically based on the spec — you don't remap this from the UI.
Test connection
For HTTP endpoints, Test Connection:
- Re-parses the spec (from the stored URL or the pasted text).
- Issues a
HEADrequest to the Base URL.
Both must succeed for the endpoint to be marked Healthy. If the API doesn't allow
HEAD requests, the endpoint may appear unhealthy even when the operations themselves
work — run a real pipeline to confirm.
Refresh tools
Refresh Tools behaves differently depending on how the endpoint was registered:
- Registered with a Spec URL. Pipelines re-fetches the URL, re-parses it, and replaces the tool list. Use this to pick up upstream API changes.
- Registered by paste. Pipelines re-parses the stored text. It does not fetch anything. To pick up upstream changes, edit the endpoint and paste the new spec.
In either case, new operations become new tools, and operations that disappeared are removed from the endpoint.
Debugging checklist
- Parse errors. Confirm the spec is valid JSON or YAML. The Test Connection error message shows where parsing failed.
- Too few or too many tools. Missing
operationIds collapse duplicates via_2suffixes. Double-check you're looking at the revision you expect. HEADfails but tools work. Some APIs rejectHEAD. Confirm with a live pipeline run.- 401/403 on first call. Open Edit on the endpoint and re-enter the key or token (secrets are redacted and can't be re-read). Check the header name if you're using API key auth.
- Results come back clipped. Per-call results are truncated at 100 KB before being handed back to the LLM. Add filtering or paging in the API if the LLM needs more.