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_codecConverts text to Base64 or decodes Base64 strings back to plain text. Accepts a "content" string, an "action" (encode/decode), and an optional "url_safe" boolean. Returns the processed string or an error if the input is not valid Base64 during decoding.
chunk_textSplits text into segments based on a maxTokens budget and optional overlap. Accepts text, maxTokens, encoding (cl100k_base/o200k_base), and splitOn (sentence, paragraph, or token) parameters. Returns a list of text chunks with their respective token counts for RAG or context window management.
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.
csv_profileGenerates statistical summaries and data type profiles for CSV data provided via the csv string or a url. Returns per-column metrics including null counts, unique counts, numeric distributions, and string length ranges. Use this to analyze schema and data quality for files up to 5MB or 100k rows.
csv_sqlExecute SQL SELECT queries against CSV data by providing either an inline string (csv) or a URL (url). Queries must reference the table name "data" and can include standard clauses like JOIN, GROUP BY, and ORDER BY. Returns a JSON array of objects representing the resulting rows.
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.
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_generatorComputes MD5, SHA-1, SHA-256, and SHA-512 cryptographic hex digests for a provided string. Accepts a single text input and returns an object containing all four hash variants for data integrity verification or checksum generation.
json_formatterParses a JSON string to perform the specified action: format, minify, or validate. Accepts a json_string and an action parameter. Returns the processed JSON with line and character counts, or a detailed error message identifying the location and nature of syntax violations.
json_schema_validateValidates a JSON document against a specific JSON Schema. Provide the document in the json field and the schema in the schema field; returns a boolean status and a list of validation errors including precise paths, keywords, and messages for troubleshooting.
math_evalEvaluates mathematical expressions with high precision using mathjs syntax. Provide a string in the expression field and an optional number for precision. Returns exact results for arithmetic, unit conversions, fractions, and complex numbers, bypassing unreliable LLM mental math.
office_to_markdownDownloads and converts .docx or .xlsx files from a URL into structured Markdown. Accepts url, format (docx/xlsx), sheet name, and maxRows (default 500) to return formatted text, tables, and headers. Output is capped at 400KB and input files must be under 10MB.
render_chartGenerates a PNG chart image from JSON data and returns a public URL valid for 24 hours. Accepts chart type, title, axis labels, theme, and data as a JSON string of objects containing label/value or x/y coordinates. Supports multiple series and various formats including bar, line, pie, and scatter.
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.
time_nowRetrieves the current date, time, and metadata for a specified timezone (default UTC). Accepts a timezone string, an optional convertFrom timestamp (ISO-8601 or Unix) to rebase the query, and an optional compareTo timezone to return the hour offset between two locations.
unified_diffGenerate a unified diff between oldText and newText to identify specific changes. Accepts optional labels for file headers, a context line count, and a boolean to ignoreWhitespace. Returns the formatted patch string along with total addition, deletion, and hunk counts.
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_generatorConverts text into SEO-friendly URL slugs by removing accents, stripping special characters, and normalizing spacing. Accepts a required text string, a separator (hyphen or underscore), and a lowercase boolean. Returns the sanitized slug string.
uuid_generatorGenerates version 4 random UUIDs. Accepts a count (1-100), a boolean for uppercase, and a boolean for hyphens to control formatting. Returns an array of formatted UUID strings.
Generate your free API key and start using Toolsy from your favorite AI agent.