{"serverId":"mcp-registry/io.github.hadirizvi093/inktomd-mcp","tools":[{"name":"convert_arxiv","fixed":{"name":"convert_arxiv","description":"Convert any ArXiv research paper to clean structured Markdown. Accepts both abstract page URLs (arxiv.org/abs/PAPER_ID) and direct PDF links (arxiv.org/pdf/PAPER_ID). Returns the full paper content with headings, sections, and content preserved — uses significantly fewer tokens than the PDF format for AI analysis.","inputSchema":{"type":"object","title":"convert_arxivArguments","required":["url"],"properties":{"url":{"type":"string","title":"Url"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":137,"tokensAfter":137},{"name":"convert_batch","fixed":{"name":"convert_batch","description":"\n    Convert multiple URLs to Markdown in a single call. \n    Maximum 10 URLs per batch. Each URL is converted independently.\n    \n    Args:\n        urls: List of URLs to convert. Maximum 10. Each must start with http:// or https://\n    \n    Returns:\n        All converted Markdown documents combined, clearly separated with headers\n    ","inputSchema":{"type":"object","title":"convert_batchArguments","required":["urls"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":154,"tokensAfter":154},{"name":"convert_file","fixed":{"name":"convert_file","description":"Convert a local file to clean AI-ready Markdown. Supports PDF, Word (.doc/.docx), Excel (.xls/.xlsx), PowerPoint (.ppt/.pptx), EPUB, HTML, CSV, JSON, XML, Jupyter notebooks (.ipynb), Email files (.eml/.msg), ZIP archives (.zip), and 7-Zip archives (.7z). Provide the absolute file path. Maximum file size: 20MB.","inputSchema":{"type":"object","title":"convert_fileArguments","required":["file_path"],"properties":{"file_path":{"type":"string","title":"File Path"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":141,"tokensAfter":141},{"name":"convert_url","fixed":{"name":"convert_url","description":"Convert any URL to clean AI-ready Markdown. Supports webpages, YouTube videos, ArXiv papers, Wikipedia articles, Substack newsletters, RSS feeds, Google Docs, GitHub pages, and more. Returns Markdown with up to 63% fewer tokens than the raw source HTML.","inputSchema":{"type":"object","title":"convert_urlArguments","required":["url"],"properties":{"url":{"type":"string","title":"Url"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":119,"tokensAfter":119},{"name":"convert_with_metadata","fixed":{"name":"convert_with_metadata","description":"\n    Convert a file or URL to Markdown and return both content and structured metadata.\n    Metadata includes title, estimated token counts for all major models, word count,\n    character count, and reading time.\n    \n    Args:\n        source: Either a URL (starting with http/https) or absolute file path\n        source_type: Either \"url\" or \"file\". Default: \"url\"\n    \n    Returns:\n        Markdown content with a metadata header block containing all stats\n    ","inputSchema":{"type":"object","title":"convert_with_metadataArguments","required":["source"],"properties":{"source":{"type":"string","title":"Source"},"source_type":{"type":"string","title":"Source Type","default":"url"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":210,"tokensAfter":210},{"name":"convert_youtube","fixed":{"name":"convert_youtube","description":"Extract the full transcript from any public YouTube video as clean Markdown. Works with standard watch links (youtube.com/watch?v=) and short links (youtu.be/). The video must have captions enabled — including auto-generated captions. Returns the transcript as flowing Markdown paragraphs, not raw caption fragments.","inputSchema":{"type":"object","title":"convert_youtubeArguments","required":["url"],"properties":{"url":{"type":"string","title":"Url"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":139,"tokensAfter":139},{"name":"count_tokens","fixed":{"name":"count_tokens","description":"\n    Count the exact number of tokens in a text string for a specific AI model.\n    Uses tiktoken for OpenAI models and estimates for others.\n    \n    Args:\n        text: The text to count tokens for\n        model: The AI model to count tokens for. Options: gpt-4o, gpt-4o-mini, \n               gpt-4.1, claude-sonnet, claude-haiku, gemini-pro, gemini-flash,\n               llama-4, deepseek-v3, mistral-large. Default: gpt-4o\n    \n    Returns:\n        Token count information including count, contex","inputSchema":{"type":"object","title":"count_tokensArguments","required":["text"],"properties":{"text":{"type":"string","title":"Text"},"model":{"type":"string","title":"Model","default":"gpt-4o"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":209,"tokensAfter":209},{"name":"list_supported_formats","fixed":{"name":"list_supported_formats","description":"List all file formats and URL types that inktomd supports for conversion to Markdown. Use this to check whether a specific file type or URL source is supported before attempting conversion.","inputSchema":{"type":"object","title":"list_supported_formatsArguments","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":92,"tokensAfter":92}],"toolsChanged":8,"tokensSaved":0,"todo":[{"tool":"convert_arxiv","params":["url"]},{"tool":"convert_batch","params":["urls"]},{"tool":"convert_file","params":["file_path"]},{"tool":"convert_url","params":["url"]},{"tool":"convert_with_metadata","params":["source","source_type"]},{"tool":"convert_youtube","params":["url"]},{"tool":"count_tokens","params":["text","model"]},{"tool":"prepare_for_rag","params":["source","overlap","chunk_size","source_type"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}