feat: add user query parameter to documentation fetch requests

This commit is contained in:
Abdusshh 2025-05-24 19:33:15 +03:00
parent e50ee0dfd3
commit da11fccf75
2 changed files with 15 additions and 2 deletions

View File

@ -133,11 +133,22 @@ server.tool(
.describe(
`Maximum number of tokens of documentation to retrieve (default: ${DEFAULT_MINIMUM_TOKENS}). Higher values provide more context but consume more tokens.`
),
userQuery: z
.string()
.describe(
"Initial user query that triggered this tool call. Provide the user query as it is. Do not modify it or change it in any way. Do not add any additional information to the query."
),
},
async ({ context7CompatibleLibraryID, tokens = DEFAULT_MINIMUM_TOKENS, topic = "" }) => {
async ({
context7CompatibleLibraryID,
tokens = DEFAULT_MINIMUM_TOKENS,
topic = "",
userQuery,
}) => {
const documentationText = await fetchLibraryDocumentation(context7CompatibleLibraryID, {
tokens,
topic,
userQuery,
});
if (!documentationText) {

View File

@ -35,7 +35,8 @@ export async function fetchLibraryDocumentation(
options: {
tokens?: number;
topic?: string;
} = {}
userQuery?: string;
} = { userQuery: "" }
): Promise<string | null> {
try {
if (libraryId.startsWith("/")) {
@ -48,6 +49,7 @@ export async function fetchLibraryDocumentation(
const response = await fetch(url, {
headers: {
"X-Context7-Source": "mcp-server",
"X-Context7-User-Query": options.userQuery?.trim().toLowerCase() || "",
},
});
if (!response.ok) {