io.github.XogZ3/botoi-mcp
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
49 developer tools via MCP: DNS, WHOIS, IP lookup, JWT, hashing, QR, and more.
| Author | io.github.XogZ3 |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 672 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"botoi-mcp": {
"url": "https://api.botoi.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (49)
lookup_ipread-onlyLook 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:
ip— string — IP address to look up. If omitted, the caller's IP is used.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
lookup_dnsread-onlyQuery DNS records (A, AAAA, MX, TXT, CNAME, NS) for a domain. Use when you need to check DNS configuration or troubleshoot domain resolution.
Parameters:
domain(required) — string — Domain name to look uptype— string — DNS record type
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
lookup_whoisread-onlyGet WHOIS registration data for a domain. Use when you need to find domain ownership, registrar, or expiration date.
Parameters:
domain(required) — string — Domain name to look up
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
lookup_sslread-onlyCheck SSL certificate details and expiry for a domain. Use when verifying HTTPS configuration or checking certificate validity.
Parameters:
domain(required) — string — Domain to check
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
lookup_emailread-onlyValidate an email address (syntax, MX record, disposable check). Use when you need to verify if an email address is real and deliverable.
Parameters:
email(required) — string — Email address to validate
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
lookup_headersread-onlyFetch HTTP response headers for a URL. Use when inspecting server configuration, security headers, or caching policies.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
lookup_url_metadataread-onlyExtract title, description, OG tags, and favicon from a URL. Use when you need to preview or summarize a webpage.
Parameters:
url(required) — string — URL to fetch and extract metadata from
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
lookup_domain_availabilityread-onlyCheck 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:
domain(required) — string — The domain name to check (e.g. "example.com")
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
lookup_tech_detectread-onlyDetect technologies used by a website (frameworks, CMS, analytics). Use when analyzing a competitor's tech stack.
Parameters:
url(required) — string — The full URL to analyze (must start with http:// or https://)
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
lookup_vpn_detectread-onlyCheck 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:
ip(required) — string — IPv4 address to check
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
lookup_phoneread-onlyParse 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:
phone(required) — string — Phone number to validate
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
lookup_companyread-onlyLook up company information by domain name. Returns name, industry, employee count, location, and social profiles. Use when enriching leads or researching organizations.
Parameters:
domain(required) — string — Company domain to look up
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
text_base64_encoderead-onlyEncode a UTF-8 string to Base64. Use for embedding data in URLs or APIs that require Base64.
Parameters:
text(required) — string — The string to encodeurlSafe— boolean — Use URL-safe alphabet (- instead of +, _ instead of /, no padding)
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
text_base64_decoderead-onlyDecode 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:
encoded(required) — string — The Base64 string to decodeurlSafe— boolean — Input uses URL-safe alphabet
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
text_json_formatread-onlyFormat and pretty-print a JSON string with configurable indentation. Use when making minified or compact JSON readable for debugging or documentation.
Parameters:
json(required) — string — Raw JSON string to formatindent— number — Number of spaces for indentation (0-8)
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
text_json_validateread-onlyValidate whether a string is valid JSON and report parsing errors.
Parameters:
json(required) — string — JSON string to validate
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
text_markdown_to_htmlread-onlyConvert Markdown text to HTML. Use when rendering Markdown content for web display or email templates. Returns sanitized HTML.
Parameters:
markdown(required) — string — Markdown source textgfm— boolean — Enable GitHub Flavored Markdownsanitize— boolean — Strip script tags, event handlers, iframes, objects, and embeds
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
text_html_to_markdownread-onlyConvert HTML to clean Markdown. Use when extracting readable content from web pages or migrating HTML docs to Markdown format.
Parameters:
html(required) — string — HTML string to convert to Markdown
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
text_csv_to_jsonread-onlyParse CSV text into a JSON array of objects. Use when converting spreadsheet or tabular data into structured JSON for processing or storage.
Parameters:
csv(required) — string — CSV data as a stringdelimiter— string — Column delimiter characterhas_header— boolean — Whether the first row contains column headers
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
text_yaml_to_jsonread-onlyConvert YAML configuration or data to JSON. Use when parsing YAML config files for programmatic access or API consumption. Returns a JSON object.
Parameters:
yaml(required) — string — YAML string to convert
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
text_json_to_yamlread-onlyConvert JSON data to YAML format. Use when generating human-readable config files from JSON data structures.
Parameters:
data(required) — object — JSON object to convertindent— number — Number of spaces for indentation
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
text_xml_to_jsonread-onlyConvert XML documents to JSON. Use when parsing XML API responses, feeds, or config files into a structured JSON format for easier processing.
Parameters:
xml(required) — string — XML string to convert
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
dev_hashread-onlyGenerate a hash (MD5, SHA-1, SHA-256, SHA-512) of input text. Use for checksums, data integrity, or fingerprinting.
Parameters:
text(required) — string — Text to hashalgorithm(required) — string — Hash algorithm
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
dev_uuidread-onlyGenerate one or more UUIDs (v4 or v7). Use when you need unique identifiers for database records, request tracing, or idempotency keys.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
dev_jwt_signread-onlyCreate and sign a JWT with a given payload and secret.
Parameters:
payload(required) — object — JSON payload to encode in the tokensecret(required) — string — HMAC secret key for signingexpires_in— number — Token expiration time in seconds
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
dev_jwt_verifyread-onlyVerify and decode a JWT. Use when debugging authentication tokens.
Parameters:
token(required) — string — JWT token to decode
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
dev_cron_describeread-onlyConvert a cron expression to a human-readable description.
Parameters:
expression(required) — string — Five-field cron expression
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
dev_password_generateread-onlyGenerate a random password with configurable length and complexity.
Parameters:
count— number — Number of passwords to generate (1-50)length— number — Password length (4-256)numbers— boolean — Include digitssymbols— boolean — Include special characterslowercase— boolean — Include lowercase lettersuppercase— boolean — Include uppercase lettersexcludeAmbiguous— boolean — Exclude ambiguous characters (0, O, I, l, 1, |)
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
dev_url_encoderead-onlyURL-encode a string by escaping special characters. Use when building query parameters, form data, or safe URLs that contain reserved characters.
Parameters:
text(required) — string — String to encodecomponent— boolean — Use encodeURIComponent (true) or encodeURI (false)
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
dev_url_decoderead-onlyURL-decode a percent-encoded string back to readable text. Use when parsing query parameters, redirect URIs, or encoded form values.
Parameters:
text(required) — string — URL-encoded string to decodecomponent— boolean — Use decodeURIComponent (true) or decodeURI (false)
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
dev_regex_testread-onlyTest a regex pattern against a string and return matches.
Parameters:
pattern(required) — string — Regular expression pattern (without delimiters)testString(required) — string — String to test againstflags— string — Regex flags (e.g. "gi")
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
dev_diffread-onlyCompute a unified diff between two text strings. Use when comparing file versions, config changes, or code revisions. Returns added, removed, and unchanged lines.
Parameters:
original(required) — string — Original textmodified(required) — string — Modified text
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
dev_semver_parseread-onlyParse and validate a semver string into major, minor, patch, pre-release, and build components. Use when checking version compatibility or sorting releases.
Parameters:
version(required) — string — Version string to validate
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
dev_timestamp_convertread-onlyConvert between Unix timestamps and ISO 8601 dates. Use when normalizing date formats across APIs, logs, or databases. Returns both Unix and ISO representations.
Parameters:
timestamp(required) — string — Timestamp to convert (Unix seconds, Unix ms, or ISO 8601 string)to— string — Target format hintfrom— string — Source format hint (unix, unix_ms, iso)
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
security_encryptEncrypt text using AES-256-GCM with a passphrase.
Parameters:
plaintext(required) — string — Text to encryptpassword(required) — string — Encryption password (used to derive the key)
Hints: read-only not declared · destructive not declared · idempotent yes · open-world not declared
security_decryptDecrypt AES-256-GCM encrypted text with a passphrase.
Parameters:
ciphertext(required) — string — Base64-encoded ciphertext to decryptpassword(required) — string — Password used during encryption
Hints: read-only not declared · destructive not declared · idempotent yes · open-world not declared
security_totp_generateread-onlyGenerate a TOTP secret and provisioning URI for 2FA setup.
Parameters:
secret(required) — string — Base32-encoded shared secretdigits— number — Number of digits in the codeperiod— number — Time step in seconds
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
security_validate_credit_cardread-onlyValidate a credit card number (Luhn check, network detection).
Parameters:
number(required) — string — Credit card number to validate
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
security_pii_detectread-onlyDetect personally identifiable information (emails, phones, SSNs) in text.
Parameters:
text(required) — string — The text to scan for PII
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
transform_minify_jsread-onlyMinify JavaScript code by removing whitespace, comments, and shortening variable names. Use when optimizing bundle size for production deployment.
Parameters:
code(required) — string — JavaScript code to minify
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
transform_minify_cssread-onlyMinify CSS stylesheets by removing whitespace, comments, and redundant rules. Use when reducing stylesheet size for faster page loads.
Parameters:
code(required) — string — CSS code to minify
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
transform_sql_formatread-onlyFormat and beautify SQL queries with proper indentation and keyword casing. Use when cleaning up inline SQL for code reviews, documentation, or debugging.
Parameters:
sql(required) — string — SQL query to formatindent— number — Number of spaces for indentation (default: 2)
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
transform_code_formatread-onlyFormat 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:
code(required) — string — Source code to formatlanguage(required) — string — Programming language (javascript, json, html, css, sql, xml)
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
transform_json_to_typescriptread-onlyGenerate TypeScript interfaces from a JSON sample. Use when building type-safe API clients or converting API responses into TypeScript types.
Parameters:
json(required) — object — Any valid JSON value to convert (object, array, string, number, etc.)name— string — Name for the generated interface (default: "Root")
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
lookup_address_validateread-onlyValidate 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:
address(required) — string — Freeform address to validate
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
lookup_breach_checkread-onlyCheck if a password has appeared in known data breaches using k-Anonymity. Returns breach count. Use when you need to verify password safety.
Parameters:
password(required) — string — Password to check
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
lookup_ssl_cert_expiryread-onlyCheck SSL certificate expiry for a domain. Returns issuer, valid dates, days remaining, and expired/expiring-soon flags. Use when monitoring certificate health.
Parameters:
domain(required) — string — Domain to check
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
lookup_dns_monitorread-onlyCheck DNS records for a domain and compare against the previous snapshot. Detects record changes over time. Use when monitoring DNS configuration.
Parameters:
domain(required) — string — Domain to monitortypes— array — DNS record types to check
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
lookup_accessibilityread-onlyRun 10 basic accessibility checks on a webpage URL. Returns a score, issues list, and summary. Use when you need a quick accessibility audit.
Parameters:
url(required) — string — URL to check (must start with http:// or https://)
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.