MCP Server Guide 2026

Give AI Agents Domain and Network Intelligence with MCP

The Ops.Tools MCP server exposes DNS, WHOIS, SSL, HTTP analysis, and port scanning as tools your AI agents call directly across monitoring, fraud prevention use cases, and domain research. No SDK, no glue code โ€” one HTTP endpoint, standard JSON-RPC, and the same trusted data as the REST API.

6 tools
DNS, WHOIS, SSL, HTTP + account identity/usage (port scan on request)
1 credit
Per tool call โ€” no tiers, no multipliers
Free
account_whoami + account_usage cost nothing
Streamable HTTP
POST JSON-RPC 2.0, Accept: application/json, text/event-stream

The Model Context Protocol lets AI assistants call external tools through one standard interface โ€” the client discovers the tools on its own, no hand-written HTTP client needed. The server speaks Streamable HTTP: every request is a POST of a JSON-RPC 2.0 message to https://api.ops.tools/mcp with Accept: application/json, text/event-stream, and every request authenticates with your API key in the x-api-key header. MCP clients send that header for you โ€” only add it when calling the endpoint by hand.

Connect Your Client

One URL and one header work everywhere: https://api.ops.tools/mcp with your API key in x-api-key. Pick the card that matches your client, copy the block, and replace YOUR_API_KEY.

Claude Code

One command registers the server for your CLI sessions. Replace YOUR_API_KEY with a key from Account โ†’ API keys.
Copy command
claude mcp add --transport http ops-tools https://api.ops.tools/mcp --header "x-api-key: YOUR_API_KEY"

Claude (claude.ai / Desktop)

Open Settings โ†’ Connectors โ†’ Add custom connector (Desktop: Customize โ†’ Connectors) and paste the server URL. When prompted for authentication, choose a custom header: x-api-key = YOUR_API_KEY.
Copy URL
https://api.ops.tools/mcp

Codex (CLI, IDE & ChatGPT app)

Run the command once, then add the header line to ~/.codex/config.toml โ€” Codex CLI, the IDE extension, and the ChatGPT desktop app all share it. Verify with codex mcp list.
Copy command
codex mcp add ops-tools --url https://api.ops.tools/mcp
Copy config.toml
# ~/.codex/config.toml โ€” shared by the Codex CLI, IDE extension, and desktop app
[mcp_servers.ops-tools]
url = "https://api.ops.tools/mcp"
env_http_headers = { "x-api-key" = "OPS_TOOLS_API_KEY" }

Any MCP Client

Generic Streamable HTTP configuration that works in any client config file. VS Code (Copilot) reads a servers key in .vscode/mcp.json; everything else uses mcpServers.
Copy JSON
{
  "mcpServers": {
    "ops-tools": {
      "type": "http",
      "url": "https://api.ops.tools/mcp",
      "headers": { "x-api-key": "YOUR_API_KEY" }
    }
  }
}

Also works with

MCP button in /open-api or .cursor/mcp.json
VS Code
.vscode/mcp.json (servers key)
Windsurf
~/.codeium/windsurf/mcp_config.json
Cline
~/Documents/Cline/MCP/cline_mcp_settings.json
Continue
~/.continue/config.yaml
Zed
~/.config/zed/settings.json โ†’ context_servers

Create an API Key

1

Open Account โ†’ API keys

Sign in and create a key at Account โ†’ API keys. Keys are host-scoped to Ops.Tools โ€” credentials issued for other products are rejected.

2

Copy the key

Copy the generated key immediately. Treat it like a password: one key per agent keeps usage attributable, and you can rotate or revoke keys from the same page.

3

Send it as x-api-key

The key travels in the x-api-key header on every request โ€” never in the URL. For a limited trial without an account, use the key demo-key with a valid TOTP in the x-ct header.

Raw JSON-RPC Walkthrough

Every session starts with initialize. The result carries the server capabilities and agent instructions โ€” including the auth and billing contract your agent should respect:

Copy curl
curl -X POST 'https://api.ops.tools/mcp' \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -H 'x-api-key: YOUR_API_KEY' \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2025-06-18",
      "capabilities": {},
      "clientInfo": { "name": "curl", "version": "1.0" }
    }
  }'

The initialize result announces the server and embeds those instructions for the agent:

Copy response
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "protocolVersion": "2025-06-18",
    "capabilities": { "tools": { "listChanged": false } },
    "serverInfo": { "name": "ops-tools", "version": "1.0.0" },
    "instructions": "Authenticate with the x-api-key header. Each tool call costs 1 credit except account_whoami and account_usage, which are free. HTTP 402 means the account is out of credits. Only scan assets you are authorized to test."
  }
}

Then call a tool. Tool calls use the tools/call method โ€” ask for ops_ssl_check against example.com and the tool returns the certificate window: issuer, validity dates, and daysRemaining until expiry:

Copy curl
curl -X POST 'https://api.ops.tools/mcp' \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -H 'x-api-key: YOUR_API_KEY' \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "ops_ssl_check",
      "arguments": { "domain": "example.com" }
    }
  }'

The server responds with the tool result as a JSON payload inside the MCP content block:

Copy response
{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"domain\":\"example.com\",\"port\":443,\"certificate\":{\"subject\":\"CN=example.com\",\"issuer\":\"C=US, O=Let's Encrypt, CN=E5\",\"validFrom\":\"2026-08-30\",\"validTo\":\"2026-11-28\",\"daysRemaining\":18,\"isValid\":true,\"isExpired\":false,\"isSelfSigned\":false},\"chain\":{\"chainLength\":2,\"isValidChain\":true},\"protocols\":[\"TLSv1.3\"],\"cipherSuite\":\"TLS_AES_256_GCM_SHA384\"}"
      }
    ]
  }
}

The other tools follow the same pattern: ops_dns_lookup for records, ops_whois for registration data, and ops_http_analyze for security headers and grades. Records drive DNS management automation checks; registration data powers lead generation use cases and ownership research.

Tool Reference

ToolWhat it returnsArgumentsCost
account_whoamiIdentity probe for the API key: account status plus creditAvailable/creditUsed (remaining credits)NoneFree
account_usageDaily API usage by date and service โ€” verify billing accountingNoneFree
ops_dns_lookupDNS records for a domain or hostname: A, AAAA, MX, TXT, and moredomain, type (optional)1 credit
ops_whoisRegistrar, registration dates, and name servers for a domaindomain1 credit
ops_ssl_checkCertificate validity window, daysRemaining, chain health, protocols, and cipherdomain1 credit
ops_http_analyzeSecurity headers, grade, and caching/compression behavior for a URLurl1 credit
ops_port_scanon requestOpen TCP ports for a hosthost, ports (optional)1 credit

Ops tools are read-only but probe third parties. Only scan assets you are authorized to test โ€” ops_port_scan is disabled by default and enabled on request.

Billing & Errors

Each tool call costs 1 credit, with two exceptions: account_whoami and account_usage are free, so point agents at account_whoami first to check creditAvailable/creditUsed and at account_usage to review daily usage before a long run. Usage lands in the same account usage logs as REST calls, and the initialize result carries agent instructions that spell out auth and billing, so well-behaved clients learn the rules on connect.

HTTP 402 โ€” out of credits

The account ran out of credits. Teach your agent to stop and surface the top-up link instead of retrying: ops.tools/pricing. Treat it as a billing signal, not a validation failure.

HTTP 401 โ€” missing or cross-host key

The key is missing, invalid, or issued for another product host. Keys never fall back across hosts โ€” create an Ops.Tools key from Account โ†’ API keys instead.

Discovery Surfaces

  • https://ops.tools/llms.txt โ€” A crawl-friendly summary of the product, the MCP endpoint, tools, and billing for LLM clients.
  • https://ops.tools/.well-known/mcp-server-card โ€” Machine-readable MCP server metadata other clients read to learn what this server offers.
  • /open-api โ€” The interactive API reference includes an MCP panel with one-click server connection.

Frequently Asked Questions

Do I need to run my own MCP server?

No. The Ops.Tools MCP server is hosted at https://api.ops.tools/mcp. You only register the URL and your API key in an MCP client.

Which MCP clients are supported?

Any client that speaks the Streamable HTTP transport: Claude Code, Claude on claude.ai and Desktop, Codex (CLI, IDE extension, and the ChatGPT desktop app), Cursor, VS Code, Windsurf, Cline, Continue, Zed, and SDKs that implement the http server type. The same JSON-RPC 2.0 flow also works over plain curl.

Can I try it without an account?

Yes. The demo-key key with a valid TOTP in the x-ct header grants limited, rate-limited trial access to the tools.

How do agents learn the billing rules?

The initialize result includes agent instructions describing the API key requirement, the 1-credit cost per tool call, the free account_whoami and account_usage probes, and the 402 out-of-credits signal.

Can the agent scan any host?

Ops tools probe third parties, so only scan assets you are authorized to test. ops_port_scan is disabled by default and enabled on request.

Connect Your First Agent Today

Create an API key, paste one config block, and your agent can look up any domain or certificate.

1 credit per tool call ยท account_whoami and account_usage are free