LABSCO SUMMARY
Any HTTP API becomes tools without writing a server for it.
The value is in the controls rather than the conversion: filtering decides which endpoints a model even sees, redaction rules keep secrets out of the transcript, and response limits stop one call filling the context.
What it is
A generic OpenAPI-to-MCP bridge. It parses a specification and exposes the operations you select as tools, with custom extensions controlling which operations appear, what they are called, and how requests are signed.
What you get
- Operations filtered by path pattern, HTTP method, operation id or tag, so a large spec becomes the handful of tools you meant
- Tool names generated from a pattern you choose, with prefixes and suffixes, rather than whatever the spec called them
- Specification patches applied on top of the original — descriptions and examples added without editing the vendor's file
- Custom authentication protocols including Tencent Cloud API Signature V3, and script-generated values for headers, parameters and auth
- Sensitive parameters and response fields marked for automatic redaction, and response length and keys limited so a large payload does not flood the context
- A debug mode for when a call is not going out the way you expect
Requirements
An OpenAPI specification for the service you want to call, and whatever credentials that service needs — this carries them, it does not issue them. Base URL, default headers, proxy, timeout and retry all sit in the request configuration.
Setup effort
One command — deno run --allow-all jsr:@mcpc/oapi-invoker-mcp/bin
USE CASES
Making an internal API callable by an assistant
The specification you already have becomes tools directly, so nobody writes and then maintains a wrapper server for it.
Exposing three endpoints out of a very large spec
Filter by path, method, operation id or tag, and the tool list stays small enough for a model to choose well.
Calling an API whose auth is not a bearer token
Custom signing, including Tencent Cloud's V3 signature, plus script-generated header values for schemes that compute something per request.
Keeping secrets and huge payloads out of the transcript
Mark the sensitive parameters and response fields for redaction, and cap response length and keys before the reply comes back.
Improving a spec you do not own
Patch descriptions and examples on top of the vendor's file, so the tool descriptions a model reads are the useful version.
BEFORE YOU INSTALL
What to know first
Requires
npx on PATH
Where it runs
Both documented setups run the server on your machine.
INSTALLATION
Connect your client
Server setup
deno run --allow-all jsr:@mcpc/oapi-invoker-mcp/binMCP Clients
Any MCP client — Deno
{
"mcpServers": {
"capi-invoker": {
"command": "deno",
"args": [
"run",
"--allow-all",
"jsr:@mcpc/oapi-invoker-mcp/bin"
],
"env": {
"SPEC_URL": "https://api.github.com/openapi.json",
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
},
"transportType": "stdio"
}
}
}Any MCP client — npx
{
"mcpServers": {
"capi-invoker": {
"command": "npx",
"args": [
"-y",
"deno",
"run",
"--allow-all",
"jsr:@mcpc/oapi-invoker-mcp/bin"
],
"env": {
"SPEC_URL": "https://api.github.com/openapi.json",
"OAPI_INVOKER_DEBUG": "1"
},
"transportType": "stdio"
}
}
}