io.github.XogZ3/botoi-mcp
Official49 tools49 developer tools via MCP: DNS, WHOIS, IP lookup, JWT, hashing, QR, and more.
Provides 49 developer tools including DNS, WHOIS, IP lookup, JWT, hashing, and QR code generation.
Captured live from the server via tools/list.
lookup_ip
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 (1)
- ipstring
IP address to look up. If omitted, the caller's IP is used.
lookup_dns
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 (2)
- domainstringrequired
Domain name to look up
- typestring
DNS record type
lookup_whois
Get WHOIS registration data for a domain. Use when you need to find domain ownership, registrar, or expiration date.
Parameters (1)
- domainstringrequired
Domain name to look up
lookup_ssl
Check SSL certificate details and expiry for a domain. Use when verifying HTTPS configuration or checking certificate validity.
Parameters (1)
- domainstringrequired
Domain to check
lookup_email
Validate an email address (syntax, MX record, disposable check). Use when you need to verify if an email address is real and deliverable.
Parameters (1)
- emailstringrequired
Email address to validate
lookup_headers
Fetch HTTP response headers for a URL. Use when inspecting server configuration, security headers, or caching policies.
No parameters.
lookup_url_metadata
Extract title, description, OG tags, and favicon from a URL. Use when you need to preview or summarize a webpage.
Parameters (1)
- urlstringrequired
URL to fetch and extract metadata from
lookup_domain_availability
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 (1)
- domainstringrequired
The domain name to check (e.g. "example.com")
lookup_tech_detect
Detect technologies used by a website (frameworks, CMS, analytics). Use when analyzing a competitor's tech stack.
Parameters (1)
- urlstringrequired
The full URL to analyze (must start with http:// or https://)
lookup_vpn_detect
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 (1)
- ipstringrequired
IPv4 address to check
lookup_phone
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 (1)
- phonestringrequired
Phone number to validate
lookup_company
Look up company information by domain name. Returns name, industry, employee count, location, and social profiles. Use when enriching leads or researching organizations.
Parameters (1)
- domainstringrequired
Company domain to look up
text_base64_encode
Encode a UTF-8 string to Base64. Use for embedding data in URLs or APIs that require Base64.
Parameters (2)
- textstringrequired
The string to encode
- urlSafeboolean
Use URL-safe alphabet (- instead of +, _ instead of /, no padding)
text_base64_decode
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 (2)
- encodedstringrequired
The Base64 string to decode
- urlSafeboolean
Input uses URL-safe alphabet
text_json_format
Format and pretty-print a JSON string with configurable indentation. Use when making minified or compact JSON readable for debugging or documentation.
Parameters (2)
- jsonstringrequired
Raw JSON string to format
- indentnumber
Number of spaces for indentation (0-8)
text_json_validate
Validate whether a string is valid JSON and report parsing errors.
Parameters (1)
- jsonstringrequired
JSON string to validate
text_markdown_to_html
Convert Markdown text to HTML. Use when rendering Markdown content for web display or email templates. Returns sanitized HTML.
Parameters (3)
- markdownstringrequired
Markdown source text
- gfmboolean
Enable GitHub Flavored Markdown
- sanitizeboolean
Strip script tags, event handlers, iframes, objects, and embeds
text_html_to_markdown
Convert HTML to clean Markdown. Use when extracting readable content from web pages or migrating HTML docs to Markdown format.
Parameters (1)
- htmlstringrequired
HTML string to convert to Markdown
text_csv_to_json
Parse CSV text into a JSON array of objects. Use when converting spreadsheet or tabular data into structured JSON for processing or storage.
Parameters (3)
- csvstringrequired
CSV data as a string
- delimiterstring
Column delimiter character
- has_headerboolean
Whether the first row contains column headers
text_yaml_to_json
Convert YAML configuration or data to JSON. Use when parsing YAML config files for programmatic access or API consumption. Returns a JSON object.
Parameters (1)
- yamlstringrequired
YAML string to convert
text_json_to_yaml
Convert JSON data to YAML format. Use when generating human-readable config files from JSON data structures.
Parameters (2)
- dataobjectrequired
JSON object to convert
- indentnumber
Number of spaces for indentation
text_xml_to_json
Convert XML documents to JSON. Use when parsing XML API responses, feeds, or config files into a structured JSON format for easier processing.
Parameters (1)
- xmlstringrequired
XML string to convert
dev_hash
Generate a hash (MD5, SHA-1, SHA-256, SHA-512) of input text. Use for checksums, data integrity, or fingerprinting.
Parameters (2)
- textstringrequired
Text to hash
- algorithmstringrequired
Hash algorithm
dev_uuid
Generate one or more UUIDs (v4 or v7). Use when you need unique identifiers for database records, request tracing, or idempotency keys.
No parameters.
dev_jwt_sign
Create and sign a JWT with a given payload and secret.
Parameters (3)
- payloadobjectrequired
JSON payload to encode in the token
- secretstringrequired
HMAC secret key for signing
- expires_innumber
Token expiration time in seconds
dev_jwt_verify
Verify and decode a JWT. Use when debugging authentication tokens.
Parameters (1)
- tokenstringrequired
JWT token to decode
dev_cron_describe
Convert a cron expression to a human-readable description.
Parameters (1)
- expressionstringrequired
Five-field cron expression
dev_password_generate
Generate a random password with configurable length and complexity.
Parameters (7)
- lengthnumber
Password length (4-256)
- countnumber
Number of passwords to generate (1-50)
- uppercaseboolean
Include uppercase letters
- lowercaseboolean
Include lowercase letters
- numbersboolean
Include digits
- symbolsboolean
Include special characters
- excludeAmbiguousboolean
Exclude ambiguous characters (0, O, I, l, 1, |)
dev_url_encode
URL-encode a string by escaping special characters. Use when building query parameters, form data, or safe URLs that contain reserved characters.
Parameters (2)
- textstringrequired
String to encode
- componentboolean
Use encodeURIComponent (true) or encodeURI (false)
dev_url_decode
URL-decode a percent-encoded string back to readable text. Use when parsing query parameters, redirect URIs, or encoded form values.
Parameters (2)
- textstringrequired
URL-encoded string to decode
- componentboolean
Use decodeURIComponent (true) or decodeURI (false)
dev_regex_test
Test a regex pattern against a string and return matches.
Parameters (3)
- patternstringrequired
Regular expression pattern (without delimiters)
- flagsstring
Regex flags (e.g. "gi")
- testStringstringrequired
String to test against
dev_diff
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 (2)
- originalstringrequired
Original text
- modifiedstringrequired
Modified text
dev_semver_parse
Parse and validate a semver string into major, minor, patch, pre-release, and build components. Use when checking version compatibility or sorting releases.
Parameters (1)
- versionstringrequired
Version string to validate
dev_timestamp_convert
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 (3)
- timestampstringrequired
Timestamp to convert (Unix seconds, Unix ms, or ISO 8601 string)
- fromstring
Source format hint (unix, unix_ms, iso)
- tostring
Target format hint
security_encrypt
Encrypt text using AES-256-GCM with a passphrase.
Parameters (2)
- plaintextstringrequired
Text to encrypt
- passwordstringrequired
Encryption password (used to derive the key)
security_decrypt
Decrypt AES-256-GCM encrypted text with a passphrase.
Parameters (2)
- ciphertextstringrequired
Base64-encoded ciphertext to decrypt
- passwordstringrequired
Password used during encryption
security_totp_generate
Generate a TOTP secret and provisioning URI for 2FA setup.
Parameters (3)
- secretstringrequired
Base32-encoded shared secret
- periodnumber
Time step in seconds
- digitsnumber
Number of digits in the code
security_validate_credit_card
Validate a credit card number (Luhn check, network detection).
Parameters (1)
- numberstringrequired
Credit card number to validate
security_pii_detect
Detect personally identifiable information (emails, phones, SSNs) in text.
Parameters (1)
- textstringrequired
The text to scan for PII
transform_minify_js
Minify JavaScript code by removing whitespace, comments, and shortening variable names. Use when optimizing bundle size for production deployment.
Parameters (1)
- codestringrequired
JavaScript code to minify
transform_minify_css
Minify CSS stylesheets by removing whitespace, comments, and redundant rules. Use when reducing stylesheet size for faster page loads.
Parameters (1)
- codestringrequired
CSS code to minify
transform_sql_format
Format and beautify SQL queries with proper indentation and keyword casing. Use when cleaning up inline SQL for code reviews, documentation, or debugging.
Parameters (2)
- sqlstringrequired
SQL query to format
- indentnumber
Number of spaces for indentation (default: 2)
transform_code_format
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 (2)
- codestringrequired
Source code to format
- languagestringrequired
Programming language (javascript, json, html, css, sql, xml)
transform_json_to_typescript
Generate TypeScript interfaces from a JSON sample. Use when building type-safe API clients or converting API responses into TypeScript types.
Parameters (2)
- jsonobjectrequired
Any valid JSON value to convert (object, array, string, number, etc.)
- namestring
Name for the generated interface (default: "Root")
lookup_address_validate
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 (1)
- addressstringrequired
Freeform address to validate
lookup_breach_check
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 (1)
- passwordstringrequired
Password to check
lookup_ssl_cert_expiry
Check SSL certificate expiry for a domain. Returns issuer, valid dates, days remaining, and expired/expiring-soon flags. Use when monitoring certificate health.
Parameters (1)
- domainstringrequired
Domain to check
lookup_dns_monitor
Check DNS records for a domain and compare against the previous snapshot. Detects record changes over time. Use when monitoring DNS configuration.
Parameters (2)
- domainstringrequired
Domain to monitor
- typesarray
DNS record types to check
lookup_accessibility
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 (1)
- urlstringrequired
URL to check (must start with http:// or https://)
README not available yet.
Install
claude_desktop_config.json
{
"mcpServers": {
"botoi-mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.botoi.com/mcp"
]
}
}
}Desktop config is stdio-only; this bridges via mcp-remote. Native remote: Settings > Connectors.