RedBison
REMOTE · MCP.REDBISON.DEV
500+ free tools over MCP: dev, text and security utilities, 230+ calculators. No sign-up.
Available components
Last scanned (1 hour ago)
Scores higher than 53% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Developer Tools
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 3 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability68
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 12887 tokens (~157/item across 82 items; 82 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management20
- Stability observed for 6 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 95% of tool parameters carry a description.Partial
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "remove_duplicate_lines" implies "remove" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Fail
- An AI judge read all 83 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 3 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Oct 26 0
- Stability: unverified → 0.03 ▲ functional
- 30 Oct 26 64
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://mcp.redbison.dev
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mcp.redbison.dev | CN=YR1,O=Let's Encrypt,C=US | 29 Oct 2026 | 27 Jan 2027 | RSA 2048 | SHA256-RSA | 65c812375b17171f86cbff58b24d14ae608 |
| SANs: mcp.redbison.dev | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.redbison.dev. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| dev. | present | 60074 | 8 | Verified |
| redbison.dev. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains; preload |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.redbison.dev | Verified | 200 | |
| http (plaintext) | http://mcp.redbison.dev | HTTPS enforced | 308 | https://mcp.redbison.dev/ |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
ascii_art_text ASCII art text (FIGlet) ~226
Render text as a FIGlet ASCII art banner in one of 7 bundled fonts (Standard, Slant, Small, Big, Doom, ANSI Shadow, Mini), optionally wrapped at a column width and inside code comment markers. Printable ASCII only. The page at redbison.dev/ascii-art-text-generator has more fonts. Returns: Text: the banner (show it in a monospace code block). structuredContent { art, font, lines, columns, unsupported[] }. Example input: {"text":"Hello","font":"Slant","layout":"default","width":80,"comment":"none"}
| Name | Type | Req | Description |
|---|---|---|---|
| comment | string | – | Wrap the banner in // , # , /* */ , <!-- --> or -- comment markers. |
| font | string | – | FIGlet font name. |
| layout | string | – | Horizontal letter spacing: the font default, full width, fitted (touching) or smushed. |
| text | string | yes | Text to render. Line breaks start a new banner row. |
| width | integer | – | Wrap at this many columns (0 for no wrapping). |
No output schema declared.
No examples provided.
barcode_check_digit Barcode check digit (EAN/UPC/GTIN) ~195
Compute or validate the GS1 mod-10 check digit of an EAN-8, UPC-A, EAN-13 or ITF-14 (GTIN-8/12/13/14) number. Give the digits without the check digit to compute it, or the full code to validate it. Returns: JSON { digits, checkDigit, fullCode, valid, gtin14, formats[] }. valid is true/false when a full code was checked and null when the check digit was computed. Example input: {"code":"400638133393","mode":"compute"}
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | Digits of the barcode number. Spaces and dashes are ignored. |
| mode | string | – | auto (default): full GTIN lengths 8, 12, 13 and 14 are validated, 7 and 11 digits get a check digit computed. compute or validate forces one reading. |
No output schema declared.
No examples provided.
base64_decode Base64 decode ~55
Base64-decode a string back to UTF-8. Returns: UTF-8 decoded plain text. Example input: {"text":"aGVsbG8gd29ybGQ="}
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | – |
No output schema declared.
No examples provided.
base64_encode Base64 encode ~48
Base64-encode a UTF-8 string. Returns: Base64-encoded string (UTF-8 safe). Example input: {"text":"hello world"}
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | – |
No output schema declared.
No examples provided.
bcrypt_hash Bcrypt hash ~96
Hash a password with bcrypt. Returns: Bcrypt hash string (includes cost + salt). Example input: {"password":"s3cret!","cost":10} On error, includes hint: `cost` must be an integer between 4 and 12. Higher cost is exponentially slower.
| Name | Type | Req | Description |
|---|---|---|---|
| cost | number | – | Bcrypt cost factor (4-12, default 10). |
| password | string | yes | Password to hash. |
No output schema declared.
No examples provided.
bcrypt_verify Bcrypt verify ~103
Check whether a password matches a bcrypt hash. Returns: JSON { match: boolean }. Example input: {"password":"s3cret!","hash":"$2a$10$abcdefghijklmnopqrstuv"} On error, includes hint: `hash` must be a full bcrypt string starting with $2a$, $2b$, or $2y$.
| Name | Type | Req | Description |
|---|---|---|---|
| hash | string | yes | Bcrypt hash to verify against. |
| password | string | yes | Plaintext password. |
No output schema declared.
No examples provided.
bmi_calculate BMI calculator ~108
Calculate Body Mass Index in metric (kg/cm) or imperial (lb/in) units. Returns: JSON { bmi, category } (Underweight / Normal / Overweight / Obese). Example input: {"weight":70,"height":175,"units":"metric"}
| Name | Type | Req | Description |
|---|---|---|---|
| height | number | yes | Height (cm for metric, inches for imperial). |
| units | string | – | Unit system (default 'metric'). |
| weight | number | yes | Weight (kg for metric, lb for imperial). |
No output schema declared.
No examples provided.
case_convert Convert case ~96
Convert text between upper, lower, title, camel, pascal, snake, and kebab case. Returns: String converted to the requested case. Example input: {"text":"hello world example","style":"camel"} On error, includes hint: `style` must be one of: upper, lower, title, camel, pascal, snake, kebab.
| Name | Type | Req | Description |
|---|---|---|---|
| style | string | yes | – |
| text | string | yes | – |
No output schema declared.
No examples provided.
chmod_convert chmod permission converter ~284
Convert Unix permissions between octal (755, 4755), symbolic (rwxr-xr-x) and ls -l strings, or apply a chmod expression such as 'go-w,u+x' to a starting mode. Explains each class, setuid/setgid/sticky bits and risky modes, and gives umask defaults. Returns: JSON { octal, symbolic, ls, description[], warnings[], command, symbolicArg, umaskDefaults{ umask, newFile, newDirectory } }. Example input: {"mode":"rwxr-x---"} On error, includes hint: Use 1-4 octal digits, nine rwx characters (optionally with a leading file type), or a symbolic expression like u+x,go-w.
| Name | Type | Req | Description |
|---|---|---|---|
| isDirectory | boolean | – | Treat the target as a directory (affects X and the ls -l type). Default false. |
| mode | string | yes | Octal (644), symbolic or ls -l (-rwsr-xr-x), or a chmod expression (u+x, a=rX) applied to start. |
| start | string | – | Starting octal mode for expressions. Default 644 for files, 755 for directories. |
| umask | string | – | umask in octal, used for expressions without u/g/o/a and for new-file defaults. Default 022. |
No output schema declared.
No examples provided.
color_convert Color converter ~131
Convert a color between hex, rgb, and hsl. Accepts inputs like '#3B82F6', 'rgb(59,130,246)', or 'hsl(217,91%,60%)'. Returns: JSON with hex, rgb, and hsl representations of the color. Example input: {"color":"#3b82f6"} On error, includes hint: `color` accepts #rgb, #rrggbb, rgb(r,g,b), or hsl(h,s%,l%).
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | yes | Color in hex, rgb(), or hsl() form. |
No output schema declared.
No examples provided.
color_palette Color palette generator ~414
Build a harmonious color palette from one base color (complementary, analogous, triadic, split-complementary, tetradic, square, monochromatic or tints and shades). Returns each color as HEX, RGB, HSL and OKLCH with WCAG contrast against white and black, an 11-step 50-950 scale of the base, and ready-to-paste CSS variables and Tailwind config. Same maths as https://redbison.dev/color-palette-generator. Returns: JSON { base, rule, wheel, colors[] { role, hex, rgb, hsl, oklch, contrastOnWhite, contrastOnBlack, bestTextColor, wcagNormalText }, scale { '50'..'950': hex }, baseScaleStep, css, tailwindV3, tailwindV4 }. Example input: {"base":"#3b82f6","rule":"triadic","wheel":"rgb","name":"brand"} On error, includes hint: Pass the base color as hex like #3b82f6 (rgb(), hsl(), oklch() and CSS names also work). rule must be one of complementary, analogous, triadic, split-complementary, tetradic, square, monochromatic, shades.
| Name | Type | Req | Description |
|---|---|---|---|
| base | string | yes | Base color as hex (#3b82f6), rgb(59 130 246), hsl(217 91% 60%), oklch(62% 0.19 260) or a CSS color name. |
| name | string | – | Name used in the CSS and Tailwind exports, e.g. 'brand'. Default 'brand'. |
| rule | string | – | Harmony rule. Default 'complementary'. |
| wheel | string | – | Color wheel for hue rotation: 'rgb' (screen/HSL wheel, default), 'ryb' (approximate painter's wheel, red opposite green) or 'oklch' (perceptual, keeps lightness). |
No output schema declared.
No examples provided.
comma_to_lines Comma-separated to lines ~89
Split a delimited string into one item per line. Returns: Multi-line string, one item per line. Example input: {"text":"apple, banana, cherry","separator":",","trim":true}
| Name | Type | Req | Description |
|---|---|---|---|
| separator | string | – | Delimiter to split on (default ","). |
| text | string | yes | Delimited input. |
| trim | boolean | – | Trim each item (default true). |
No output schema declared.
No examples provided.
compound_interest Compound interest calculator ~121
Compute compound interest: A = P(1 + r/n)^(nt). Returns: JSON { interest, total } computed as P(1+r/n)^(nt). Example input: {"principal":10000,"annualRatePercent":5,"years":10,"compoundsPerYear":12}
| Name | Type | Req | Description |
|---|---|---|---|
| annualRatePercent | number | yes | Annual interest rate as a percent. |
| compoundsPerYear | integer | – | Compounding periods per year (default 12). |
| principal | number | yes | Principal amount. |
| years | number | yes | Time in years. |
No output schema declared.
No examples provided.
contrast_check WCAG contrast check ~115
Compute the WCAG contrast ratio between two hex colors and report AA/AAA pass/fail for normal and large text. Returns: JSON { ratio, AA, AAA, AALarge, AAALarge } for the two colors. Example input: {"foreground":"#ffffff","background":"#3b82f6"} On error, includes hint: Both colors must be hex (#rgb or #rrggbb).
| Name | Type | Req | Description |
|---|---|---|---|
| background | string | yes | Background color, hex. |
| foreground | string | yes | Foreground color, hex. |
No output schema declared.
No examples provided.
cron_build Cron expression builder ~433
Build a standard five-field cron expression from plain choices (every N minutes, hourly, daily, weekly, monthly, yearly) or explain an existing one. Returns the expression, an English description, the next run times in a time zone, and the same schedule for crontab, Kubernetes, GitHub Actions, Quartz and AWS EventBridge. Returns: JSON { expression, description, nextRuns[], timezone, platforms[{ id, name, value, notes[] }], warnings[] }. value is null on Quartz/EventBridge when both day fields are restricted. Example input: {"frequency":"weekly","daysOfWeek":["mon","wed","fri"],"hours":[9],"minute":30,"timezone":"America/New_York"} On error, includes hint: Give either plain choices (frequency plus minute/hours/days) or a five-field expression. Days of week accept names or 0-6 with 0 = Sunday.
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | – | How many upcoming runs to list. Default 5. |
| daysOfMonth | array | – | For monthly or yearly: days of the month, e.g. [1, 15]. |
| daysOfWeek | array | – | For weekly: days as names (mon, fri) or numbers 0-6 with 0 = Sunday. |
| expression | string | – | An existing five-field cron expression to explain and translate instead of building one. |
| frequency | string | – | How often to run. Ignored when expression is given. Default daily. |
| hours | array | – | Hours of the day in 24-hour time, e.g. [9] or [9, 17]. Default [0]. |
| interval | integer | – | For minutes: every N minutes (default 5). For hourly: every N hours (default 1). |
| minute | integer | – | Minute past the hour, 0-59. Default 0. |
| months | array | – | For yearly: months 1-12. |
| timezone | string | – | IANA time zone for the next run times, e.g. Europe/London. Default UTC. |
No output schema declared.
No examples provided.
cron_validate Cron expression validator ~117
Validate a standard 5-field cron expression (minute hour day month weekday). Returns a human-readable summary and any parse error. Returns: JSON { valid: boolean, nextRuns?: string[], error?: string }. Example input: {"expression":"*/5 * * * *"} On error, includes hint: `expression` must be a 5-field cron (minute hour dom month dow). 6-field / Quartz syntax is not supported.
| Name | Type | Req | Description |
|---|---|---|---|
| expression | string | yes | Cron expression, e.g. '*/15 * * * *'. |
No output schema declared.
No examples provided.
css_beautify CSS / SCSS / Less beautify, minify and sort ~258
Pretty-print or minify CSS, SCSS or Less, optionally sorting declarations alphabetically. Sorting is cascade-safe: a shorthand and its longhands (border / border-top, margin / margin-top, font / line-height) keep their original relative order. Minify removes comments and whitespace only; values such as 0px or colours are never rewritten. Returns: Text: the stylesheet. structuredContent { code, movedDeclarations, warnings[] }. Example input: {"css":".a{z-index:1;color:red;border-top:1px solid;border:0}","mode":"beautify","syntax":"css","sort":true,"indent":2} On error, includes hint: Unbalanced braces or an unterminated string or comment are reported as errors.
| Name | Type | Req | Description |
|---|---|---|---|
| css | string | yes | Stylesheet source. |
| indent | integer | – | Spaces per indent level when beautifying (0 = tabs). |
| mode | string | – | beautify = one declaration per line, minify = smallest output. |
| sort | boolean | – | Sort declarations inside each rule alphabetically (vendor-prefixed copies first, override pairs kept in order). |
| syntax | string | – | Input syntax; scss and less also accept // line comments. |
No output schema declared.
No examples provided.
css_gradient CSS gradient builder ~167
Build a CSS linear or radial gradient string from color stops. Returns: CSS gradient string (linear or radial). Example input: {"type":"linear","angle":45,"stops":["#3b82f6","#8b5cf6"]} On error, includes hint: `type` is 'linear' or 'radial'; provide at least 2 color `stops`.
| Name | Type | Req | Description |
|---|---|---|---|
| angle | number | – | Angle in degrees for linear gradients (default 90). Ignored for radial. |
| stops | array | yes | Color stops, e.g. ['#3B82F6', '#8B5CF6 50%', '#EC4899'] — hex, rgb(), hsl(), or named colors, with optional percentage. |
| type | string | yes | Gradient type. |
No output schema declared.
No examples provided.
csv_to_json CSV to JSON ~130
Parse CSV text into JSON. Uses the first row as headers unless header=false. Returns: JSON array of row objects keyed by the header row. Example input: {"text":"name,age\nAda,36\nGrace,85","delimiter":","} On error, includes hint: `text` must be CSV with a header row unless `header:false`. Escape embedded quotes as "".
| Name | Type | Req | Description |
|---|---|---|---|
| delimiter | string | – | Field delimiter (default ","). |
| header | boolean | – | First row is header (default true). If false, returns array of arrays. |
| text | string | yes | CSV input. |
No output schema declared.
No examples provided.
curl_to_code cURL to code ~248
Convert a curl command (bash/zsh quoting, $'...' strings, \ line continuations, or Windows cmd ^ escaping from 'Copy as cURL') into JavaScript fetch, Node Axios, Python requests, Go net/http or PHP ext-curl. Follows curl semantics: -d implies POST with application/x-www-form-urlencoded, repeated -d joins with &, --json sets JSON headers, -G moves data to the query string, -F is multipart, -u is Basic auth, no redirects without -L. Nothing is sent over the network. Returns: Text: the generated code, followed by notes on anything not translated. structuredContent { code, method, url, headers[{ name, value }], hasBody, warnings[] }. Example input: {"command":"curl -X POST https://api.example.com/v1/items -H 'Content-Type: application/json' -d '{\"name\":\"Ada\"}'","target":"python"} On error, includes hint: Send the command exactly as copied, including quotes. The word curl must be present.
| Name | Type | Req | Description |
|---|---|---|---|
| command | string | yes | The full curl command line. |
| target | string | – | Language/library to generate. |
No output schema declared.
No examples provided.
date_diff Date difference ~134
Compute the difference between two ISO 8601 timestamps in days, hours, minutes, and seconds. Returns: JSON with milliseconds, totalSeconds/Minutes/Hours/Days, and a { days, hours, minutes, seconds } breakdown. Example input: {"from":"2026-01-01T00:00:00Z","to":"2026-07-11T12:00:00Z"} On error, includes hint: Both `from` and `to` must be ISO 8601 timestamps.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | yes | Start ISO timestamp. |
| to | string | yes | End ISO timestamp. |
No output schema declared.
No examples provided.
docker_run_to_compose docker run to Compose converter ~218
Convert one or more 'docker run' commands into a Compose file (services, ports, volumes, environment, networks, healthcheck, GPUs, limits), or convert a compose.yaml back into docker run commands. Unsupported flags are reported as warnings. Returns: run_to_compose: JSON { compose (YAML text), services[], warnings[] }. compose_to_run: JSON { commands[], warnings[] }. Example input: {"input":"docker run -d --name web -p 8080:80 -v html:/usr/share/nginx/html --restart unless-stopped nginx:alpine"} On error, includes hint: Each command must start with 'docker run' (or 'docker container run'). Separate several commands with new lines.
| Name | Type | Req | Description |
|---|---|---|---|
| direction | string | – | Default run_to_compose. |
| input | string | yes | docker run command(s), or compose YAML when direction is compose_to_run. |
| project | string | – | Compose project name used to prefix volume and network names in compose_to_run. Default myproject. |
No output schema declared.
No examples provided.
emi_calculate EMI calculator ~103
Compute the equated monthly installment (EMI) for a loan. Returns: JSON { emi, totalInterest, totalPayment } for the loan. Example input: {"principal":500000,"annualRatePercent":8.5,"months":240}
| Name | Type | Req | Description |
|---|---|---|---|
| annualRatePercent | number | yes | Annual interest rate as a percent, e.g. 7.5. |
| months | integer | yes | Loan term in months. |
| principal | number | yes | Loan principal. |
No output schema declared.
No examples provided.
epoch_convert Convert epoch time ~121
Convert between Unix epoch seconds/milliseconds and ISO 8601. Pass a number to convert to ISO, or an ISO string to convert to epoch. Returns: JSON with ISO string, epoch seconds, epoch milliseconds, and a UTC-formatted representation. Example input: {"value":"1700000000"} On error, includes hint: `value` is a string: either an integer (seconds or ms since epoch) or an ISO 8601 timestamp.
| Name | Type | Req | Description |
|---|---|---|---|
| value | string | yes | A number (as string) or an ISO 8601 date string. |
No output schema declared.
No examples provided.
escape_characters Escape / unescape characters ~122
Escape or unescape a string for JSON, HTML, XML, JavaScript, or SQL. Returns: Escaped or unescaped string for the chosen format. Example input: {"text":"He said \"hi\"","format":"json","mode":"escape"} On error, includes hint: `mode` is 'escape' or 'unescape'; `format` is one of: json, html, xml, js, sql.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | yes | Target format. |
| mode | string | yes | Direction. |
| text | string | yes | Input text. |
No output schema declared.
No examples provided.
find_duplicate_entries Find duplicate entries ~103
Return lines that appear more than once in the input, with their occurrence counts. Returns: JSON array of { value, count } for lines appearing more than once. Example input: {"text":"apple\nbanana\napple\ncherry\nbanana"}
| Name | Type | Req | Description |
|---|---|---|---|
| caseInsensitive | boolean | – | Compare case-insensitively (default false). |
| text | string | yes | Multi-line text to scan. |
| trim | boolean | – | Trim each line before comparing (default true). |
No output schema declared.
No examples provided.
get_tool Get RedBison tool ~81
Get full metadata for a specific RedBison tool by its id (slug). Returns: Full JSON metadata for the tool: { id, name, description, url, category, subcategory?, keywords[] }. Example input: {"id":"jwt-decoder"}
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Tool id / URL slug, e.g. "jwt-decoder". |
No output schema declared.
No examples provided.
gitignore_generate .gitignore generator ~276
Combine .gitignore templates (based on github/gitignore) for languages, frameworks, tools, editors and operating systems into one deduplicated file, optionally test paths against it. Template ids: node, python, django, jupyter, java, maven, gradle, kotlin, android, go, rust, ruby, rails, php, laravel, dotnet, c, cpp, swift, flutter, elixir, scala, r, nextjs, terraform, unity, docker, secrets, vscode, jetbrains, visualstudio, eclipse, vim, emacs, sublime, macos, windows, linux. Returns: JSON { content (.gitignore text), unknownTemplates[], duplicatesRemoved, tests[{ path, ignored, rule{pattern,line,negate}, via }] }. Example input: {"templates":["node","macos","vscode"],"testPaths":[".env","node_modules/x.js",".vscode/settings.json"]}
| Name | Type | Req | Description |
|---|---|---|---|
| extra | string | – | Extra lines to append, one pattern per line. |
| templates | array | yes | Template ids or names, e.g. ['node', 'python', 'macos', 'vscode']. |
| testPaths | array | – | Repository-relative paths to check, e.g. ['.env', 'dist/']. End with / for a directory. |
No output schema declared.
No examples provided.
hash Hash text ~100
Compute a cryptographic hash of a string. Returns: Hex digest of the input using the requested algorithm. Example input: {"text":"hello world","algorithm":"sha256"} On error, includes hint: `algorithm` must be one of: md5, sha1, sha256, sha384, sha512.
| Name | Type | Req | Description |
|---|---|---|---|
| algorithm | string | yes | md5, sha1, sha256, sha384, or sha512 |
| text | string | yes | – |
No output schema declared.
No examples provided.
hash_compare Hash compare ~127
Hash two inputs with the same algorithm and compare them in constant time. Useful for verifying file integrity. Returns: JSON { match: boolean } computed with a constant-time comparison. Example input: {"a":"hello","b":"hello","algorithm":"sha256"} On error, includes hint: `algorithm` (optional, default sha256) must be one of: md5, sha1, sha256, sha384, sha512.
| Name | Type | Req | Description |
|---|---|---|---|
| a | string | yes | First input. |
| algorithm | string | – | Hash algorithm (default sha256). |
| b | string | yes | Second input. |
No output schema declared.
No examples provided.
health Server health ~47
Return server status, name, version, and uptime info. Use this to monitor the MCP server. Returns: JSON { status, name, version, startedAt, timestamp }. Example input: {}
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
help Help for RedBison MCP tools ~175
Explain how to use any RedBison MCP tool, with its input schema, a sample input and the sample output it produces. Call with no arguments for the list of tools; pass `tool` for one tool, and `calculator` with tool 'run_calculator' for one calculator. Returns: JSON with a tool's { usage, returns, inputSchema, sampleInput, sampleOutput }, or the list of tools when called with no arguments. Example input: {"tool":"list_calculators"}
| Name | Type | Req | Description |
|---|---|---|---|
| calculator | string | – | With tool 'run_calculator': a calculator id such as 'mortgage-calculator' for its inputs and a worked sample. |
| tool | string | – | Tool name, e.g. 'run_calculator', 'hash' or 'list_calculators'. Omit to list all tools. |
No output schema declared.
No examples provided.
hmac HMAC signature ~368
Compute an HMAC (RFC 2104) with SHA-256, SHA-1, SHA-384 or SHA-512 and return it in hex, Base64 and Base64url. Optionally build a GitHub, Stripe or Slack webhook signature, and check an expected signature with a constant-time comparison. Returns: JSON { algorithm, hex, base64, base64url, bits, key_bytes, message_bytes, signed_string, header, match } where match is null unless `expected` was given. Example input: {"message":"The quick brown fox jumps over the lazy dog","key":"key","algorithm":"SHA-256"} On error, includes hint: `algorithm` is SHA-256, SHA-1, SHA-384 or SHA-512; `key_encoding` and `message_encoding` are utf8, hex or base64; `preset` is plain, github, stripe or slack.
| Name | Type | Req | Description |
|---|---|---|---|
| algorithm | string | – | Hash function (default SHA-256). Webhook presets always use SHA-256. |
| expected | string | – | Optional signature to verify, in hex or Base64, with or without a sha256= / v0= / v1= prefix. |
| key | string | yes | The secret key. |
| key_encoding | string | – | How the key is written (default utf8). |
| message | string | yes | The message or raw request body to sign. |
| message_encoding | string | – | How the message is written (default utf8). Ignored for webhook presets. |
| preset | string | – | plain (default), github (X-Hub-Signature-256), stripe (t.payload) or slack (v0:ts:body). |
| timestamp | string | – | Unix timestamp used by the stripe and slack presets. |
No output schema declared.
No examples provided.
html_beautify HTML beautify ~78
Pretty-print an HTML fragment. Returns: Pretty-printed HTML string with normalized indentation. Example input: {"html":"<div><p>hi</p><p>there</p></div>","indent":2}
| Name | Type | Req | Description |
|---|---|---|---|
| html | string | yes | HTML input. |
| indent | number | – | Indent size (default 2). |
No output schema declared.
No examples provided.
http_status HTTP status code lookup ~204
Look up HTTP status codes: meaning, defining RFC section (RFC 9110 and others from the IANA registry), when to send it and common pitfalls. Pass a code (404), a class (5xx) or words (rate limit). Unofficial nginx and Cloudflare codes are included and flagged. Returns: JSON { query, count, results[] } where each result has { code, name, class, spec, official, deprecated, cacheableByDefault, summary, usage, note }, plus unknownCode text when a 3-digit code is not registered. Example input: {"query":"429"}
| Name | Type | Req | Description |
|---|---|---|---|
| includeUnofficial | boolean | – | Include vendor codes such as nginx 499 and Cloudflare 522. Default true. |
| limit | integer | – | Maximum results to return. Default 20. |
| query | string | yes | A status code such as 429, a class such as 3xx, or search words such as 'redirect keep method'. |
No output schema declared.
No examples provided.
ip_convert IPv4 converter ~151
Convert an IPv4 address between dotted-decimal, integer, binary, and hex forms. Accepts any of those as input. Returns: JSON { decimal, integer, hex, binary } representations of the IPv4 address. Example input: {"value":"192.168.1.1"} On error, includes hint: `value` accepts dotted (192.168.0.1), integer (3232235521), 32-bit binary, or 0x-prefixed hex.
| Name | Type | Req | Description |
|---|---|---|---|
| value | string | yes | IPv4 in dotted (192.168.0.1), integer (3232235521), binary (32 bits), or hex (0xC0A80001) form. |
No output schema declared.
No examples provided.
js_beautify JavaScript / TypeScript beautify or minify ~302
Format JavaScript, TypeScript or JSX with js-beautify, or minify JavaScript/TypeScript by removing comments and whitespace (no renaming, no rewriting; line breaks are kept where automatic semicolon insertion needs them). The output is re-lexed and compared token by token with the input. Returns: Text: the formatted or minified code. structuredContent { code, mode, inputBytes, outputBytes, savedPercent, warnings[] }. Example input: {"code":"function add(a,b){return a+b}","mode":"beautify","language":"javascript","indent":2,"brace_style":"collapse","keep_license":true} On error, includes hint: Pass the whole file as `code`. An unterminated string, comment or regex is reported with its line and column.
| Name | Type | Req | Description |
|---|---|---|---|
| brace_style | string | – | Brace placement when beautifying: collapse = K&R (same line), expand = Allman (own line). |
| code | string | yes | Source code to format or minify. |
| indent | integer | – | Spaces per indent level when beautifying (0 = tabs). |
| keep_license | boolean | – | When minifying, keep /*! ... */ and @license comments. |
| language | string | – | Language of the code. TypeScript gets generic and optional-marker fix-ups; JSX cannot be minified. |
| mode | string | – | beautify = pretty-print, minify = strip comments and whitespace. |
No output schema declared.
No examples provided.
json_format Format JSON ~123
Pretty-print a JSON string with a chosen indent size. Returns: Pretty-printed JSON string with the requested indent, or an error message if the input is invalid. Example input: {"text":"{\"a\":1,\"b\":[2,3]}","indent":2} On error, includes hint: Pass valid JSON as `text` (double-quoted keys/strings, no trailing commas). `indent` is an integer between 0 and 10.
| Name | Type | Req | Description |
|---|---|---|---|
| indent | number | – | Indent spaces (default 2). |
| text | string | yes | – |
No output schema declared.
No examples provided.
json_schema_validate JSON Schema validate or generate ~330
Validate a JSON document against a JSON Schema (drafts 06, 07, 2019-09 and 2020-12, via Ajv, all errors reported with JSON Pointer paths and formats such as date-time, email, uuid, ipv4/ipv6 checked), or infer a starter schema from sample JSON. Leave `schema` empty to infer. Returns: Validate: text summary plus structuredContent { mode, valid, draft, errors[{ path, message, keyword, schemaPath, params }], warnings[] }. Infer: the schema as JSON text and structuredContent { mode, schema }. Example input: {"data":"{\"name\":\"Ada\",\"age\":-1}","schema":"{\"type\":\"object\",\"properties\":{\"age\":{\"type\":\"integer\",\"minimum\":0}},\"required\":[\"name\",\"email\"]}","draft":"auto"} On error, includes hint: Both `data` and `schema` are JSON text, not objects. Send an empty `schema` to generate one from `data`.
| Name | Type | Req | Description |
|---|---|---|---|
| data | string | yes | The JSON document (as text) to validate, or the sample to infer a schema from. |
| draft | string | – | Draft for validation; auto reads $schema and defaults to 2020-12. |
| infer_draft | string | – | Draft of the generated schema when inferring. |
| infer_required | string | – | When inferring: all = keys present in every sampled object are required. |
| schema | string | – | The JSON Schema as text. Empty = infer a schema from `data` instead of validating. |
No output schema declared.
No examples provided.
json_to_csv JSON to CSV ~129
Convert an array of JSON objects to CSV. Columns are inferred from the union of keys. Returns: CSV string with a header row derived from the first object's keys. Example input: {"json":"[{\"name\":\"Ada\",\"age\":36},{\"name\":\"Grace\",\"age\":85}]","delimiter":","} On error, includes hint: `json` must be a JSON-encoded array of objects (parameter name is `json`, not `text`).
| Name | Type | Req | Description |
|---|---|---|---|
| delimiter | string | – | Field delimiter (default ","). |
| json | string | yes | JSON array of objects, as a string. |
No output schema declared.
No examples provided.
json_to_yaml JSON to YAML ~85
Convert a JSON string to YAML. Returns: YAML representation of the parsed JSON value. Example input: {"json":"{\"name\":\"Ada\",\"skills\":[\"math\",\"logic\"]}"} On error, includes hint: Pass the JSON as `json` (a stringified JSON value), not as a JS object.
| Name | Type | Req | Description |
|---|---|---|---|
| json | string | yes | JSON input as a string. |
No output schema declared.
No examples provided.
json_validate Validate JSON ~67
Validate a JSON string. Returns { valid, error? }. Returns: JSON { valid: boolean, error?: string }. Example input: {"text":"{\"a\":1}"} On error, includes hint: Pass the JSON string as `text`.
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | – |
No output schema declared.
No examples provided.
jwt_decode Decode JWT ~111
Decode a JWT and return its header + payload. Does NOT verify the signature. Returns: JSON with decoded { header, payload, signature } sections of the JWT. Example input: {"token":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.abc"} On error, includes hint: `token` must be a compact JWT with three base64url-encoded parts separated by dots.
| Name | Type | Req | Description |
|---|---|---|---|
| token | string | yes | The JWT string. |
No output schema declared.
No examples provided.
lines_to_comma Lines to comma-separated ~99
Join lines with a separator (comma by default). Empty lines are skipped. Returns: Single-line string with items joined by the chosen separator. Example input: {"text":"apple\nbanana\ncherry","separator":", ","quote":false}
| Name | Type | Req | Description |
|---|---|---|---|
| quote | boolean | – | Wrap each item in double quotes (default false). |
| separator | string | – | Separator between items (default ", "). |
| text | string | yes | Multi-line input. |
No output schema declared.
No examples provided.
list_calculators List RedBison calculators ~141
List the calculators that run_calculator can execute (finance, health, maths, statistics, construction, science, everyday and engineering), with each one's inputs, units, defaults and an example. Filter with an optional search query. Returns: JSON { total, calculators[] } where each has { id, title, summary, url, inputs (JSON Schema per field), example }. Example input: {"query":"mortgage","limit":5}
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max results (default 25). |
| query | string | – | Optional words to filter by, e.g. 'mortgage', 'beam', 'wire size', 'percentage'. |
No output schema declared.
No examples provided.
list_categories List categories ~44
List all tool categories and subcategories available on RedBison. Returns: JSON array of { category, count } entries covering the full RedBison catalog. Example input: {}
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_compare List comparison ~129
Compare two newline-separated lists. Returns union, intersection, only-in-A, and only-in-B. Returns: JSON { union, intersection, onlyInA, onlyInB } arrays. Example input: {"a":"apple\nbanana\ncherry","b":"banana\ncherry\ndate"}
| Name | Type | Req | Description |
|---|---|---|---|
| a | string | yes | First list, one item per line. |
| b | string | yes | Second list, one item per line. |
| caseInsensitive | boolean | – | Compare case-insensitively (default false). |
| trim | boolean | – | Trim each line before comparing (default true). |
No output schema declared.
No examples provided.
lorem_ipsum Lorem ipsum generator ~59
Generate placeholder lorem ipsum text. Returns: Lorem ipsum text of the requested size. Example input: {"unit":"paragraphs","count":2}
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | yes | How many units to generate. |
| unit | string | yes | Unit type. |
No output schema declared.
No examples provided.
markdown_table Markdown table from CSV, TSV or Markdown ~269
Turn CSV, TSV (spreadsheet paste) or an existing Markdown table into a GitHub Flavored Markdown table. The first row is the header; pipes are escaped as \|, line breaks inside cells become <br>, and columns can be padded so the pipes line up (CJK-width aware). Returns: Text: the Markdown table. structuredContent { markdown, rows (including header), columns, detected ('csv' | 'tsv' | 'markdown' | 'other'), errors[] }. Example input: {"text":"Item,Qty,Price\nApple,3,$1.20\nKiwi,12,$0.50","align":"none","pretty":true,"outer_pipes":true,"bold_header":false} On error, includes hint: Put the header in the first row. Quote CSV fields that contain commas or line breaks.
| Name | Type | Req | Description |
|---|---|---|---|
| align | string | – | Alignment for every column (none keeps alignment from a Markdown input). |
| bold_header | boolean | – | Wrap header cells in **bold**. |
| outer_pipes | boolean | – | Start and end each row with |. |
| pretty | boolean | – | Pad cells so the columns line up in plain text. |
| text | string | yes | CSV, TSV or Markdown table text. The delimiter is detected automatically. |
No output schema declared.
No examples provided.
mime_lookup MIME type lookup ~147
Find the MIME (media) type for a file extension or file name, or the extensions for a MIME type. Returns the type, whether it is IANA-registered, aliases, notes and the Content-Type header to send. Returns: JSON { query, matchedBy: 'extension'|'mime'|'text', count, results[] } with { mime, extensions[], name, category, registered, aliases[], spec, note, contentType }. Example input: {"query":"woff2"}
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | An extension (webp or .webp), a file name (report.docx, archive.tar.gz) or a MIME type (application/json, image/*). |
No output schema declared.
No examples provided.
How do I install the RedBison MCP server?
RedBison is a hosted endpoint at https://mcp.redbison.dev/, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.redbison.dev
claude mcp add --transport http dev-redbison-mcp 'https://mcp.redbison.dev/'
What is the RedBison MCP server?
RedBison is an MCP server listed in the public MCP registry as dev.redbison/mcp. 500+ free tools over MCP: dev, text and security utilities, 230+ calculators. No sign-up. This page covers its hosted endpoint (https://mcp.redbison.dev).
Is the RedBison MCP server safe to use?
RedBison scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the RedBison MCP server expose?
RedBison exposes 82 tools: search_tools, get_tool, list_categories, health, base64_encode, and 77 more. Their descriptions and schemas cost roughly 12,539 tokens of context every time the server is loaded.
Does the RedBison MCP server require authentication?
No. We connected to RedBison without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the RedBison MCP server still maintained?
RedBison is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.