1. Home
  2. Knowledge Base
  3. EdgeWatch MCP Server

EdgeWatch MCP Server

The MCP Server (Model Context Protocol) provided by EdgeWatch is a service for obtaining contextual insights about IP addresses. It supports two primary tools: IP Insights and IP Explorer. Users can query the server (via SDK or HTTP transports) using authenticated credentials to retrieve structured data and text about IP addresses.


Features

FeatureDescription
ToolsTwo main tools are available:• getInsight — fetches detailed insights about a given IP address.• getExplorer — retrieves hostnames and open ports associated with a given IP. (mcp.edgewatch.net)
AuthenticationClients must obtain a client-id and client-secret by contacting EdgeWatch ([email protected]). During the current testing phase access is free. Future access will likely be restricted to EdgeWatch clients. (mcp.edgewatch.net)
Connection / Transport MethodsTwo transport methods are supported:• Streamable HTTP transport• Server-Sent Events (SSE) transport — used as fallback if HTTP fails. (mcp.edgewatch.net)
SDK Support & ValidationThe official SDK is available (npm: @modelcontextprotocol/sdk) with schema validation (using Zod) for request/response handling. Responses include structured content (for example, arrays of objects containing text). (mcp.edgewatch.net)

Specifications & Usage

  • Server URL: mcp.edgewatch.net or https://mcp.edgewatch.net/mcp for API usage. (mcp.edgewatch.net)
  • Protocol: MCP (Model Context Protocol) (mcp.edgewatch.net)
  • Authentication Methods: Credentials must be passed either via HTTP headers (x-client-id, x-client-secret) or query parameters (?clientId=...&clientSecret=...). (mcp.edgewatch.net)
  • Usage Flow:
    1. Get credentials from EdgeWatch.
    2. Install required SDK dependencies (e.g. @modelcontextprotocol/sdk, zod). (mcp.edgewatch.net)
    3. Establish a transport (try Streamable HTTP, fallback to SSE). (mcp.edgewatch.net)
    4. Use the tools (getInsight or getExplorer) via client.request(...). (mcp.edgewatch.net)
    5. Handle & validate response content; manage errors, timeouts, retries. (mcp.edgewatch.net)

Best Practices

  • Validate IP inputs before sending requests. (mcp.edgewatch.net)
  • Use schema validation (Zod) to ensure responses conform to expected shape. (mcp.edgewatch.net)
  • Implement error handling: capture connection errors, request failures, validation mismatches. (mcp.edgewatch.net)
  • Use retry logic and possibly caching where appropriate. (mcp.edgewatch.net)
  • Close transport when done to clean up resources. (mcp.edgewatch.net)
  • Rate-limit client-side requests to avoid overloading or hitting service limits. (mcp.edgewatch.net)

Errors & Troubleshooting

Error TypePossible CauseSuggested Action
401 / 403 Authentication ErrorInvalid/missing client-id or client-secret or credentials not recognized.Verify credentials; ensure correct header or query parameter usage; request valid credentials from support if needed. (mcp.edgewatch.net)
Connection FailuresIssues with the primary transport (Streamable HTTP) or network problems.Use fallback transport (SSE); check network/firewall settings; log any underlying error. (mcp.edgewatch.net)
Response Validation ErrorsThe response data does not match expected schema (e.g. missing fields, wrong types).Use Zod schemas to catch inconsistencies; handle invalid responses gracefully; contact support if data appears incorrect. (mcp.edgewatch.net)

Getting Access

Awesome — here’s a tight Quick Start + Cheatsheet you can drop into the Edgewatch KB. I kept it practical, copy-pasteable, and aligned to the docs.

Edgewatch MCP Server — Quick Start & Cheatsheet

What it is

Edgewatch’s MCP (Model Context Protocol) server exposes two tools for IP intelligence:

  • getInsight → detailed, human-readable insight for an IP
  • getExplorer → hostnames and open ports seen for an IP (mcp.edgewatch.net)

Access & Endpoint

  • Credentials: request client-id and client-secret via [email protected] (testing access currently free). (mcp.edgewatch.net)
  • Preferred endpoint: https://mcp.edgewatch.net/mcp
    (Docs also mention mcp.edgewatch.com; use the .NET endpoint as shown in examples/configs.) (mcp.edgewatch.net)

Auth methods

  • Headers: x-client-id, x-client-secret
  • Query string: ?clientId=...&clientSecret=... (mcp.edgewatch.net)

One-liners (curl)

# Using headers
curl -s -H "x-client-id: $CLIENT_ID" \
     -H "x-client-secret: $CLIENT_SECRET" \
     "https://mcp.edgewatch.net/mcp"

# Using query params
curl -s "https://mcp.edgewatch.net/mcp?clientId=$CLIENT_ID&clientSecret=$CLIENT_SECRET"

If auth fails, you’ll get 401/403 with details. (mcp.edgewatch.net)


Node SDK Minimal Example

import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
import { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js';
import { z } from 'zod';

const SERVER = 'https://mcp.edgewatch.net/mcp';

async function connect() {
  const client = new Client({ name: 'ewmcp-client', version: '1.0.0' });
  client.onerror = (e) => console.error('Client error:', e);

  // Prefer Streamable HTTP; fall back to SSE
  try {
    const t = new StreamableHTTPClientTransport(new URL(SERVER));
    await client.connect(t);
    return { client, transport: t };
  } catch {
    const t = new SSEClientTransport(new URL(SERVER));
    await client.connect(t);
    return { client, transport: t };
  }
}

async function getInsight(client, ip) {
  const schema = z.object({
    content: z.array(z.object({ type: z.literal('text'), text: z.string() }))
  });
  const res = await client.request({
    method: 'tools/call',
    params: { name: 'getInsight', arguments: { ip } }
  }, schema);
  return res.content.map(c => c.type === 'text' ? c.text : '').join('\n');
}

(async () => {
  const { client, transport } = await connect();
  console.log(await getInsight(client, '8.8.8.8'));
  await transport.close();
})();

Transport selection, Zod validation, and tool invocation follow the reference flow. (mcp.edgewatch.net)


Claude Desktop (or other MCP client) config

{
  "mcpServers": {
    "ewmcp-server": {
      "url": "https://mcp.edgewatch.net/mcp",
      "name": "ewmcp-server",
      "version": "1.0.0"
    }
  }
}

Add your credentials via the client’s secure settings or proxy. (mcp.edgewatch.net)


Tool Reference

getInsight

  • Input: { ip: "string" }
  • Output: array of { type:"text", text:string } entries (insight text) (mcp.edgewatch.net)

getExplorer

  • Input: { ip: "string" }
  • Output: text entries describing related hostnames/ports for the IP (mcp.edgewatch.net)

Best Practices (prod-ready)

  • Validate IPs before requests; reject private/reserved ranges if your use-case requires.
  • Implement retry with backoff; cache stable results.
  • Use Zod (or similar) to validate responses.
  • Rate-limit clients and always close transports. (mcp.edgewatch.net)

Common Errors & Fixes

SymptomLikely CauseFix
401/403 auth errorMissing/invalid credentialsSend headers or query params; re-issue keys via support
Transport failsNetwork/proxy blocksFall back to SSE; check firewall/proxy; retry
Validation errorResponse shape mismatchTighten Zod schema; log payload; contact support if persistent (mcp.edgewatch.net)

Copy block for internal KB (metadata)

  • Owner: Edgewatch Intelligence / Platform
  • Service: MCP Server (IP Insights & Explorer)
  • Endpoint: https://mcp.edgewatch.net/mcp
  • Auth: x-client-id, x-client-secret (or clientId, clientSecret query)
  • Contact: [email protected]
  • Change note: Docs show .com in one spot; examples/config use .net. Prefer .net. (mcp.edgewatch.net)
Was this article helpful?