io.github.mgaruccio/openapi-navigator
PYPI · OPENAPI-NAVIGATOR · SCANNED SEP 21
Navigate and query OpenAPI specs with fuzzy search, pagination, and API testing
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security50
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 2 of 30 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency6
- Repository check failed: the declared repository URL returned HTTP 404. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: no license is declared. See how to fix → Fail
- Actively maintained (last published 241 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability81
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 990 tokens (~90/item across 11 items; 11 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
- Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the io.github.mgaruccio/openapi-navigator MCP server?
io.github.mgaruccio/openapi-navigator runs locally as a PyPI package, launched with uvx openapi-navigator. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · openapi-navigator
claude mcp add mgaruccio-openapi-navigator -- uvx openapi-navigator
{
"mcpServers": {
"mgaruccio-openapi-navigator": {
"command": "uvx",
"args": [
"openapi-navigator"
]
}
}
} {
"servers": {
"mgaruccio-openapi-navigator": {
"command": "uvx",
"args": [
"openapi-navigator"
]
}
}
} codex mcp add mgaruccio-openapi-navigator -- uvx openapi-navigator
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mgaruccio-openapi-navigator": {
"type": "local",
"command": [
"uvx",
"openapi-navigator"
],
"enabled": true
}
}
} openclaw mcp add mgaruccio-openapi-navigator --command uvx --arg openapi-navigator
mcp_servers:
mgaruccio-openapi-navigator:
command: "uvx"
args: ["openapi-navigator"] {
"McpServers": {
"mgaruccio-openapi-navigator": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"openapi-navigator"
]
}
}
} assistant mcp add mgaruccio-openapi-navigator -t stdio -c uvx -a openapi-navigator
{
"mcpServers": {
"mgaruccio-openapi-navigator": {
"command": "uvx",
"args": [
"openapi-navigator"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 21 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 −3
- Stability: pass → 0.80 functional
- 18 Sept 26 +1
- Stability: 0.97 → pass security
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 −14
- Malware scan: pass → unverified ▼ security
- 13 Sept 26 +15
- Malware scan: unverified → pass ▲ security
- 12 Sept 26 −3
- Stability: pass → 0.80 functional
- 11 Sept 26 −14
- Malware scan: pass → unverified ▼ security
- Stability: 0.97 → pass security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Sept 2026 · Analysed pypi/openapi-navigator@0.5.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 30 packages
| Packages resolved | 30 |
|---|---|
| Stale | 2 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
get_endpoint Get Endpoint ~90
Get the operation definition for a specific endpoint.
| Name | Type | Req | Description |
|---|---|---|---|
| method | string | yes | HTTP method (e.g., 'GET', 'POST') |
| path | string | yes | API path (e.g., '/users/{id}') |
| spec_id | string | yes | ID of the loaded spec to query |
| summary_only | boolean | – | If True, return only essential fields to reduce token usage (default: False) |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
get_schema Get Schema ~49
Get a specific schema definition from a loaded OpenAPI specification.
| Name | Type | Req | Description |
|---|---|---|---|
| schema_name | string | yes | Name of the schema to retrieve |
| spec_id | string | yes | ID of the loaded spec to query |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
get_spec_metadata Get Spec Metadata ~63
Get comprehensive metadata about a loaded OpenAPI specification. This includes information about the spec version, title, description, base path, servers, contact info, license, and counts of endpoints and schemas.
| Name | Type | Req | Description |
|---|---|---|---|
| spec_id | string | yes | ID of the loaded spec to query |
Structured output declared, but exposes no named fields.
No examples provided.
list_loaded_specs List Loaded Specs ~29
List all currently loaded OpenAPI specifications. Returns: List of spec IDs that are currently loaded
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | array | yes | – |
No examples provided.
load_spec Load Spec ~63
Load an OpenAPI specification from a local file.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Absolute path to the OpenAPI spec file (YAML or JSON) |
| spec_id | – | – | Optional custom identifier for the spec. If not provided, will use 'file:{file_path}' |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
load_spec_from_url Load Spec From Url ~60
Load an OpenAPI specification from a URL.
| Name | Type | Req | Description |
|---|---|---|---|
| spec_id | – | – | Optional custom identifier for the spec. If not provided, will use 'url:{url}' |
| url | string | yes | URL to the OpenAPI spec (YAML or JSON) |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
make_api_request Make Api Request ~206
Make a generic REST API request with full control over method, headers, parameters, and body. This tool enables direct interaction with REST APIs, complementing the OpenAPI exploration tools by allowing you to actually call the endpoints you've discovered.
| Name | Type | Req | Description |
|---|---|---|---|
| data | string | – | Request body data as a string (JSON, XML, form data, etc.) (optional) |
| headers | object | – | Dictionary of HTTP headers to include in the request (optional) |
| method | string | – | HTTP method (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS). Defaults to GET. |
| params | object | – | Dictionary of URL parameters to append to the URL (optional) |
| spec_id | string | – | Optional spec ID to automatically apply headers from set_spec_headers. Request headers take precedence over spec headers. (optional) |
| timeout | integer | – | Request timeout in seconds. Defaults to 30. |
| url | string | yes | The full URL to make the request to |
Structured output declared, but exposes no named fields.
No examples provided.
search_endpoints Search Endpoints ~148
Search endpoints using fuzzy matching across paths, summaries, and operation IDs with pagination. To get a full list of all endpoints, use an empty string "" or a very short query like "a" as the search term. The search will return all endpoints with a relevance score of 100 when the query is very short.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum number of results to return (default 50, max 200) |
| offset | integer | – | Number of results to skip for pagination (default 0) |
| query | string | yes | Search query string. Use "" or "a" to get all endpoints. |
| spec_id | string | yes | ID of the loaded spec to query |
Structured output declared, but exposes no named fields.
No examples provided.
search_schemas Search Schemas ~141
Search schema names using fuzzy matching with pagination. To get a full list of all schemas, use an empty string "" or a very short query like "a" as the search term. The search will return all schemas with a relevance score of 100 when the query is very short.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum number of results to return (default 50, max 200) |
| offset | integer | – | Number of results to skip for pagination (default 0) |
| query | string | yes | Search query string. Use "" or "a" to get all schemas. |
| spec_id | string | yes | ID of the loaded spec to query |
Structured output declared, but exposes no named fields.
No examples provided.
set_spec_headers Set Spec Headers ~109
Set default headers for API requests to a loaded OpenAPI spec. This allows you to "mount" authentication or other headers to a spec once, rather than passing them on every make_api_request call. When making requests with make_api_request, you can reference the spec_id to automatically apply these headers.
| Name | Type | Req | Description |
|---|---|---|---|
| headers | object | – | Dictionary of HTTP headers to use by default (optional, defaults to empty) |
| spec_id | string | yes | ID of the loaded spec to set headers for |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
unload_spec Unload Spec ~32
Unload an OpenAPI specification from memory.
| Name | Type | Req | Description |
|---|---|---|---|
| spec_id | string | yes | ID of the loaded spec to unload |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
What is the io.github.mgaruccio/openapi-navigator MCP server?
io.github.mgaruccio/openapi-navigator is an MCP server listed in the public MCP registry as io.github.mgaruccio/openapi-navigator. Navigate and query OpenAPI specs with fuzzy search, pagination, and API testing. This page covers its PyPI package (openapi-navigator).
Is the io.github.mgaruccio/openapi-navigator MCP server safe to use?
io.github.mgaruccio/openapi-navigator scores 61 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.mgaruccio/openapi-navigator MCP server expose?
io.github.mgaruccio/openapi-navigator exposes 11 tools: load_spec, load_spec_from_url, unload_spec, list_loaded_specs, get_endpoint, and 6 more. Their descriptions and schemas cost roughly 990 tokens of context every time the server is loaded.
Is the io.github.mgaruccio/openapi-navigator MCP server still maintained?
io.github.mgaruccio/openapi-navigator is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.