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