Installation & usage
npx docfy-mcp --spec/--url、.mcp.jsonへの登録、認証が必要なスペック向けの--headerです。
要件
npmに公開されているため、クローンもビルドも不要です。唯一の要件はNode自体です。npxが初回利用時にdocfy-mcpを取得します。
クイックスタート
bash
# from a static file
npx docfy-mcp --spec ./openapi.json
# from a locally running NestJS server
npx docfy-mcp --url http://localhost:3000/docs-json--urlは、swagger-parser自身のHTTPリゾルバーに委譲するのではなく、スペックを直接取得します。そのリゾルバーのSSRFガードはデフォルトでlocalhost/プライベートアドレスをブロックするため、ここで最もよくあるケース、つまりローカルのNest開発サーバーを指す場合が壊れてしまいます。
MCPサーバーとして登録する
json
{
"mcpServers": {
"docfy": {
"command": "npx",
"args": ["-y", "docfy-mcp", "--url", "http://localhost:3000/docs-json"]
}
}
}認証が必要なスペックには、必要な数だけ--headerを繰り返してください。
bash
npx docfy-mcp --url https://api.example.com/api-json --header "Authorization: Bearer xyz"オプション
| Option | Default | Description |
|---|---|---|
--spec <path> | — | Local OpenAPI JSON/YAML file |
--url <url> | — | URL to fetch the spec from |
--header <name: value> | none | Repeatable — extra header sent with --url requests |
404のトラブルシューティング
OpenAPI JSONのパスは固定の慣習ではありません。プロジェクトがSwaggerModule.setup()に何を渡したかによります。
--urlが404を返す場合、docfy-mcpは同じオリジン上のいくつかの一般的な兄弟パス(/api-json、/docs-json、/swagger-json…)を探査し、実際のOpenAPIドキュメントとしてパースできるものがあれば提案します。