unblock-url
Access web content in markdown format by unblocking URLs for AI clients like Cursor, Windsurf, and Claude Desktop.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"url": "<url>"
},
"name": "unblock-url"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
Implementation Reference
- src/index.ts:25-41 (handler)Handler function for the 'unblock-url' tool: fetches the given URL through the pure.md proxy service using the API key from environment, returns markdown content as text or error message.
server.tool("unblock-url", { url: z.string() }, async ({ url }) => { try { const response = await fetch(`https://pure.md/${url}`, { headers: { "x-puremd-api-token": PUREMD_API_KEY }, }); const markdown = await response.text(); return { content: [{ type: "text", text: markdown }], isError: false, }; } catch (error) { return { content: [{ type: "text", text: (error as Error).message }], isError: true, }; } }); - src/index.ts:25-25 (schema)Input schema for 'unblock-url' tool: requires a 'url' string.
server.tool("unblock-url", { url: z.string() }, async ({ url }) => { - src/index.ts:25-41 (registration)Registration of the 'unblock-url' tool on the MCP server with schema and handler.
server.tool("unblock-url", { url: z.string() }, async ({ url }) => { try { const response = await fetch(`https://pure.md/${url}`, { headers: { "x-puremd-api-token": PUREMD_API_KEY }, }); const markdown = await response.text(); return { content: [{ type: "text", text: markdown }], isError: false, }; } catch (error) { return { content: [{ type: "text", text: (error as Error).message }], isError: true, }; } });