#!/usr/bin/env node import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; import { extractTextTool } from "./tools/extract-text"; import { fillPdfFormTool, getPdfFormElementsTool } from "./tools/pdf-form"; async function main() { try { const server = new McpServer({ name: process.env.MCP_SERVER_NAME || "pdf-tools-mcp-server", description: "PDF Tools MCP Server for document processing and analysis", version: process.env.MCP_SERVER_VERSION || "1.0.0", }); server.tool( extractTextTool.name, extractTextTool.description, extractTextTool.parameters, extractTextTool.handler ); server.tool( fillPdfFormTool.name, fillPdfFormTool.description, fillPdfFormTool.parameters, fillPdfFormTool.handler ); server.tool( getPdfFormElementsTool.name, getPdfFormElementsTool.description, getPdfFormElementsTool.parameters, getPdfFormElementsTool.handler ); const transport = new StdioServerTransport(); await server.connect(transport); console.error("PDF Tools MCP Server running on stdio"); } catch (error: any) { console.error("Error starting MCP server:", error.message); console.error("Stack trace:", error.stack); process.exit(1); } } main();