xogz3 avatar

Botoi Mcp

xogz3/botoi

You're looking at a Swiss Army knife of developer utilities wrapped in a single MCP server. It connects to the Botoi API to expose 49 different tools including DNS lookups, WHOIS queries, IP geolocation, JWT encoding and decoding, various hashing functions, and QR code generation. Reach for this when you need quick access to common dev operations without juggling multiple services or CLIs. The streamable HTTP transport means you can call these utilities directly through Claude without installing dependencies. Think of it as having curl, openssl, dig, and a handful of other command line staples accessible through conversation.

tools
49
transport
HTTP
last updated
Apr 6, 2026

Install

From registry metadata
$ npx add-mcp https://api.botoi.com/mcp --name botoi-mcp

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http botoi-mcp https://api.botoi.com/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 49 tools

Verified live against the running server on Nov 6, 2026.

lookup_ipLook up geolocation, ISP, and network details for an IP address. Use when you need to determine the physical location, internet provider, or AS number for a given IP.1 params

Look up geolocation, ISP, and network details for an IP address. Use when you need to determine the physical location, internet provider, or AS number for a given IP.

Parameters* required
ipstring
IP address to look up. If omitted, the caller's IP is used.
lookup_dnsQuery DNS records (A, AAAA, MX, TXT, CNAME, NS) for a domain. Use when you need to check DNS configuration or troubleshoot domain resolution.2 params

Query DNS records (A, AAAA, MX, TXT, CNAME, NS) for a domain. Use when you need to check DNS configuration or troubleshoot domain resolution.

Parameters* required
domain*string
Domain name to look up
typestring
DNS record typeone of A · AAAA · MX · TXT · CNAME · NSdefault: A
lookup_whoisGet WHOIS registration data for a domain. Use when you need to find domain ownership, registrar, or expiration date.1 params

Get WHOIS registration data for a domain. Use when you need to find domain ownership, registrar, or expiration date.

Parameters* required
domain*string
Domain name to look up
lookup_sslCheck SSL certificate details and expiry for a domain. Use when verifying HTTPS configuration or checking certificate validity.1 params

Check SSL certificate details and expiry for a domain. Use when verifying HTTPS configuration or checking certificate validity.

Parameters* required
domain*string
Domain to check
lookup_emailValidate an email address (syntax, MX record, disposable check). Use when you need to verify if an email address is real and deliverable.1 params

Validate an email address (syntax, MX record, disposable check). Use when you need to verify if an email address is real and deliverable.

Parameters* required
email*string
Email address to validate
lookup_headersFetch HTTP response headers for a URL. Use when inspecting server configuration, security headers, or caching policies.

Fetch HTTP response headers for a URL. Use when inspecting server configuration, security headers, or caching policies.

No parameters. Call it with no arguments.

lookup_url_metadataExtract title, description, OG tags, and favicon from a URL. Use when you need to preview or summarize a webpage.1 params

Extract title, description, OG tags, and favicon from a URL. Use when you need to preview or summarize a webpage.

Parameters* required
url*string
URL to fetch and extract metadata from
lookup_domain_availabilityCheck if a domain name is available for registration. Use when brainstorming project names or validating domain ideas. Returns availability status and WHOIS data if registered.1 params

Check if a domain name is available for registration. Use when brainstorming project names or validating domain ideas. Returns availability status and WHOIS data if registered.

Parameters* required
domain*string
The domain name to check (e.g. "example.com")
lookup_tech_detectDetect technologies used by a website (frameworks, CMS, analytics). Use when analyzing a competitor's tech stack.1 params

Detect technologies used by a website (frameworks, CMS, analytics). Use when analyzing a competitor's tech stack.

Parameters* required
url*string
The full URL to analyze (must start with http:// or https://)
lookup_vpn_detectCheck if an IP address is a VPN, proxy, or Tor exit node. Use when assessing connection trustworthiness or flagging suspicious traffic. Returns detection type and provider details.1 params

Check if an IP address is a VPN, proxy, or Tor exit node. Use when assessing connection trustworthiness or flagging suspicious traffic. Returns detection type and provider details.

Parameters* required
ip*string
IPv4 address to check
lookup_phoneParse and validate a phone number, returning country, carrier, line type, and E.164 format. Use when normalizing user-submitted phone numbers or verifying contact data.1 params

Parse and validate a phone number, returning country, carrier, line type, and E.164 format. Use when normalizing user-submitted phone numbers or verifying contact data.

Parameters* required
phone*string
Phone number to validate
lookup_companyLook up company information by domain name. Returns name, industry, employee count, location, and social profiles. Use when enriching leads or researching organizations.1 params

Look up company information by domain name. Returns name, industry, employee count, location, and social profiles. Use when enriching leads or researching organizations.

Parameters* required
domain*string
Company domain to look up
text_base64_encodeEncode a UTF-8 string to Base64. Use for embedding data in URLs or APIs that require Base64.2 params

Encode a UTF-8 string to Base64. Use for embedding data in URLs or APIs that require Base64.

Parameters* required
text*string
The string to encode
urlSafeboolean
Use URL-safe alphabet (- instead of +, _ instead of /, no padding)default: false
text_base64_decodeDecode a Base64 string back to UTF-8 text. Use when extracting data from Base64-encoded API responses, tokens, or email headers. Returns the original plaintext string.2 params

Decode a Base64 string back to UTF-8 text. Use when extracting data from Base64-encoded API responses, tokens, or email headers. Returns the original plaintext string.

Parameters* required
encoded*string
The Base64 string to decode
urlSafeboolean
Input uses URL-safe alphabetdefault: false
text_json_formatFormat and pretty-print a JSON string with configurable indentation. Use when making minified or compact JSON readable for debugging or documentation.2 params

Format and pretty-print a JSON string with configurable indentation. Use when making minified or compact JSON readable for debugging or documentation.

Parameters* required
indentnumber
Number of spaces for indentation (0-8)default: 2
json*string
Raw JSON string to format
text_json_validateValidate whether a string is valid JSON and report parsing errors.1 params

Validate whether a string is valid JSON and report parsing errors.

Parameters* required
json*string
JSON string to validate
text_markdown_to_htmlConvert Markdown text to HTML. Use when rendering Markdown content for web display or email templates. Returns sanitized HTML.3 params

Convert Markdown text to HTML. Use when rendering Markdown content for web display or email templates. Returns sanitized HTML.

Parameters* required
gfmboolean
Enable GitHub Flavored Markdowndefault: true
markdown*string
Markdown source text
sanitizeboolean
Strip script tags, event handlers, iframes, objects, and embedsdefault: false
text_html_to_markdownConvert HTML to clean Markdown. Use when extracting readable content from web pages or migrating HTML docs to Markdown format.1 params

Convert HTML to clean Markdown. Use when extracting readable content from web pages or migrating HTML docs to Markdown format.

Parameters* required
html*string
HTML string to convert to Markdown
text_csv_to_jsonParse CSV text into a JSON array of objects. Use when converting spreadsheet or tabular data into structured JSON for processing or storage.3 params

Parse CSV text into a JSON array of objects. Use when converting spreadsheet or tabular data into structured JSON for processing or storage.

Parameters* required
csv*string
CSV data as a string
delimiterstring
Column delimiter characterdefault: ,
has_headerboolean
Whether the first row contains column headersdefault: true
text_yaml_to_jsonConvert YAML configuration or data to JSON. Use when parsing YAML config files for programmatic access or API consumption. Returns a JSON object.1 params

Convert YAML configuration or data to JSON. Use when parsing YAML config files for programmatic access or API consumption. Returns a JSON object.

Parameters* required
yaml*string
YAML string to convert
text_json_to_yamlConvert JSON data to YAML format. Use when generating human-readable config files from JSON data structures.2 params

Convert JSON data to YAML format. Use when generating human-readable config files from JSON data structures.

Parameters* required
data*object
JSON object to convert
indentnumber
Number of spaces for indentationdefault: 2
text_xml_to_jsonConvert XML documents to JSON. Use when parsing XML API responses, feeds, or config files into a structured JSON format for easier processing.1 params

Convert XML documents to JSON. Use when parsing XML API responses, feeds, or config files into a structured JSON format for easier processing.

Parameters* required
xml*string
XML string to convert
dev_hashGenerate a hash (MD5, SHA-1, SHA-256, SHA-512) of input text. Use for checksums, data integrity, or fingerprinting.2 params

Generate a hash (MD5, SHA-1, SHA-256, SHA-512) of input text. Use for checksums, data integrity, or fingerprinting.

Parameters* required
algorithm*string
Hash algorithmone of md5 · sha1 · sha256 · sha384 · sha512
text*string
Text to hash
dev_uuidGenerate one or more UUIDs (v4 or v7). Use when you need unique identifiers for database records, request tracing, or idempotency keys.

Generate one or more UUIDs (v4 or v7). Use when you need unique identifiers for database records, request tracing, or idempotency keys.

No parameters. Call it with no arguments.

dev_jwt_signCreate and sign a JWT with a given payload and secret.3 params

Create and sign a JWT with a given payload and secret.

Parameters* required
expires_innumber
Token expiration time in seconds
payload*object
JSON payload to encode in the token
secret*string
HMAC secret key for signing
dev_jwt_verifyVerify and decode a JWT. Use when debugging authentication tokens.1 params

Verify and decode a JWT. Use when debugging authentication tokens.

Parameters* required
token*string
JWT token to decode
dev_cron_describeConvert a cron expression to a human-readable description.1 params

Convert a cron expression to a human-readable description.

Parameters* required
expression*string
Five-field cron expression
dev_password_generateGenerate a random password with configurable length and complexity.7 params

Generate a random password with configurable length and complexity.

Parameters* required
countnumber
Number of passwords to generate (1-50)default: 1
excludeAmbiguousboolean
Exclude ambiguous characters (0, O, I, l, 1, |)default: false
lengthnumber
Password length (4-256)default: 16
lowercaseboolean
Include lowercase lettersdefault: true
numbersboolean
Include digitsdefault: true
symbolsboolean
Include special charactersdefault: false
uppercaseboolean
Include uppercase lettersdefault: true
dev_url_encodeURL-encode a string by escaping special characters. Use when building query parameters, form data, or safe URLs that contain reserved characters.2 params

URL-encode a string by escaping special characters. Use when building query parameters, form data, or safe URLs that contain reserved characters.

Parameters* required
componentboolean
Use encodeURIComponent (true) or encodeURI (false)default: true
text*string
String to encode
dev_url_decodeURL-decode a percent-encoded string back to readable text. Use when parsing query parameters, redirect URIs, or encoded form values.2 params

URL-decode a percent-encoded string back to readable text. Use when parsing query parameters, redirect URIs, or encoded form values.

Parameters* required
componentboolean
Use decodeURIComponent (true) or decodeURI (false)default: true
text*string
URL-encoded string to decode
dev_regex_testTest a regex pattern against a string and return matches.3 params

Test a regex pattern against a string and return matches.

Parameters* required
flagsstring
Regex flags (e.g. "gi")default:
pattern*string
Regular expression pattern (without delimiters)
testString*string
String to test against
dev_diffCompute a unified diff between two text strings. Use when comparing file versions, config changes, or code revisions. Returns added, removed, and unchanged lines.2 params

Compute a unified diff between two text strings. Use when comparing file versions, config changes, or code revisions. Returns added, removed, and unchanged lines.

Parameters* required
modified*string
Modified text
original*string
Original text
dev_semver_parseParse and validate a semver string into major, minor, patch, pre-release, and build components. Use when checking version compatibility or sorting releases.1 params

Parse and validate a semver string into major, minor, patch, pre-release, and build components. Use when checking version compatibility or sorting releases.

Parameters* required
version*string
Version string to validate
dev_timestamp_convertConvert between Unix timestamps and ISO 8601 dates. Use when normalizing date formats across APIs, logs, or databases. Returns both Unix and ISO representations.3 params

Convert between Unix timestamps and ISO 8601 dates. Use when normalizing date formats across APIs, logs, or databases. Returns both Unix and ISO representations.

Parameters* required
fromstring
Source format hint (unix, unix_ms, iso)
timestamp*string
Timestamp to convert (Unix seconds, Unix ms, or ISO 8601 string)
tostring
Target format hint
security_encryptEncrypt text using AES-256-GCM with a passphrase.2 params

Encrypt text using AES-256-GCM with a passphrase.

Parameters* required
password*string
Encryption password (used to derive the key)
plaintext*string
Text to encrypt
security_decryptDecrypt AES-256-GCM encrypted text with a passphrase.2 params

Decrypt AES-256-GCM encrypted text with a passphrase.

Parameters* required
ciphertext*string
Base64-encoded ciphertext to decrypt
password*string
Password used during encryption
security_totp_generateGenerate a TOTP secret and provisioning URI for 2FA setup.3 params

Generate a TOTP secret and provisioning URI for 2FA setup.

Parameters* required
digitsnumber
Number of digits in the codedefault: 6
periodnumber
Time step in secondsdefault: 30
secret*string
Base32-encoded shared secret
security_validate_credit_cardValidate a credit card number (Luhn check, network detection).1 params

Validate a credit card number (Luhn check, network detection).

Parameters* required
number*string
Credit card number to validate
security_pii_detectDetect personally identifiable information (emails, phones, SSNs) in text.1 params

Detect personally identifiable information (emails, phones, SSNs) in text.

Parameters* required
text*string
The text to scan for PII
transform_minify_jsMinify JavaScript code by removing whitespace, comments, and shortening variable names. Use when optimizing bundle size for production deployment.1 params

Minify JavaScript code by removing whitespace, comments, and shortening variable names. Use when optimizing bundle size for production deployment.

Parameters* required
code*string
JavaScript code to minify
transform_minify_cssMinify CSS stylesheets by removing whitespace, comments, and redundant rules. Use when reducing stylesheet size for faster page loads.1 params

Minify CSS stylesheets by removing whitespace, comments, and redundant rules. Use when reducing stylesheet size for faster page loads.

Parameters* required
code*string
CSS code to minify
transform_sql_formatFormat and beautify SQL queries with proper indentation and keyword casing. Use when cleaning up inline SQL for code reviews, documentation, or debugging.2 params

Format and beautify SQL queries with proper indentation and keyword casing. Use when cleaning up inline SQL for code reviews, documentation, or debugging.

Parameters* required
indentnumber
Number of spaces for indentation (default: 2)default: 2
sql*string
SQL query to format
transform_code_formatFormat source code with language-aware indentation and style rules. Supports JS, TS, Python, Go, Rust, and more. Use when standardizing code style or preparing snippets for documentation.2 params

Format source code with language-aware indentation and style rules. Supports JS, TS, Python, Go, Rust, and more. Use when standardizing code style or preparing snippets for documentation.

Parameters* required
code*string
Source code to format
language*string
Programming language (javascript, json, html, css, sql, xml)one of javascript · json · html · css · sql · xml
transform_json_to_typescriptGenerate TypeScript interfaces from a JSON sample. Use when building type-safe API clients or converting API responses into TypeScript types.2 params

Generate TypeScript interfaces from a JSON sample. Use when building type-safe API clients or converting API responses into TypeScript types.

Parameters* required
json*object
Any valid JSON value to convert (object, array, string, number, etc.)
namestring
Name for the generated interface (default: "Root")default: Root
lookup_address_validateValidate a freeform address and return structured components (street, city, state, postal code, country), GPS coordinates, and confidence score. Use when you need to verify or parse an address.1 params

Validate a freeform address and return structured components (street, city, state, postal code, country), GPS coordinates, and confidence score. Use when you need to verify or parse an address.

Parameters* required
address*string
Freeform address to validate
lookup_breach_checkCheck if a password has appeared in known data breaches using k-Anonymity. Returns breach count. Use when you need to verify password safety.1 params

Check if a password has appeared in known data breaches using k-Anonymity. Returns breach count. Use when you need to verify password safety.

Parameters* required
password*string
Password to check
lookup_ssl_cert_expiryCheck SSL certificate expiry for a domain. Returns issuer, valid dates, days remaining, and expired/expiring-soon flags. Use when monitoring certificate health.1 params

Check SSL certificate expiry for a domain. Returns issuer, valid dates, days remaining, and expired/expiring-soon flags. Use when monitoring certificate health.

Parameters* required
domain*string
Domain to check
lookup_dns_monitorCheck DNS records for a domain and compare against the previous snapshot. Detects record changes over time. Use when monitoring DNS configuration.2 params

Check DNS records for a domain and compare against the previous snapshot. Detects record changes over time. Use when monitoring DNS configuration.

Parameters* required
domain*string
Domain to monitor
typesarray
DNS record types to check
lookup_accessibilityRun 10 basic accessibility checks on a webpage URL. Returns a score, issues list, and summary. Use when you need a quick accessibility audit.1 params

Run 10 basic accessibility checks on a webpage URL. Returns a score, issues list, and summary. Use when you need a quick accessibility audit.

Parameters* required
url*string
URL to check (must start with http:// or https://)

Sponsors

Readme

Details

Repository
github.com/xogz3/botoi
Transport
HTTP
Registry
MCP registry, active
Resources
1
Prompts
2
Tools verified
Nov 6, 2026