Created
July 10, 2025 16:13
-
-
Save bizrockman/7fbca8d1c3d30ef9c54db6f7190c6166 to your computer and use it in GitHub Desktop.
LLM friendly OpenAPI Spec for Context7
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"openapi": "3.0.0", | |
"info": { | |
"title": "Context7 API", | |
"version": "1.0.0", | |
"description": "LLM-optimized interface for accessing Context7 developer documentation." | |
}, | |
"servers": [ | |
{ | |
"url": "https://context7.com/api/v1" | |
} | |
], | |
"paths": { | |
"/search": { | |
"get": { | |
"summary": "Resolve Library ID", | |
"description": "Resolves a package/product name to a Context7-compatible library ID and returns a list of matching libraries.\n\nYou MUST call this function before 'get-library-docs' to obtain a valid Context7-compatible library ID UNLESS the user explicitly provides a library ID in the format '/org/project' or '/org/project/version' in their query.\n\nSelection Process:\n1. Analyze the query to understand what library/package the user is looking for\n2. Return the most relevant match based on:\n - Name similarity to the query (exact matches prioritized)\n - Description relevance to the query's intent\n - Documentation coverage (prioritize libraries with higher Code Snippet counts)\n - Trust score (consider libraries with scores of 7–10 more authoritative)\n\nResponse Format:\n- Return the selected library ID in a clearly marked section\n- Provide a brief explanation for why this library was chosen\n- If multiple good matches exist, acknowledge this but proceed with the most relevant one\n- If no good matches exist, clearly state this and suggest query refinements\n\nFor ambiguous queries, request clarification before proceeding with a best-guess match.", | |
"parameters": [ | |
{ | |
"name": "query", | |
"in": "query", | |
"required": true, | |
"schema": { | |
"type": "string" | |
}, | |
"description": "Library name to search for and retrieve a Context7-compatible library ID." | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "List of matching libraries with scores and identifiers" | |
} | |
} | |
} | |
}, | |
"/{libraryId}": { | |
"get": { | |
"summary": "Get Library Docs", | |
"description": "Fetches up-to-date documentation for a library.\n\nYou must call 'resolve-library-id' first to obtain the exact Context7-compatible library ID required to use this tool, UNLESS the user explicitly provides a library ID in the format '/org/project' or '/org/project/version' in their query.\n\nYou may optionally specify a topic and a token budget to narrow the documentation focus and size.", | |
"parameters": [ | |
{ | |
"name": "libraryId", | |
"in": "path", | |
"required": true, | |
"schema": { | |
"type": "string" | |
}, | |
"description": "Exact Context7-compatible library ID (e.g., '/vercel/next.js')." | |
}, | |
{ | |
"name": "topic", | |
"in": "query", | |
"required": false, | |
"schema": { | |
"type": "string" | |
}, | |
"description": "Topic to focus documentation on (e.g., 'hooks', 'routing')." | |
}, | |
{ | |
"name": "tokens", | |
"in": "query", | |
"required": false, | |
"schema": { | |
"type": "integer" | |
}, | |
"description": "Maximum number of tokens to retrieve." | |
}, | |
{ | |
"name": "type", | |
"in": "query", | |
"required": false, | |
"schema": { | |
"type": "string", | |
"default": "txt" | |
}, | |
"description": "Response format (e.g., 'txt')." | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Library documentation" | |
} | |
} | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment