From fc4705678d00b2df245b03e1cb4da4743de9bbd7 Mon Sep 17 00:00:00 2001 From: Kesku Date: Mon, 23 Mar 2026 19:35:01 +0000 Subject: [PATCH 1/3] Make VERSION a const, add source headers --- src/server.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/server.ts b/src/server.ts index c8954a7..af9be58 100644 --- a/src/server.ts +++ b/src/server.ts @@ -13,6 +13,7 @@ import { ChatCompletionResponseSchema, SearchResponseSchema } from "./validation const PERPLEXITY_API_KEY = process.env.PERPLEXITY_API_KEY; const PERPLEXITY_BASE_URL = process.env.PERPLEXITY_BASE_URL || "https://api.perplexity.ai"; +const VERSION = "0.8.4"; export function getProxyUrl(): string | undefined { return process.env.PERPLEXITY_PROXY || @@ -81,6 +82,8 @@ async function makeApiRequest( const headers: Record = { "Content-Type": "application/json", "Authorization": `Bearer ${PERPLEXITY_API_KEY}`, + "User-Agent": `perplexity-mcp/${VERSION}`, + "X-Source": "mcp-server", }; if (serviceOrigin) { headers["X-Service"] = serviceOrigin; @@ -299,7 +302,7 @@ export function createPerplexityServer(serviceOrigin?: string) { const server = new McpServer( { name: "ai.perplexity/mcp-server", - version: "0.8.4", + version: VERSION, }, { instructions: From a55a930796072774e7020c28f23cc48047654654 Mon Sep 17 00:00:00 2001 From: Kesku Date: Mon, 23 Mar 2026 19:36:28 +0000 Subject: [PATCH 2/3] bump version to 0.8.5 --- .claude-plugin/marketplace.json | 4 ++-- package-lock.json | 4 ++-- package.json | 2 +- server.json | 4 ++-- src/server.ts | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 685204c..35d96be 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -6,14 +6,14 @@ }, "metadata": { "description": "Official Perplexity AI plugin providing real-time web search, reasoning, and research capabilities", - "version": "0.8.4" + "version": "0.8.5" }, "plugins": [ { "name": "perplexity", "source": "./", "description": "Real-time web search, reasoning, and research through Perplexity's API", - "version": "0.8.4", + "version": "0.8.5", "author": { "name": "Perplexity AI", "email": "api@perplexity.ai" diff --git a/package-lock.json b/package-lock.json index 3c198dd..6ae1d38 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@perplexity-ai/mcp-server", - "version": "0.8.4", + "version": "0.8.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@perplexity-ai/mcp-server", - "version": "0.8.4", + "version": "0.8.5", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "^1.21.1", diff --git a/package.json b/package.json index e0a69fd..2c9c98c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@perplexity-ai/mcp-server", - "version": "0.8.4", + "version": "0.8.5", "mcpName": "ai.perplexity/mcp-server", "description": "Real-time web search, reasoning, and research through Perplexity's API", "keywords": [ diff --git a/server.json b/server.json index 4764650..67534c8 100644 --- a/server.json +++ b/server.json @@ -3,12 +3,12 @@ "name": "ai.perplexity/mcp-server", "title": "Perplexity API Platform", "description": "Real-time web search, reasoning, and research through Perplexity's API", - "version": "0.8.4", + "version": "0.8.5", "packages": [ { "registryType": "npm", "identifier": "@perplexity-ai/mcp-server", - "version": "0.8.4", + "version": "0.8.5", "transport": { "type": "stdio" } diff --git a/src/server.ts b/src/server.ts index af9be58..587e6a3 100644 --- a/src/server.ts +++ b/src/server.ts @@ -13,7 +13,7 @@ import { ChatCompletionResponseSchema, SearchResponseSchema } from "./validation const PERPLEXITY_API_KEY = process.env.PERPLEXITY_API_KEY; const PERPLEXITY_BASE_URL = process.env.PERPLEXITY_BASE_URL || "https://api.perplexity.ai"; -const VERSION = "0.8.4"; +const VERSION = "0.8.5"; export function getProxyUrl(): string | undefined { return process.env.PERPLEXITY_PROXY || From 79ce21c5798f6993af7cac81da8067a6dc81e20d Mon Sep 17 00:00:00 2001 From: Kesku Date: Mon, 23 Mar 2026 19:38:54 +0000 Subject: [PATCH 3/3] fix test, bump to 0.9 --- .claude-plugin/marketplace.json | 4 ++-- package-lock.json | 4 ++-- package.json | 2 +- server.json | 4 ++-- src/index.test.ts | 9 +++++---- src/server.ts | 4 ++-- 6 files changed, 14 insertions(+), 13 deletions(-) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 35d96be..d54c2b8 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -6,14 +6,14 @@ }, "metadata": { "description": "Official Perplexity AI plugin providing real-time web search, reasoning, and research capabilities", - "version": "0.8.5" + "version": "0.9.0" }, "plugins": [ { "name": "perplexity", "source": "./", "description": "Real-time web search, reasoning, and research through Perplexity's API", - "version": "0.8.5", + "version": "0.9.0", "author": { "name": "Perplexity AI", "email": "api@perplexity.ai" diff --git a/package-lock.json b/package-lock.json index 6ae1d38..c5096c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@perplexity-ai/mcp-server", - "version": "0.8.5", + "version": "0.9.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@perplexity-ai/mcp-server", - "version": "0.8.5", + "version": "0.9.0", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "^1.21.1", diff --git a/package.json b/package.json index 2c9c98c..c34f6d4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@perplexity-ai/mcp-server", - "version": "0.8.5", + "version": "0.9.0", "mcpName": "ai.perplexity/mcp-server", "description": "Real-time web search, reasoning, and research through Perplexity's API", "keywords": [ diff --git a/server.json b/server.json index 67534c8..0ebc5cd 100644 --- a/server.json +++ b/server.json @@ -3,12 +3,12 @@ "name": "ai.perplexity/mcp-server", "title": "Perplexity API Platform", "description": "Real-time web search, reasoning, and research through Perplexity's API", - "version": "0.8.5", + "version": "0.9.0", "packages": [ { "registryType": "npm", "identifier": "@perplexity-ai/mcp-server", - "version": "0.8.5", + "version": "0.9.0", "transport": { "type": "stdio" } diff --git a/src/index.test.ts b/src/index.test.ts index 70499a7..21897b8 100644 --- a/src/index.test.ts +++ b/src/index.test.ts @@ -79,10 +79,11 @@ describe("Perplexity MCP Server", () => { "https://api.perplexity.ai/chat/completions", expect.objectContaining({ method: "POST", - headers: { + headers: expect.objectContaining({ "Content-Type": "application/json", Authorization: "Bearer test-api-key", - }, + "X-Source": "pplx-mcp-server", + }), body: JSON.stringify({ model: "sonar-pro", messages, @@ -200,10 +201,10 @@ describe("Perplexity MCP Server", () => { "https://api.perplexity.ai/search", expect.objectContaining({ method: "POST", - headers: { + headers: expect.objectContaining({ "Content-Type": "application/json", Authorization: "Bearer test-api-key", - }, + }), body: JSON.stringify({ query: "test query", max_results: 10, diff --git a/src/server.ts b/src/server.ts index 587e6a3..d649ccb 100644 --- a/src/server.ts +++ b/src/server.ts @@ -13,7 +13,7 @@ import { ChatCompletionResponseSchema, SearchResponseSchema } from "./validation const PERPLEXITY_API_KEY = process.env.PERPLEXITY_API_KEY; const PERPLEXITY_BASE_URL = process.env.PERPLEXITY_BASE_URL || "https://api.perplexity.ai"; -const VERSION = "0.8.5"; +const VERSION = "0.9.0"; export function getProxyUrl(): string | undefined { return process.env.PERPLEXITY_PROXY || @@ -83,7 +83,7 @@ async function makeApiRequest( "Content-Type": "application/json", "Authorization": `Bearer ${PERPLEXITY_API_KEY}`, "User-Agent": `perplexity-mcp/${VERSION}`, - "X-Source": "mcp-server", + "X-Source": "pplx-mcp-server", }; if (serviceOrigin) { headers["X-Service"] = serviceOrigin;