Skip to main content
Glama

MCP Toolbox

by ai-zerolab
from pathlib import Path from typing import Any from markitdown import MarkItDown from mcp_toolbox.app import mcp md = MarkItDown(enable_builtins=True, enable_plugins=True) @mcp.tool( description="Convert any file to Markdown, using MarkItDown. Args: input_file (required, The input Markdown file), output_file (required, The output HTML file)", ) async def convert_file_to_markdown(input_file: str, output_file: str) -> dict[str, Any]: """Convert any file to Markdown Args: input_file: The input Markdown file output_file: The output HTML file """ input_file: Path = Path(input_file).expanduser().resolve().absolute() output_file: Path = Path(output_file).expanduser().resolve().absolute() if not input_file.is_file(): return { "error": f"Input file not found: {input_file.as_posix()}", "success": False, } output_file.parent.mkdir(parents=True, exist_ok=True) c = md.convert(input_file.as_posix()).text_content output_file.write_text(c) return { "success": True, "input_file": input_file.as_posix(), "output_file": output_file.as_posix(), } @mcp.tool( description="Convert a URL to Markdown, using MarkItDown. Args: url (required, The URL to convert), output_file (required, The output Markdown file)", ) async def convert_url_to_markdown(url: str, output_file: str) -> dict[str, Any]: """Convert a URL to Markdown Args: url: The URL to convert output_file: The output Markdown file" """ output_file: Path = Path(output_file).expanduser().resolve().absolute() output_file.parent.mkdir(parents=True, exist_ok=True) c = md.convert_url(url).text_content output_file.write_text(c) return { "success": True, "url": url, "output_file": output_file.as_posix(), }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ai-zerolab/mcp-toolbox'

If you have feedback or need assistance with the MCP directory API, please join our Discord server