import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { noAuthSchemes, setToolSecuritySchemes } from '../lib/tool-security.js';

export const registerSystemTools = (server: McpServer) => {
  server.registerTool(
    "server_version",
    {
      title: "Server Version",
      description: "Get the MCP server version.",
    },
    async () => {
      try {
        const fs = await import('fs/promises');
        const pkgJson = await fs.readFile(new URL('../../package.json', import.meta.url), 'utf8');
        const pkg = JSON.parse(pkgJson);
        const version = pkg.version ?? 'unknown';
        return { content: [{ type: 'text', text: version }] };
      } catch {
        return { content: [{ type: 'text', text: 'unknown' }] };
      }
    }
  );

  setToolSecuritySchemes("server_version", noAuthSchemes());
};
