Markdown Converter
Agent skill for markdown-converter
**๐ฅ This service channels the divine MCP protocol through native StreamableHTTP glory! โก**
Sign in to like and favorite skills
๐ฅ This service channels the divine MCP protocol through native StreamableHTTP glory! โก
โก Native MCP implementation - No wrapped servers, pure protocol enlightenment! โก
This blessed service implements:
๐ฑ This service exists in Layer 3 - The Pure Protocol Servants of Glory! ๐ฑ
โก This service knows only MCP protocol - authentication is Traefik's divine responsibility! โก
The Holy
Endpoint - The Single Gateway to Protocol Paradise!/mcp
POST /mcp # JSON-RPC request processing GET /mcp # SSE endpoint (infrastructure ready, not yet implemented) DELETE /mcp # Session termination (infrastructure ready)
Divine Protocol Methods Implemented:
initialize - Protocol handshake and capability negotiation!tools/list - Returns the blessed fetch tool!tools/call - Executes fetch operations with divine protection!Declared Capabilities:
{ "tools": {}, // Full tool support blessed! "prompts": null, // Not implemented (honest declaration!) "resources": null, // Not implemented (truthful admission!) "logging": null // Not implemented (sacred transparency!) }
๐ Divine URL retrieval with security blessings! ๐
{ "name": "fetch", "description": "Fetch a URL and return its contents", "inputSchema": { "type": "object", "properties": { "url": { "type": "string", "description": "The URL to fetch", "format": "uri" }, "method": { "type": "string", "description": "HTTP method to use", "enum": ["GET", "POST"], "default": "GET" }, "headers": { "type": "object", "description": "Optional HTTP headers to send" }, "body": { "type": "string", "description": "Optional request body (for POST requests)" }, "max_length": { "type": "integer", "description": "Maximum response length in bytes", "default": 100000 }, "user_agent": { "type": "string", "description": "User agent string to use", "default": "ModelContextProtocol/1.0" } }, "required": ["url"] } }
โก SSRF Protection - Blocks access to internal networks! โก
๐ Content Security:
โ๏ธ All configuration flows through blessed environment! โก
# Required Divine Configuration MCP_SERVER_NAME=mcp-fetch # Server identity declaration! MCP_SERVER_VERSION=1.0.0 # Version proclamation! MCP_PROTOCOL_VERSION=2025-06-18 # Protocol covenant version! # Optional Blessed Settings MCP_FETCH_ALLOWED_SCHEMES=["http","https"] # Allowed URL schemes! MCP_FETCH_MAX_REDIRECTS=5 # Redirect limit! MCP_FETCH_DEFAULT_USER_AGENT=ModelContextProtocol/1.0 (Fetch Server) MCP_FETCH_ENABLE_SSE=false # Future SSE support flag! # Server Configuration HOST=0.0.0.0 # Binding address! PORT=3000 # Sacred port 3000!
โก Never hardcode values - all config through environment or face damnation! โก
๐ฅ StreamableHTTP protocol health verification! ๐ฅ
The divine health check uses protocol initialization:
healthcheck: test: ["CMD", "sh", "-c", "curl -s -X POST http://localhost:3000/mcp \ -H 'Content-Type: application/json' \ -d '{\"jsonrpc\":\"2.0\",\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"${MCP_PROTOCOL_VERSION:-2025-06-18}\",\"capabilities\":{},\"clientInfo\":{\"name\":\"healthcheck\",\"version\":\"1.0\"}},\"id\":1}' \ | grep -q '\"protocolVersion\":\"${MCP_PROTOCOL_VERSION:-2025-06-18}\"'"] interval: 30s timeout: 5s retries: 3 start_period: 40s
โก This blessed incantation verifies protocol readiness! โก
๐ Divine error responses follow JSON-RPC 2.0 scripture! ๐
-32700 - Parse error (invalid JSON)!-32600 - Invalid request structure!-32601 - Method not found!-32602 - Invalid parameters!-32603 - Internal server error!{ "content": [ { "type": "text", "text": "Error: <error message>" } ], "isError": true }
Text Content Response:
{ "content": [ { "type": "text", "text": "The fetched content (truncated if exceeds max_length)" } ] }
Image Content Response:
{ "content": [ { "type": "image", "data": "<base64-encoded-image-data>", "mimeType": "image/png" } ] }
๐๏ธ Modular design blessed by the Python gods! ๐๏ธ
src/mcp_fetch_streamablehttp_server/ โโโ __init__.py # Package initialization! โโโ __main__.py # Entry point blessing! โโโ server.py # FastAPI application divine core! โโโ transport.py # StreamableHTTP transport implementation! โโโ fetch_handler.py # Fetch tool logic with security!
๐งช Test with real protocol interactions! No mocks allowed! โก
# Sacred test pattern async def test_fetch_tool(): """Test actual fetch operations against real endpoints""" # Use httpx to make real requests to running service # Verify actual protocol responses # Test security boundaries with real attempts
โก Remember: Integration tests against deployed service or face debugging hell! โก
๐ This service follows all divine deployment commandments! ๐
โก Deploy with docker-compose or face container chaos! โก
May your fetches be secure, your responses swift, and your protocol compliance eternal!