
botoi-mcp
49 developer tools via MCP: DNS, WHOIS, IP lookup, JWT, hashing, QR, and more.
What it can do
What data it sees
Do you need an account
No: the server works without sign-in
49 developer tools via MCP: DNS, WHOIS, IP lookup, JWT, hashing, QR, and more.
How to connect
How to connect botoi-mcp to Claude
The server address to paste into Claude settings:
https://api.botoi.com/mcp
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect botoi-mcp to ChatGPT
The server address to paste into ChatGPT settings:
https://api.botoi.com/mcp
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect botoi-mcp to Cursor
The server address to paste into Cursor settings:
https://api.botoi.com/mcp
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (49)
Raw names from tools/list. Only developers need these.
| 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. |
| 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. |
| lookup_whois | Get WHOIS registration data for a domain. Use when you need to find domain ownership, registrar, or expiration date. |
| lookup_ssl | Check SSL certificate details and expiry for a domain. Use when verifying HTTPS configuration or checking certificate validity. |
| 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. |
| lookup_headers | Fetch HTTP response headers for a URL. Use when inspecting server configuration, security headers, or caching policies. |
| lookup_url_metadata | Extract title, description, OG tags, and favicon from a URL. Use when you need to preview or summarize a webpage. |
| 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. |
| lookup_tech_detect | Detect technologies used by a website (frameworks, CMS, analytics). Use when analyzing a competitor's tech stack. |
| 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. |
| 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. |
| 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. |
| text_base64_encode | Encode a UTF-8 string to Base64. Use for embedding data in URLs or APIs that require Base64. |
| 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. |
| 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. |
| text_json_validate | Validate whether a string is valid JSON and report parsing errors. |
| text_markdown_to_html | Convert Markdown text to HTML. Use when rendering Markdown content for web display or email templates. Returns sanitized HTML. |
| text_html_to_markdown | Convert HTML to clean Markdown. Use when extracting readable content from web pages or migrating HTML docs to Markdown format. |
| 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. |
| 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. |
| text_json_to_yaml | Convert JSON data to YAML format. Use when generating human-readable config files from JSON data structures. |
| 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. |
| dev_hash | Generate a hash (MD5, SHA-1, SHA-256, SHA-512) of input text. Use for checksums, data integrity, or fingerprinting. |
| dev_uuid | Generate one or more UUIDs (v4 or v7). Use when you need unique identifiers for database records, request tracing, or idempotency keys. |
| dev_jwt_sign | Create and sign a JWT with a given payload and secret. |
| dev_jwt_verify | Verify and decode a JWT. Use when debugging authentication tokens. |
| dev_cron_describe | Convert a cron expression to a human-readable description. |
| dev_password_generate | Generate a random password with configurable length and complexity. |
| 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. |
| dev_url_decode | URL-decode a percent-encoded string back to readable text. Use when parsing query parameters, redirect URIs, or encoded form values. |
| dev_regex_test | Test a regex pattern against a string and return matches. |
| 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. |
| 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. |
| 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. |
| security_encrypt | Encrypt text using AES-256-GCM with a passphrase. |
| security_decrypt | Decrypt AES-256-GCM encrypted text with a passphrase. |
| security_totp_generate | Generate a TOTP secret and provisioning URI for 2FA setup. |
| security_validate_credit_card | Validate a credit card number (Luhn check, network detection). |
| security_pii_detect | Detect personally identifiable information (emails, phones, SSNs) in text. |
| transform_minify_js | Minify JavaScript code by removing whitespace, comments, and shortening variable names. Use when optimizing bundle size for production deployment. |
| transform_minify_css | Minify CSS stylesheets by removing whitespace, comments, and redundant rules. Use when reducing stylesheet size for faster page loads. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |