fix(mcp): read version from package.json instead of hardcoding (#431)
This commit is contained in:
parent
1ad3388132
commit
021236378b
@ -9,6 +9,8 @@
|
|||||||
|
|
||||||
import { createServer, type IncomingMessage, type ServerResponse } from "node:http";
|
import { createServer, type IncomingMessage, type ServerResponse } from "node:http";
|
||||||
import { randomUUID } from "node:crypto";
|
import { randomUUID } from "node:crypto";
|
||||||
|
import { readFileSync } from "node:fs";
|
||||||
|
import { join, dirname } from "node:path";
|
||||||
import { fileURLToPath } from "url";
|
import { fileURLToPath } from "url";
|
||||||
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
|
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
|
||||||
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
||||||
@ -80,6 +82,16 @@ function formatSearchSummary(results: SearchResultItem[], query: string): string
|
|||||||
return lines.join('\n');
|
return lines.join('\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getPackageVersion(): string {
|
||||||
|
try {
|
||||||
|
const pkgPath = join(dirname(fileURLToPath(import.meta.url)), "../../package.json");
|
||||||
|
const pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
|
||||||
|
return pkg.version ?? "unknown";
|
||||||
|
} catch {
|
||||||
|
return "unknown";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// =============================================================================
|
// =============================================================================
|
||||||
// MCP Server
|
// MCP Server
|
||||||
// =============================================================================
|
// =============================================================================
|
||||||
@ -157,7 +169,7 @@ async function buildInstructions(store: QMDStore): Promise<string> {
|
|||||||
*/
|
*/
|
||||||
async function createMcpServer(store: QMDStore): Promise<McpServer> {
|
async function createMcpServer(store: QMDStore): Promise<McpServer> {
|
||||||
const server = new McpServer(
|
const server = new McpServer(
|
||||||
{ name: "qmd", version: "0.9.9" },
|
{ name: "qmd", version: getPackageVersion() },
|
||||||
{ instructions: await buildInstructions(store) },
|
{ instructions: await buildInstructions(store) },
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user