Use Toolsy tools from any MCP-compatible AI agent — Claude Desktop, Cursor, Windsurf, n8n, custom agents, anything that speaks MCP. Free with a personal API key.
Sign in with Google — it's free.
Dashboard → API Keys → New API key.
Paste your key into your AI agent's MCP config below.
Supports Streamable HTTP (POST + GET for SSE). Auth via Authorization: Bearer <key>.
Add to your MCP config file (e.g. claude_desktop_config.json):
{
"mcpServers": {
"toolsy": {
"url": "https://toolsy.my/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Agent platforms like Claude.ai use OAuth 2.1 — they discover Toolsy's authorization server automatically and prompt you to approve. Two paths depending on the platform:
Most modern agents (Claude.ai included) handle this automatically. They register with our /oauth/register endpoint without your input.
https://toolsy.my/api/mcpFor agents that don't support DCR, register an OAuth app yourself and paste the credentials.
https://claude.ai/api/mcp/auth_callbackOur OAuth discovery metadata is at /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server (RFC 9728 + 8414). PKCE S256 required, audience-bound tokens (RFC 8707), refresh token rotation.
curl -X POST https://toolsy.my/api/mcp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}'Free tier: 1,000 requests per day per API key, shared across all tools. The counter resets at the start of each 24-hour window. Generate up to 10 keys per account.
base64_codecEncode plain text to Base64 or decode a Base64 string back to text. Input: the text/Base64 string and an action ("encode" or "decode"); optionally URL-safe variant. Returns the resulting string.
clipboard_shareUploads text or code to generate a shareable URL. Accepts content (max 100k chars), optional title, language for syntax highlighting, password, burnAfterRead boolean, and expiresIn duration. Returns the unique access URL, clip code, and expiration timestamp.
html_to_pdfConverts HTML content into a structured PDF document by normalizing HTML to Markdown before rendering. Accepts an html string along with optional styling parameters like pageSize, orientation, and headingColor. Returns a temporary URL to the generated PDF file that remains valid for 24 hours.
image_convertDownloads an image from a provided url and converts it to the specified format (png, jpeg, webp, avif, or gif) while preserving dimensions. Accepts an optional quality integer (1-100) for lossy formats and returns a temporary URL to the converted file valid for 24 hours.
markdown_to_pdfConverts Markdown text into a styled PDF document. Accepts markdown content along with layout options like pageSize, orientation, and styling fields like fontFamily or headingColor. Returns a URL to the generated PDF file that remains valid for 24 hours.
count_gpt_tokensCalculates the token count for a string using OpenAI tokenizers. Accepts a text string and an optional encoding parameter (e.g., cl100k_base or o200k_base). Returns an integer representing the total token count to help manage context limits and API costs.
extract_html_linksExtracts all hyperlinks from a provided url or raw html string. Returns a list of objects containing absolute hrefs and visible link text. Filter results to the source host using sameDomainOnly or restrict the count via the limit parameter.
og_metadataFetch a URL and parse its Open Graph, Twitter Card, and standard meta tags. Provide a `url` to receive a structured object containing the page title, description, canonical link, primary image, favicon, site name, and platform-specific variants for link previews or bookmarking.
pdf_extract_textDownloads a PDF from a specified url and extracts its plain text content page by page. Accepts maxPages to limit the scope and includeMetadata to toggle document properties. Returns the text, total page count, and metadata; note that image-only scans will return empty results.
extract_text_from_urlExtracts the primary content from a webpage while stripping navigation, ads, and sidebars using the Readability algorithm. Provide a url and set includeMetadata to true for page titles and descriptions. Returns the cleaned article text and optional metadata.
fetch_urlRetrieves the text content of a public URL. Accepts a required url and an optional asMarkdown boolean to convert HTML responses into Markdown. Returns the response body as a string, subject to a 5MB limit and 10-second timeout. Private IP ranges are restricted.
app_icon_generatorGenerates a complete app icon set from a source image URL for platforms like iOS, Android, web, or Windows. Accepts a URL, platform type, and styling options like backgroundColor and padding; returns a ZIP file URL containing all required assets, including manifest files and platform-specific formats.
favicon_generatorDownloads an image from a provided url to generate a standard favicon set including multiple PNG sizes, an apple-touch-icon, a multi-size ICO file, and a webmanifest. Returns a URL for a ZIP archive containing all assets and the specific HTML snippet required for the site head.
post_image_makerGenerates a PNG social media image with a title and optional subtitle. Accepts title, subtitle, theme (gradient, minimal, dark), format (og or square), and accentColor. Returns a public URL to the generated image valid for 7 days.
qr_codeGenerates a PNG QR code from a string or URL and returns a public link to the hosted image. Accepts text, size in pixels, darkColor and lightColor hex codes, margin, and errorCorrection level (L, M, Q, H). The resulting file is temporary and expires after 24 hours.
hash_generatorCompute MD5, SHA-1, SHA-256, and SHA-512 cryptographic hex digests of an input text. Input: the text to hash. Returns all four hashes in one call.
json_formatterFormat, minify, or validate a JSON string. Input: a JSON string and an action ("format", "minify", "validate"). Returns the formatted/minified/validated JSON with line and character counts, or an error message describing the syntax problem.
image_resizeDownload an image from a url and resize it using width, height, and fit parameters. Returns a temporary URL for the processed image in the specified format and quality. At least one dimension is required; the output expires after 24 hours.
search_toolsy_toolsSearch the Toolsy catalog of over 350 specialized utilities. Provide a search string in "query" and optionally filter by "category" or "tier" to receive a list of matching tool slugs, names, and descriptions. Use the returned slugs to call specific tools or construct web URLs.
url_shortenerConverts a long URL into a short, trackable link. Accepts a longUrl, an optional customAlias, and an expiresIn duration (never, 7d, 30d, or 90d). Returns the generated short URL, unique short code, original URL, and expiry timestamp.
slug_generatorConvert arbitrary text into a clean, SEO-friendly URL slug. Strips accents, replaces special characters, and normalizes spacing. Input: text, separator ("hyphen" or "underscore"), and lowercase flag. Returns the slug.
uuid_generatorGenerate one or many version-4 (random) UUIDs. Input: count (1-100), uppercase, and whether to keep hyphens. Returns an array of UUID strings.
Generate your free API key and start using Toolsy from your favorite AI agent.