
RedBison MCP server
Which MCP servers are RedBison's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.
read 2026-10-30
- Registry namedev.redbison/mcpverified in the MCP registry
The registry name sits under redbison.dev. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.
- Stateanswerschecked 2026-10-30
- Tools82
- Server calls itselfredbison-mcp
- Server version2.1.0
- Protocol version2025-06-18
On 2026-10-30 the server answered initialize and tools/list without a sign-in. First answer in 3880 ms.
- Its tools do every use case we checked: Remove duplicate lines from a text list; Format and validate JSON or SQL documents; Convert CSV data into JSON.
- Checked on 5 of the 7 days it takes to judge reliability.
Once connected
- For "Remove duplicate lines from a text list", the likely first call is remove_duplicate_lines.
- For "Format and validate JSON or SQL documents", the likely first call is json_format.
- For "Convert CSV data into JSON", the likely first call is csv_to_json.
- Its definitions take about 17258 tokens of context: enable only the tools a task needs.
Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.
- INITE MCP scoreafter a weeka score needs 7 daily checks: 5 so far
- What an agent can do with it3 of 3 use cases
- Answeredmeasuring5 of the 7 daily checks it takes to print a share
- Median first answer3591 ms
- Space in an agent's context≈ 17,258 tokensthe definitions of all its tools (82), which an agent carries on every turn
- Tool definitionsA · 98 of 100
- Typed results0 of 82 toolsdeclared outputSchema: results come typed, read once
- Parameters without a description: in 10 of 82
What an agent can do with it
- can do · Remove duplicate lines from a text list
- can do · Format and validate JSON or SQL documents
- can do · Convert CSV data into JSON
Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?
Worth a look
None of the five warning signs in these definitions.
A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →
search_toolsSearch RedBison's 500+ tools by keyword: developer utilities, file and media converters, and finance, health, math and engineering calculators. Returns a ranked list with each tool's canonical URL and, when one exists, its in-depth guide…
get_toolGet 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"}
list_categoriesList all tool categories and subcategories available on RedBison. Returns: JSON array of { category, count } entries covering the full RedBison catalog. Example input: {}
healthReturn server status, name, version, and uptime info. Use this to monitor the MCP server. Returns: JSON { status, name, version, startedAt, timestamp }. Example input: {}
base64_encodeBase64-encode a UTF-8 string. Returns: Base64-encoded string (UTF-8 safe). Example input: {"text":"hello world"}
base64_decodeBase64-decode a string back to UTF-8. Returns: UTF-8 decoded plain text. Example input: {"text":"aGVsbG8gd29ybGQ="}
url_encodePercent-encode a string for use in URLs. Returns: Percent-encoded string suitable for URL query values. Example input: {"text":"hello world & friends"}
url_decodePercent-decode a URL-encoded string. Returns: Percent-decoded plain text. Example input: {"text":"hello%20world%20%26%20friends"}
json_formatPretty-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…
json_validateValidate 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`.
csv_to_jsonParse 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`…
json_to_csvConvert 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_to_yamlConvert 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…
yaml_to_jsonConvert simple YAML (maps, lists, scalars, flow {} / []) to JSON. Anchors, tags, and complex block scalars are not supported. Returns: Pretty-printed JSON built from the YAML input. Example input: {"yaml":"name: Ada\nskills:\n - math\n…
tsv_parseParse tab-separated values into JSON. First row is treated as header unless header=false. Returns: JSON array of row objects derived from the TSV header row. Example input: {"text":"name\tage\nAda\t36\nGrace\t85"} On error, includes hint…
html_beautifyPretty-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}
xml_beautifyPretty-print an XML document. Returns: Pretty-printed XML string with normalized indentation. Example input: {"xml":"<root><a>1</a><b>2</b></root>","indent":2}
yaml_beautifyNormalize YAML indentation and whitespace. Returns: Normalized YAML string (2-space indent, collapsed blank lines). Example input: {"yaml":"a: 1\nb: 2\n\n\nc: 3"}
sql_beautifyFormat a SQL query with keyword uppercasing and line breaks before major clauses. Returns: Formatted SQL query with keywords on new lines. Example input: {"sql":"select id,name from users where active=true order by name"}
slugifyConvert text to a URL-safe slug. Returns: URL-safe slug (lowercase, dashes). Example input: {"text":"Hello, World! 2026"}
case_convertConvert 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…
escape_charactersEscape 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…
remove_duplicate_linesRemove duplicate lines from text while preserving first-occurrence order. Returns: Text with duplicate lines removed (order preserved). Example input: {"text":"apple\nbanana\napple\ncherry","caseInsensitive":false,"trim":true}
find_duplicate_entriesReturn 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"}
remove_extra_spacesCollapse runs of whitespace inside each line to a single space and trim ends. Returns: Text with runs of whitespace collapsed to a single space. Example input: {"text":"hello world foo"}
remove_empty_linesStrip blank / whitespace-only lines from the input. Returns: Text with blank lines removed. Example input: {"text":"one\n\ntwo\n\n\nthree"}
lines_to_commaJoin 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}
comma_to_linesSplit 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}
jwt_decodeDecode 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…
hashCompute 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…
hash_compareHash 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…
uuid_generateGenerate one or more v4 UUIDs. Returns: JSON array of v4 UUID strings. Example input: {"count":3} On error, includes hint: `count` must be an integer between 1 and 100.
password_generateGenerate a cryptographically random password. Choose length and character classes. Returns: Randomly generated password string. Example input: {"length":20,"uppercase":true,"lowercase":true,"digits":true,"symbols":true,"count":1} On…
bcrypt_hashHash 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.
bcrypt_verifyCheck 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…
subnet_calculatorGiven a CIDR block (e.g. 10.0.0.0/24), return network, broadcast, netmask, first/last host, and host count. Returns: JSON with network, broadcast, first/last host, host count, and mask for the CIDR. Example input…
ip_convertConvert 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…
epoch_convertConvert 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…
timezone_convertConvert a timestamp between two IANA timezones. Returns the wall-clock time in the target zone. Returns: JSON { utc, zone, local } with the timestamp rendered in the target IANA timezone. Example input…
date_diffCompute 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…
cron_validateValidate 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 *…
regex_testTest a regular expression against text. Returns all matches and capture groups. Returns: JSON { matches: string[], count } of matches for the pattern. Example input: {"pattern":"\\d+","flags":"g","text":"order 42 shipped on day 7"} On…
text_diffCompute a line-level diff between two strings. Returns a unified-style patch and per-line change list. Returns: JSON line-diff with { added, removed, unchanged } arrays. Example input: {"a":"line 1\nline 2\nline 3","b":"line 1\nline 2…
list_compareCompare 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"}
color_convertConvert 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…
contrast_checkCompute 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…
css_gradientBuild 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…
random_nameGenerate random human names. Returns: JSON array of random human name strings. Example input: {"count":3}
random_emailGenerate random-looking (non-deliverable) test email addresses. Returns: JSON array of random email address strings. Example input: {"count":3,"domain":"example.com"}
random_numberGenerate cryptographically random numbers in a range. Returns: JSON array of generated numbers. Example input: {"min":1,"max":100,"count":5,"mode":"integer"}
lorem_ipsumGenerate placeholder lorem ipsum text. Returns: Lorem ipsum text of the requested size. Example input: {"unit":"paragraphs","count":2}
emi_calculateCompute 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}
simple_interestCompute simple interest: I = P × r × t. Returns: JSON { interest, total } computed as P·r·t. Example input: {"principal":10000,"annualRatePercent":5,"years":3}
compound_interestCompute 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}
bmi_calculateCalculate 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"}
list_calculatorsList 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…
run_calculatorRun any RedBison calculator by id with named inputs and get the result as JSON: mortgages and loans, savings and investing, pay and tax, body and fitness, maths, statistics, geometry, construction, science and engineering (beams, bolts…
ascii_art_textRender 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…
barcode_check_digitCompute 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…
chmod_convertConvert 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…
The first 60 of 82, as the server listed them.
How to connect
Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:
{
"mcpServers": {
"redbison": {
"type": "http",
"url": "https://mcp.redbison.dev"
}
}
}Add it
Claude Code, in a terminal
claude mcp add --transport http redbison https://mcp.redbison.devclaude.ai, ChatGPT and other clients: add https://mcp.redbison.dev as a custom connector in the settings.
Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.
Before we count this visit
Analytics and ad measurement tell us which pages and which of our ads do their job: Google Analytics and Google Ads, the Meta pixel, Yandex Metrica, and one first-party id of our own. Nothing is stored until you answer, and declining changes nothing about the site.