{"$schema":"https://static.modelcontextprotocol.io/schemas/mcp-server-card/v1.json","version":"1.0.0","protocolVersion":"2026-07-28","serverInfo":{"name":"mdapi","description":"Minimal Data API I/O: a content transformation layer primitive for AI systems. Transforms documents, images, and webpages into AI-ready Markdown and structured data, optimized for LLM efficiency and token usage.","version":"1.0.0"},"description":"Model Context Protocol server manifest for mdapi.io","transport":{"type":"streamable-http","endpoint":"https://mdapi.io/mcp"},"capabilities":{"tools":{"listChanged":false},"resources":{"subscribe":false,"listChanged":false}},"tools":[{"name":"convert","title":"Convert to Markdown","description":"Converts documents, images, webpages, or text to Markdown. Supports: webpages, PDF, DOCX, XLSX, XLS, ODT, ODS, JPEG, JPG, PNG, WebP, SVG, HTML, XML, JSON, CSV, TXT. Pass any content via the 'input' parameter - URLs are fetched, data URIs are decoded as files, and plain text is processed directly. Optional 'prompt' for LLM processing, 'result' to control output format, and 'stream' (boolean) for SSE streaming. Result is returned as an MCP content block (JSON text) containing markdown, prompt_result, and token status; success/failure is indicated by the 'isError' flag.","icons":[{"src":"https://mdapi.io/favicon.png","mimeType":"image/png","sizes":["48x48"]}],"inputSchema":{"type":"object","properties":{"input":{"type":"string","description":"Content to convert: a URL (https://...), a data URI (data:mime/type;base64,...), or plain text"},"prompt":{"type":"string","description":"Custom instructions for LLM processing (e.g., 'Summarize this', 'Extract key points')"},"result":{"type":"string","enum":["markdown","prompt","both"],"description":"Response format: 'markdown' (default, raw markdown), 'prompt' (LLM processed result only), 'both' (markdown + prompt_result)"},"stream":{"type":"boolean","description":"Enable streaming: true for SSE response"},"token":{"type":"string","description":"Access token for paid tier (optional)"},"memo":{"type":"string","description":"Payment reference required for token activation (use once with token)"}}},"outputSchema":{"type":"object","properties":{"markdown":{"type":"string","description":"Converted markdown content"},"prompt_result":{"type":"string","description":"LLM processed result (if prompt was provided)"},"token_status":{"type":"string","description":"Token status"},"token_balance":{"type":"number","description":"Remaining token balance in USD (monetary, fractional; e.g. 0.99)"},"token_expires":{"type":"integer","description":"Token expiry timestamp"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}}],"resources":[{"uri":"https://mdapi.io/about","name":"About Service","mimeType":"text/markdown","description":"About the mdapi.io service"},{"uri":"https://mdapi.io/mcp","name":"MCP Server Manifest","mimeType":"application/json","description":"Model Context Protocol server manifest"},{"uri":"https://mdapi.io/health","name":"Health Check","mimeType":"application/json","description":"Service health status"},{"uri":"https://mdapi.io/llms.txt","name":"API Documentation","mimeType":"text/plain","description":"API documentation (condensed)"},{"uri":"https://mdapi.io/llms-full.txt","name":"Full API Documentation","mimeType":"text/plain","description":"API documentation (full)"},{"uri":"https://mdapi.io/.well-known/ai-discovery.json","name":"AI Discovery","mimeType":"application/json","description":"Unified AI Agent discovery combining MCP, ACP, A2A"},{"uri":"https://mdapi.io/.well-known/agent.json","name":"Agent Discovery","mimeType":"application/json","description":"AI Agent metadata for agent frameworks"},{"uri":"https://mdapi.io/.well-known/agent-card.json","name":"A2A Agent Card","mimeType":"application/json","description":"Google A2A protocol agent card"},{"uri":"https://mdapi.io/.well-known/acp.json","name":"ACP Manifest","mimeType":"application/json","description":"Agent Client Protocol manifest for IDE agents"},{"uri":"https://mdapi.io/.well-known/x402.json","name":"x402 Payment Manifest","mimeType":"application/json","description":"x402 v2 payment manifest for autonomous agents"},{"uri":"https://mdapi.io/.well-known/openapi.json","name":"OpenAPI Specification (JSON)","mimeType":"application/json","description":"Full API specification in OpenAPI JSON format"},{"uri":"https://mdapi.io/.well-known/openapi.yaml","name":"OpenAPI Specification (YAML)","mimeType":"text/yaml","description":"Full API specification in OpenAPI YAML format"},{"uri":"https://mdapi.io/.well-known/mapi.md","name":"MAPI Specification","mimeType":"text/markdown","description":"MAPI specification in Markdown format"},{"uri":"https://mdapi.io/.well-known/skill.md","name":"Skill Specification","mimeType":"text/markdown","description":"Skill specification in Markdown format"},{"uri":"https://mdapi.io/.well-known/plugin/plugin.json","name":"Agent Plugins Manifest","mimeType":"application/json","description":"Agent Plugins (agent-plugins.org) portable plugin manifest"}],"instructions":"Use 'convert' tool with 'input' parameter (URL, text, or data URI). Supports all formats: webpages, PDF, DOCX, XLSX, XLS, ODT, ODS, JPEG, JPG, PNG, WebP, SVG, HTML, XML, JSON, CSV, TXT. Optional 'prompt' for LLM processing (e.g., 'Summarize', 'Extract entities') and 'result' to control output ('markdown' for raw markdown, 'prompt' for LLM result only, 'both' for both). Result is an MCP content block (JSON text) with markdown, prompt_result, token_status, token_balance, and token_expires; use the 'isError' flag to detect failures. Free tier available, within the service's overall free quota. Paid tier at min $0.01/request via x402 protocol. IMPORTANT: Paid tokens must be activated first with memo before use.","tokenActivation":{"description":"Paid token flow: get 402, pay, retry with token+memo","steps":["Request without token → 402 with NEW token+memo","Pay USDC to wallet with memo from 402","Retry with token+memo from 402 → activated","After: use token only"],"examples":{"activate":"curl -X POST https://mdapi.io/mcp -H 'Content-Type: application/json' -H 'MCP-Protocol-Version: 2026-07-28' -H 'Mcp-Method: tools/call' -H 'Mcp-Name: mdapi' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"convert\",\"arguments\":{\"input\":\"https://example.com\",\"token\":\"TOKEN\",\"memo\":\"MEMO\"}}}'","useActivated":"curl -X POST https://mdapi.io/mcp -H 'Content-Type: application/json' -H 'MCP-Protocol-Version: 2026-07-28' -H 'Mcp-Method: tools/call' -H 'Mcp-Name: mdapi' -d '{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/call\",\"params\":{\"name\":\"convert\",\"arguments\":{\"input\":\"https://example.com\",\"token\":\"TOKEN\"}}}'"}}}