-
Notifications
You must be signed in to change notification settings - Fork 2
FAQ
oapi-codegen is already the de-facto standard for OpenAPI → Go HTTP clients, with active community support. Reinventing it would mean owning request signing, retries, mocking, generics, error types, and a thousand spec edge cases. By delegating, the generated MCP code stays small and benefits from every oapi-codegen improvement. See Design Decisions.
Yes. -mode=proxy produces a complete Go module — main.go, go.mod, the generated package, and a README.md. One command, then go build. See Proxy Mode.
Yes — directly. The loader detects Swagger 2.0 and converts via kin-openapi/openapi2conv internally. You only need -emit-v3 when something downstream (like oapi-codegen) needs the v3 form. See Swagger 2.0 Workflow.
Only application/json responses are decoded into structured tool results. Other content types are surfaced as raw bytes so nothing is silently lost.
To avoid name collisions and mirror the HTTP wire shape — both help LLM tool-use accuracy. See Schema Modes.
Yes. Change one import and one constructor line in main.go. The generated *.mcp.go is identical. See MCP Backends.
Yes. Use the x-mcp extension on operations, path-items, or the document. Pair with -exclude-by-default for curated opt-in mode. See x-mcp Filtering.
Point -spec at a directory, glob, or comma-separated list. Each spec lands in its own subdirectory under -out. See Batch Mode.
By design — generation is reproducible. If you have a hand-edited *.mcp.go, it'll be a fatal error until you pass -force. Hand-editing isn't supported; if you need to change behavior, change the generator or use Runtime Options.
Use -openai-compat to emit the strict JSON Schema dialect OpenAI accepts. You'll still need an MCP server (or wrapper) to expose the tools — openapi-go-mcp only emits MCP tools.
Yes — it's the OpenAPI counterpart to redpanda-data/protoc-gen-go-mcp. Portions of pkg/runtime and pkg/generator/naming.go are adapted from it under Apache 2.0.
Open an issue. Include the spec snippet, the command you ran, and the actual vs expected output.
docs/changelog.md. User-visible changes go under ## Unreleased.
Repo · Releases · Issues · Discussions · Apache 2.0
Get started
Modes
Features
Deploy
Reference
Project