{
  "markdown": "<div align=\"center\">\n  <a href=\"https://tinyfn.io\">\n    <img src=\"assets/tinyfn-logo.svg\" alt=\"TinyFn\" width=\"200\">\n  </a>\n\n  <h1>TinyFn MCP Server</h1>\n\n  <p>\n    <strong>🧮 Give your AI agent 500+ deterministic tools</strong><br/>\n    <em>Stop hallucinating math. Start getting correct answers.</em>\n  </p>\n\n  <p>\n    <a href=\"https://github.com/tinyfn-io/tinyfn-mcp/blob/main/LICENSE\">\n      <img src=\"https://img.shields.io/badge/license-MIT-purple?style=for-the-badge\" alt=\"License\"/>\n    </a>\n    <a href=\"https://docs.tinyfn.io\">\n      <img src=\"https://img.shields.io/badge/docs-tinyfn.io-blue?style=for-the-badge\" alt=\"Docs\"/>\n    </a>\n    <a href=\"https://smithery.ai/server/@tinyfn-io/tinyfn-mcp\">\n      <img src=\"https://img.shields.io/badge/smithery-available-green?style=for-the-badge\" alt=\"Smithery\"/>\n    </a>\n  </p>\n\n  <p>\n    <a href=\"#-quick-start\">Quick Start</a> •\n    <a href=\"#-available-mcp-servers\">Servers</a> •\n    <a href=\"#-example-queries-that-just-work\">Examples</a> •\n    <a href=\"#-pricing\">Pricing</a> •\n    <a href=\"https://docs.tinyfn.io\">Docs</a> •\n    <a href=\"#-support\">Support</a>\n  </p>\n\n  <br/>\n\n  <a href=\"https://tinyfn.io\">\n    <img src=\"assets/og-mcp.png\" alt=\"TinyFn — 500+ Deterministic Tools for AI Agents\" width=\"700\">\n  </a>\n\n  <br/><br/>\n\n  <table>\n    <tr>\n      <td align=\"center\"><strong>🎉 Free Tier Available!</strong><br/><strong>100 requests/month FREE</strong> — no credit card required<br/><sub><a href=\"https://tinyfn.io\">Get your free API key →</a></sub></td>\n    </tr>\n  </table>\n</div>\n\n---\n\n## The Problem\n\nLLMs are great at reasoning. They're terrible at math.\n\nAsk any AI assistant to compute `17% of 4,847` and you'll get a confident, wrong answer. Ask it to validate an email with regex, generate a SHA-256 hash, or convert timezones — same story. **LLMs hallucinate on deterministic tasks.**\n\nTinyFn is a [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server that gives your AI assistant **500+ tools that always return the correct answer**. Math, conversions, validations, hashing, date arithmetic — the boring stuff, done right.\n\n<div align=\"center\">\n  <a href=\"https://tinyfn.io\">\n    <img src=\"assets/demo.png\" alt=\"TinyFn in action — your agent sucks at counting\" width=\"700\">\n  </a>\n</div>\n\n<br/>\n\n<div align=\"center\">\n  <table>\n    <tr>\n      <td align=\"center\"><strong>🧮 500+ Tools</strong><br/><sub>Math, strings, dates,<br/>and much more</sub></td>\n      <td align=\"center\"><strong>🎯 Zero Hallucinations</strong><br/><sub>Deterministic results<br/>every single time</sub></td>\n      <td align=\"center\"><strong>⚡ No Installation</strong><br/><sub>Remote MCP server<br/>zero setup</sub></td>\n      <td align=\"center\"><strong>🔌 Works Everywhere</strong><br/><sub>Claude, Cursor, Windsurf,<br/>any MCP client</sub></td>\n    </tr>\n  </table>\n</div>\n\n---\n\n## 🖥️ Works With Your Tools\n\nTinyFn runs as a remote MCP server — no `npx`, no Docker, no local install. Just add the URL to your config.\n\n| Platform | Tool Limit | Recommended Setup | Config Location |\n|----------|-----------|-------------------|-----------------|\n| **Claude Code** | 500+ (Tool Search) | `/mcp/all/` — use everything | `~/.claude/settings.json` |\n| **Claude Desktop** | ~100 tools | 2–3 category servers | `~/Library/Application Support/Claude/claude_desktop_config.json` |\n| **Cursor** | ~40 tools | 1–2 focused servers | Cursor MCP settings |\n| **Windsurf** | ~40 tools | 1–2 focused servers | Windsurf MCP settings |\n| **Continue.dev** | Varies | Category servers | `.continue/config.json` |\n| **Any MCP Client** | Varies | Match to your tool limit | Client-specific |\n\n> 💡 **Why category servers?** Most AI clients limit the number of tools. TinyFn splits 500+ tools across [12 focused servers](#-available-mcp-servers) so you can pick exactly what you need.\n\n---\n\n## ✅ Example Queries That Just Work\n\nOnce connected, just ask your AI assistant in plain language:\n\n**Math & Numbers**\n- ✅ *\"Is 7919 a prime number?\"*\n- ✅ *\"What's 17% of 4,847?\"*\n- ✅ *\"Calculate the factorial of 12\"*\n\n**Conversions**\n- ✅ *\"Convert 72°F to Celsius\"*\n- ✅ *\"How many miles is 100 kilometers?\"*\n- ✅ *\"Convert #3B82F6 to RGB values\"*\n\n**Validation**\n- ✅ *\"Is user@example.com a valid email address?\"*\n- ✅ *\"Validate this credit card number: 4111111111111111\"*\n- ✅ *\"Is 550e8400-e29b-41d4-a716-446655440000 a valid UUID?\"*\n\n**Encoding & Hashing**\n- ✅ *\"Base64 encode 'Hello, World!'\"*\n- ✅ *\"Generate a SHA-256 hash of 'my-secret-string'\"*\n- ✅ *\"URL encode 'hello world & goodbye'\"*\n\n**Date & Time**\n- ✅ *\"How many days between January 15 and March 22?\"*\n- ✅ *\"What's the current Unix timestamp?\"*\n- ✅ *\"Is 2024 a leap year?\"*\n\n**Generators**\n- ✅ *\"Generate a UUID\"*\n- ✅ *\"Create a secure 20-character password\"*\n- ✅ *\"Roll 3 six-sided dice\"*\n\n---\n\n## ⚡ Quick Start\n\n**1. Get your free API key** at **[tinyfn.io](https://tinyfn.io)** (takes 10 seconds)\n\n**2. Add TinyFn to your MCP client:**\n\n### Claude Code\n\nClaude Code supports Tool Search, so you can use the full server with all 500+ tools:\n\n```json\n{\n  \"mcpServers\": {\n    \"tinyfn\": {\n      \"url\": \"https://api.tinyfn.io/mcp/all/\",\n      \"headers\": {\n        \"X-API-Key\": \"tf_live_YOUR_KEY_HERE\"\n      }\n    }\n  }\n}\n```\n\nAdd this to `~/.claude/settings.json` or use `claude mcp add`.\n\n### Claude Desktop\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"tinyfn-math\": {\n      \"url\": \"https://api.tinyfn.io/mcp/math/\",\n      \"headers\": {\n        \"X-API-Key\": \"tf_live_YOUR_KEY_HERE\"\n      }\n    },\n    \"tinyfn-validate\": {\n      \"url\": \"https://api.tinyfn.io/mcp/validate/\",\n      \"headers\": {\n        \"X-API-Key\": \"tf_live_YOUR_KEY_HERE\"\n      }\n    }\n  }\n}\n```\n\n> **Tip:** Claude Desktop supports ~100 tools. Add 2–3 category servers based on your workflow.\n\n### Cursor & Windsurf\n\nThese platforms have a ~40 tool limit. Pick 1–2 focused servers:\n\n```json\n{\n  \"mcpServers\": {\n    \"tinyfn-validate\": {\n      \"url\": \"https://api.tinyfn.io/mcp/validate/\",\n      \"headers\": {\n        \"X-API-Key\": \"tf_live_YOUR_KEY_HERE\"\n      }\n    }\n  }\n}\n```\n\n**Recommended for Cursor/Windsurf:** `validate` (15 tools), `hash` (18 tools), `encode` (20 tools), `convert` (42 tools).\n\n### Continue.dev\n\n```json\n{\n  \"experimental\": {\n    \"mcpServers\": [\n      {\n        \"name\": \"tinyfn-math\",\n        \"url\": \"https://api.tinyfn.io/mcp/math/\",\n        \"headers\": {\n          \"X-API-Key\": \"tf_live_YOUR_KEY_HERE\"\n        }\n      }\n    ]\n  }\n}\n```\n\n**3. Start asking questions.** Your AI now has deterministic tools for math, conversions, validation, and more.\n\n---\n\n## 📡 Available MCP Servers\n\nAll servers use base URL `https://api.tinyfn.io`. Pick the categories you need:\n\n| Server | Endpoint | Tools | What It Does |\n|--------|----------|-------|-------------|\n| **All** | `/mcp/all/` | 500+ | Everything — best for Claude Code |\n| **Math** | `/mcp/math/` | 52 | Arithmetic, trig, primes, factorials, comparisons |\n| **Convert** | `/mcp/convert/` | 42 | Temperature, length, weight, volume, speed, data sizes |\n| **String** | `/mcp/string/` | 33 | Case conversion, slugify, trim, word count, extraction |\n| **Datetime** | `/mcp/datetime/` | 24 | Date parsing, formatting, diffs, timezones, leap years |\n| **Encode** | `/mcp/encode/` | 20 | Base64, URL, HTML, hex, ROT13, morse, JWT decode |\n| **Hash** | `/mcp/hash/` | 18 | MD5, SHA-256, SHA-512, HMAC, bcrypt, CRC32 |\n| **Color** | `/mcp/color/` | 30 | HEX/RGB/HSL conversion, gradients, contrast, palettes |\n| **Stats** | `/mcp/stats/` | 16 | Mean, median, mode, std dev, percentiles, correlation |\n| **Validate** | `/mcp/validate/` | 15 | Email, URL, phone, credit card, UUID, IP, JSON, dates |\n| **Finance** | `/mcp/finance/` | 15 | Interest, loans, mortgage, ROI, margin, tip calculator |\n| **Generate** | `/mcp/generate/` | 15 | UUIDs, passwords, random numbers, lorem ipsum, dice |\n\n> ⚠️ **Important:** All URLs **must** end with a trailing `/` or requests will return 404 errors.\n\n---\n\n## 🛠️ Tool Categories\n\n<details>\n<summary><strong>🔢 Math & Numbers</strong> — 52 tools</summary>\n\n| Tool | Description | Example |\n|------|-------------|---------|\n| `add`, `subtract`, `multiply`, `divide` | Basic arithmetic | `add(17, 25)` → `42` |\n| `percentage` | Percentage calculation | `percentage(17, 4847)` → `823.99` |\n| `is_prime` | Primality testing | `is_prime(7919)` → `true` |\n| `factorial` | Factorial calculation | `factorial(12)` → `479001600` |\n| `fibonacci` | Nth Fibonacci number | `fibonacci(10)` → `55` |\n| `gcd`, `lcm` | GCD and LCM | `gcd(48, 18)` → `6` |\n| `power`, `square_root` | Exponentiation | `square_root(144)` → `12` |\n| `sin`, `cos`, `tan` | Trigonometric functions | `sin(1.5708)` → `1.0` |\n| `log`, `log10`, `log2` | Logarithms | `log10(1000)` → `3` |\n| `floor`, `ceil`, `round_number` | Rounding | `ceil(4.2)` → `5` |\n| `absolute_value`, `sign` | Number properties | `sign(-42)` → `-1` |\n| `clamp`, `distance`, `hypotenuse` | Range & geometry | `hypotenuse(3, 4)` → `5` |\n\n</details>\n\n<details>\n<summary><strong>📝 String Operations</strong> — 33 tools</summary>\n\n| Tool | Description | Example |\n|------|-------------|---------|\n| `reverse_string` | Reverse text | `reverse_string(\"hello\")` → `\"olleh\"` |\n| `uppercase`, `lowercase` | Case conversion | `uppercase(\"hello\")` → `\"HELLO\"` |\n| `camel_case`, `snake_case`, `kebab_case` | Naming conventions | `snake_case(\"helloWorld\")` → `\"hello_world\"` |\n| `slug` | URL-safe slugs | `slug(\"Hello World!\")` → `\"hello-world\"` |\n| `trim`, `pad` | Whitespace handling | `trim(\"  hi  \")` → `\"hi\"` |\n| `word_count`, `string_length` | Text metrics | `word_count(\"hello world\")` → `2` |\n| `contains`, `starts_with`, `ends_with` | String matching | `contains(\"hello\", \"ell\")` → `true` |\n| `split`, `join` | Array operations | `split(\"a,b,c\", \",\")` → `[\"a\",\"b\",\"c\"]` |\n| `extract_emails`, `extract_urls` | Content extraction | Extract emails from text blocks |\n| `is_palindrome` | Palindrome check | `is_palindrome(\"racecar\")` → `true` |\n| `count_char`, `count_substring` | Character counting | `count_char(\"hello\", \"l\")` → `2` |\n\n</details>\n\n<details>\n<summary><strong>✅ Validation</strong> — 15 tools</summary>\n\n| Tool | Description | Example |\n|------|-------------|---------|\n| `validate_email` | Email format validation | `validate_email(\"user@example.com\")` → `true` |\n| `validate_url` | URL format validation | `validate_url(\"https://tinyfn.io\")` → `true` |\n| `validate_phone` | Phone number validation | `validate_phone(\"+1-555-123-4567\")` → `true` |\n| `validate_credit_card` | Luhn algorithm check | `validate_credit_card(\"4111111111111111\")` → `true` |\n| `validate_uuid` | UUID format validation | `validate_uuid(\"550e8400-e29b-41d4-a716-446655440000\")` → `true` |\n| `validate_ip` | IPv4/IPv6 validation | `validate_ip(\"192.168.1.1\")` → `true` |\n| `validate_json` | JSON syntax validation | `validate_json('{\"key\": \"value\"}')` → `true` |\n| `validate_date` | Date format validation | `validate_date(\"2024-02-29\")` → `true` |\n| `validate_hex` | Hex string validation | `validate_hex(\"1a2b3c\")` → `true` |\n| `validate_base64` | Base64 validation | `validate_base64(\"SGVsbG8=\")` → `true` |\n\n</details>\n\n<details>\n<summary><strong>🔄 Conversions</strong> — 42 tools</summary>\n\n| Tool | Description | Example |\n|------|-------------|---------|\n| `celsius_to_fahrenheit` | Temperature | `celsius_to_fahrenheit(100)` → `212` |\n| `kilometers_to_miles` | Distance | `kilometers_to_miles(100)` → `62.14` |\n| `kilograms_to_pounds` | Weight | `kilograms_to_pounds(70)` → `154.32` |\n| `liters_to_gallons_us` | Volume | `liters_to_gallons_us(3.785)` → `1.0` |\n| `hex_to_rgb` | Color | `hex_to_rgb(\"#3B82F6\")` → `{r:59, g:130, b:246}` |\n| `decimal_to_binary` | Base conversion | `decimal_to_binary(42)` → `\"101010\"` |\n| `bytes_to_human` | File sizes | `bytes_to_human(1073741824)` → `\"1 GB\"` |\n| `mph_to_kph` | Speed | `mph_to_kph(60)` → `96.56` |\n| `inches_to_centimeters` | Length | `inches_to_centimeters(12)` → `30.48` |\n| `hours_to_minutes` | Time | `hours_to_minutes(2.5)` → `150` |\n\n</details>\n\n<details>\n<summary><strong>🔐 Hashing</strong> — 18 tools</summary>\n\n| Tool | Description | Example |\n|------|-------------|---------|\n| `hash_md5` | MD5 hash | `hash_md5(\"hello\")` → `\"5d41402abc4b...\"` |\n| `hash_sha256` | SHA-256 hash | `hash_sha256(\"hello\")` → `\"2cf24dba5fb0...\"` |\n| `hash_sha512` | SHA-512 hash | Full 128-char hex digest |\n| `hmac_sha256` | HMAC signature | Keyed hash authentication |\n| `hash_sha3_256`, `hash_sha3_512` | SHA-3 family | Modern hash algorithms |\n| `hash_blake2b`, `hash_blake2s` | BLAKE2 | High-performance hashing |\n| `hash_crc32` | CRC32 checksum | Error detection codes |\n| `compare_hashes` | Timing-safe compare | Constant-time hash comparison |\n| `identify_hash` | Hash identification | Detect hash algorithm from string |\n\n</details>\n\n<details>\n<summary><strong>🔑 Encoding</strong> — 20 tools</summary>\n\n| Tool | Description | Example |\n|------|-------------|---------|\n| `base64_encode`, `base64_decode` | Base64 | `base64_encode(\"Hello\")` → `\"SGVsbG8=\"` |\n| `url_encode`, `url_decode` | URL encoding | `url_encode(\"hello world\")` → `\"hello%20world\"` |\n| `html_encode`, `html_decode` | HTML entities | `html_encode(\"<div>\")` → `\"&lt;div&gt;\"` |\n| `hex_encode`, `hex_decode` | Hex encoding | `hex_encode(\"hi\")` → `\"6869\"` |\n| `jwt_decode` | JWT parsing | Decode JWT payload (no verification) |\n| `rot13` | ROT13 cipher | `rot13(\"hello\")` → `\"uryyb\"` |\n| `morse_encode`, `morse_decode` | Morse code | `morse_encode(\"SOS\")` → `\"... --- ...\"` |\n| `json_minify`, `json_prettify` | JSON formatting | Minify or pretty-print JSON |\n\n</details>\n\n<details>\n<summary><strong>📅 Date & Time</strong> — 24 tools</summary>\n\n| Tool | Description | Example |\n|------|-------------|---------|\n| `get_now` | Current timestamp | ISO 8601 timestamp |\n| `format_date`, `parse_date` | Date formatting | Parse and format dates |\n| `date_diff` | Days between dates | `date_diff(\"2024-01-15\", \"2024-03-22\")` → `67 days` |\n| `add_time`, `subtract_time` | Date arithmetic | Add/subtract days, hours, minutes |\n| `convert_timezone` | Timezone conversion | Convert between any IANA timezones |\n| `is_leap_year` | Leap year check | `is_leap_year(2024)` → `true` |\n| `calculate_age` | Age from birthdate | Calculate exact age |\n| `relative_time` | Relative formatting | `\"2 hours ago\"`, `\"in 3 days\"` |\n| `days_in_month` | Month length | `days_in_month(2, 2024)` → `29` |\n| `is_weekend` | Weekend check | Check if a date falls on Sat/Sun |\n\n</details>\n\n<details>\n<summary><strong>🎲 Generators</strong> — 15 tools</summary>\n\n| Tool | Description | Example |\n|------|-------------|---------|\n| `generate_uuid` | UUID v4 | `\"550e8400-e29b-41d4-a716-446655440000\"` |\n| `generate_uuid_v7` | UUID v7 (time-sortable) | Timestamp-based UUIDs |\n| `generate_password` | Secure passwords | Configurable length and character sets |\n| `random_number` | Random integers | `random_number(1, 100)` → `42` |\n| `random_string` | Random strings | Configurable length and charset |\n| `generate_token` | API tokens | Cryptographically secure tokens |\n| `generate_lorem` | Lorem ipsum | Generate placeholder text |\n| `generate_color` | Random colors | Random hex color codes |\n| `roll_dice` | Dice rolling | `roll_dice(3, 6)` → `[4, 2, 6]` |\n| `flip_coin` | Coin flip | `\"heads\"` or `\"tails\"` |\n| `shuffle_list` | Shuffle arrays | Randomize array order |\n\n</details>\n\n<details>\n<summary><strong>🎨 Colors</strong> — 30 tools</summary>\n\n| Tool | Description | Example |\n|------|-------------|---------|\n| `hex_to_hsl`, `hsl_to_hex` | Color space conversion | Convert between formats |\n| `hex_to_rgb`, `rgb_to_hex` | RGB conversion | `hex_to_rgb(\"#FF5733\")` → `{r:255,g:87,b:51}` |\n| `lighten_color`, `darken_color` | Brightness adjustment | Lighten/darken by percentage |\n| `complement_color` | Complementary colors | Get the opposite color |\n| `triadic_colors`, `analogous_colors` | Color harmonies | Generate color schemes |\n| `contrast_ratio` | WCAG contrast | Check accessibility compliance |\n| `generate_gradient` | Gradient generation | Generate color stops between two colors |\n| `generate_shades`, `generate_tints` | Shade/tint ramps | Create monochromatic palettes |\n| `invert_color` | Color inversion | Invert any hex color |\n| `blend_colors` | Color blending | Mix two colors together |\n\n</details>\n\n<details>\n<summary><strong>📊 Statistics</strong> — 16 tools</summary>\n\n| Tool | Description | Example |\n|------|-------------|---------|\n| `calculate_mean` | Arithmetic mean | `calculate_mean([10, 20, 30])` → `20` |\n| `calculate_median` | Median value | `calculate_median([1, 3, 5, 7])` → `4` |\n| `calculate_mode` | Most frequent value | `calculate_mode([1, 2, 2, 3])` → `2` |\n| `calculate_variance` | Population variance | Statistical variance |\n| `calculate_stddev` | Standard deviation | Statistical spread |\n| `calculate_percentile` | Percentile calculation | `calculate_percentile([1..100], 95)` → `95` |\n| `calculate_quartiles` | Q1, Q2, Q3 | Quartile boundaries |\n| `calculate_correlation` | Pearson correlation | Correlation coefficient between datasets |\n| `calculate_zscore` | Z-score | Standard score calculation |\n| `describe_data` | Summary statistics | Full statistical description of a dataset |\n\n</details>\n\n<details>\n<summary><strong>💰 Finance</strong> — 15 tools</summary>\n\n| Tool | Description | Example |\n|------|-------------|---------|\n| `compound_interest` | Compound interest | Calculate future value with compounding |\n| `simple_interest` | Simple interest | Basic interest calculation |\n| `loan_payment` | Loan payments | Monthly payment calculator |\n| `mortgage_calculator` | Mortgage | Monthly mortgage with amortization |\n| `calculate_tip` | Tip calculator | `calculate_tip(85.50, 20)` → `$17.10` |\n| `percentage_change` | Growth/decline | `percentage_change(100, 125)` → `25%` |\n| `calculate_markup`, `calculate_margin` | Pricing | Markup and margin calculations |\n| `calculate_discount` | Discounts | Price after discount |\n| `return_on_investment` | ROI | Investment return percentage |\n| `rule_of_72` | Doubling time | Years to double an investment |\n| `break_even` | Break-even analysis | Units needed to break even |\n\n</details>\n\n<details>\n<summary><strong>🏃 Health & Fitness</strong> — 10 tools</summary>\n\n| Tool | Description | Example |\n|------|-------------|---------|\n| `calculate_bmi` | Body Mass Index | `calculate_bmi(70, 1.75)` → `22.86` |\n| `calculate_bmr` | Basal Metabolic Rate | Daily calorie baseline |\n| `ideal_weight` | Ideal weight range | Based on height and frame |\n| `heart_rate_zones` | Training zones | Fat burn, cardio, peak zones |\n| `estimate_body_fat` | Body fat estimate | Navy method estimation |\n| `daily_water_intake` | Water recommendation | Based on weight and activity |\n| `calories_burned` | Exercise calories | Calories for activity type and duration |\n| `calculate_macros` | Macro split | Protein/carb/fat breakdown |\n| `sleep_cycles` | Sleep optimization | Optimal wake times based on cycles |\n\n</details>\n\n<details>\n<summary><strong>🎭 Fun</strong> — 10 tools</summary>\n\n| Tool | Description | Example |\n|------|-------------|---------|\n| `magic_8_ball` | Magic 8-Ball | Random mystical answers |\n| `dad_joke` | Dad jokes | Guaranteed groan |\n| `fortune_cookie` | Fortune cookies | Random fortune messages |\n| `random_compliment` | Compliments | Brighten someone's day |\n| `random_excuse` | Excuses | Creative excuse generator |\n| `would_you_rather` | Would You Rather | Random dilemmas |\n| `friendly_roast` | Friendly roasts | Light-hearted roasts |\n| `random_trivia` | Trivia | Random trivia facts |\n| `yes_no` | Yes/No oracle | Random yes or no |\n\n</details>\n\n---\n\n## 🎯 Perfect For\n\n- **AI-Assisted Development** — Cursor and Windsurf users who need reliable math in their coding workflow\n- **Data Analysis** — Statistics, percentiles, and financial calculations without second-guessing\n- **Content Creation** — Word counts, slugification, and encoding when building with AI\n- **DevOps & Security** — Hash generation, UUID creation, and input validation\n- **Education** — Teach with tools that demonstrate correct mathematical results\n- **API Development** — Validate inputs, generate test data, and compute values during development\n\n---\n\n## 💰 Pricing\n\n<div align=\"center\">\n  <table>\n    <tr>\n      <th width=\"25%\">Free</th>\n      <th width=\"25%\">Starter</th>\n      <th width=\"25%\">Pro</th>\n      <th width=\"25%\">Enterprise</th>\n    </tr>\n    <tr>\n      <td align=\"center\">\n        <h3>$0<sub>/mo</sub></h3>\n        <p><strong>100 requests</strong></p>\n        <hr/>\n        ✅ All 500+ tools<br/>\n        ✅ MCP & REST API<br/>\n        ✅ 10 req/min rate limit<br/>\n        ✅ Community support\n      </td>\n      <td align=\"center\">\n        <h3>$9<sub>/mo</sub></h3>\n        <p><strong>10,000 requests</strong></p>\n        <hr/>\n        ✅ Everything in Free<br/>\n        ✅ 100 req/min rate limit<br/>\n        ✅ Email support<br/>\n        ✅ Usage analytics\n      </td>\n      <td align=\"center\">\n        <h3>$30<sub>/mo</sub></h3>\n        <p><strong>100,000 requests</strong></p>\n        <hr/>\n        ✅ Everything in Starter<br/>\n        ✅ 1,000 req/min rate limit<br/>\n        ✅ Priority support<br/>\n        ✅ Advanced analytics\n      </td>\n      <td align=\"center\">\n        <h3>Custom</h3>\n        <p><strong>Unlimited</strong></p>\n        <hr/>\n        ✅ Everything in Pro<br/>\n        ✅ SLA guarantee<br/>\n        ✅ Dedicated support<br/>\n        ✅ Custom integrations\n      </td>\n    </tr>\n  </table>\n\n  <p><sub>All plans include access to every tool. <a href=\"https://tinyfn.io\">Sign up free →</a></sub></p>\n</div>\n\n---\n\n## 🔧 Troubleshooting\n\n<details>\n<summary><strong>❌ Getting 404 errors</strong></summary>\n\nAll MCP server URLs **must** end with a trailing slash `/`.\n\n```\n✅ https://api.tinyfn.io/mcp/math/\n❌ https://api.tinyfn.io/mcp/math\n```\n\n</details>\n\n<details>\n<summary><strong>❌ Authentication errors (401/403)</strong></summary>\n\n1. Verify your API key starts with `tf_live_`\n2. Check that you're using the `X-API-Key` header (not `Authorization`)\n3. Make sure your key is active at [tinyfn.io/dashboard](https://tinyfn.io/dashboard)\n\n```json\n{\n  \"headers\": {\n    \"X-API-Key\": \"tf_live_YOUR_KEY_HERE\"\n  }\n}\n```\n\n</details>\n\n<details>\n<summary><strong>❌ Too many tools / client not loading</strong></summary>\n\nYour MCP client has a tool limit. Instead of `/mcp/all/`, use category-specific servers:\n\n| If you need... | Use server | Tools |\n|---------------|-----------|-------|\n| Validation only | `/mcp/validate/` | 15 |\n| Hashing only | `/mcp/hash/` | 18 |\n| Encoding only | `/mcp/encode/` | 20 |\n| Math only | `/mcp/math/` | 52 |\n\nSee the [full server list](#-available-mcp-servers) for all options.\n\n</details>\n\n<details>\n<summary><strong>❌ Rate limit exceeded (429)</strong></summary>\n\nYou've hit your plan's rate limit. Options:\n- **Free tier:** 10 requests/minute, 100/month — [upgrade at tinyfn.io](https://tinyfn.io)\n- **Starter:** 100 requests/minute, 10,000/month\n- Check your current usage at [tinyfn.io/dashboard](https://tinyfn.io/dashboard)\n\n</details>\n\n---\n\n## 📚 Documentation & Resources\n\n<div align=\"center\">\n  <a href=\"https://docs.tinyfn.io\">\n    <img src=\"https://img.shields.io/badge/📖_Full_Docs-blue?style=for-the-badge\" alt=\"Docs\"/>\n  </a>\n  <a href=\"https://docs.tinyfn.io/mcp/overview\">\n    <img src=\"https://img.shields.io/badge/🔌_MCP_Guide-green?style=for-the-badge\" alt=\"MCP Guide\"/>\n  </a>\n  <a href=\"https://docs.tinyfn.io/api\">\n    <img src=\"https://img.shields.io/badge/🛠️_API_Reference-orange?style=for-the-badge\" alt=\"API Reference\"/>\n  </a>\n  <a href=\"https://github.com/tinyfn-io/tinyfn-mcp/blob/main/CHANGELOG.md\">\n    <img src=\"https://img.shields.io/badge/📝_Changelog-yellow?style=for-the-badge\" alt=\"Changelog\"/>\n  </a>\n</div>\n\n<br/>\n\n- **[MCP Overview](https://docs.tinyfn.io/mcp/overview)** — Setup guide for all supported platforms\n- **[API Reference](https://docs.tinyfn.io/api)** — REST API docs for direct HTTP usage\n- **[MCP Categories](https://docs.tinyfn.io/mcp/categories)** — Detailed breakdown of each server\n- **[Authentication](https://docs.tinyfn.io/authentication)** — API key setup and management\n- **[Rate Limits](https://docs.tinyfn.io/rate-limits)** — Quotas and limits per plan\n- **[LLM Context](https://docs.tinyfn.io/llms.txt)** — `llms.txt` for AI-readable documentation\n\n---\n\n## 🤝 Support\n\n- 📧 **Email:** [support@tinyfn.io](mailto:support@tinyfn.io)\n- 🐛 **Issues:** [GitHub Issues](https://github.com/tinyfn-io/tinyfn-mcp/issues)\n- 💬 **Sales:** [sales@tinyfn.io](mailto:sales@tinyfn.io)\n\n---\n\n## 📄 License\n\nMIT License — see [LICENSE](LICENSE) for details.\n\n---\n\n<div align=\"center\">\n  <p><strong>The boring stuff, done right.</strong></p>\n  <p>\n    <a href=\"https://tinyfn.io\">Website</a> •\n    <a href=\"https://docs.tinyfn.io\">Docs</a> •\n    <a href=\"https://github.com/tinyfn-io/tinyfn-mcp\">GitHub</a> •\n    <a href=\"https://twitter.com/tinyfn_io\">Twitter</a>\n  </p>\n</div>\n",
  "bytes": 25087,
  "sha": "926f5277415f02a6d0b62052ae7c1f2b863ccafebccefdc0c386f89cc21dc51a",
  "repo_slug": "tinyfn-io/tinyfn-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_tinyfn_tinyfn_c01a96d8/readme"
}