{"name":"Toolora MCP Server","version":"1.0.0","protocolVersion":"2025-03-26","transport":"Streamable HTTP","endpoint":"/api/mcp","tools":[{"name":"extract_pdf_text","description":"Extract all plain text from a PDF file. Accepts the file as a base64-encoded string. Returns the text content, page count, word count, and character count. Useful for reading documents, research papers, invoices, or any PDF without needing to open it."},{"name":"merge_pdfs","description":"Merge 2 to 20 PDF files into a single PDF document. Each file is provided as a base64-encoded string. Returns the merged PDF as a base64 PNG. Ideal for combining reports, invoices, chapters, or any multi-file PDF workflow."},{"name":"generate_qr_code","description":"Generate a QR code image from any text or URL. Returns a base64-encoded PNG. Supports custom size and error correction level. Useful for creating shareable links, contact cards, payment addresses, or any scannable code."},{"name":"csv_to_json","description":"Convert a CSV string into a JSON array of objects. The first row is treated as column headers by default. Handles quoted fields, embedded commas, and CRLF line endings. Useful for processing spreadsheet exports, data files, and tabular data."},{"name":"json_to_csv","description":"Convert a JSON array of objects into a CSV string. Column names are inferred from all object keys. Handles special characters, embedded commas, and quotes with proper escaping. Returns a CSV with CRLF line endings."},{"name":"ocr_image","description":"Extract text from an image using OCR (Optical Character Recognition). Accepts the image as a base64-encoded string. Returns extracted text, confidence score, and word count. Useful for reading scanned documents, screenshots, handwritten notes, or any image where text needs to be extracted without a vision model."},{"name":"extract_docx_text","description":"Extract all plain text from a Microsoft Word (.docx) file. Accepts the file as a base64-encoded string. Returns the full text, paragraph count, word count, and character count. Works with files from Microsoft Word, Google Docs, and LibreOffice."},{"name":"excel_to_json","description":"Parse an Excel file (.xlsx, .xls, .csv, .ods) and return all sheets as JSON arrays of objects. Column headers from the first row become object keys. Returns a map of sheet name to row array, plus total row count."},{"name":"transcribe_audio","description":"Transcribe speech from an audio file to text using OpenAI Whisper (gpt-4o-mini-transcribe). Accepts the audio as a base64-encoded string. Returns the full transcript, word count, and character count. Supported formats: flac, m4a, mp3, mp4, mpeg, mpga, oga, ogg, wav, webm. Maximum file size: 25MB. Great for transcribing meeting recordings, podcasts, voice notes, interviews, or any spoken audio."},{"name":"scrape_url_js","description":"Fetch and extract content from a web page that requires JavaScript rendering (SPAs, dynamically loaded content). Unlike read_url which uses simple HTTP fetch, this tool uses a headless browser to render the page first. Returns clean text or markdown. Use for React/Next.js/Angular/Vue apps, product pages, news sites behind JS paywalls, or any page where read_url returns empty content."},{"name":"count_words","description":"Count words, characters, sentences, and paragraphs in a block of text. Also returns estimated reading time. Useful for checking document stats, validating content length, or summarising text metrics."},{"name":"read_url","description":"Fetch a public web page and return its main readable content as plain text, along with the title, author, and excerpt. Uses Mozilla Readability to strip navigation, ads, and boilerplate. Great for reading articles, documentation, or any page you want to process without a browser."}],"usage":{"addToClaudeDesktop":{"mcpServers":{"toolora":{"url":"https://api.toolora.dev/api/mcp","transport":"http"}}}}}