Skip to main content
Glama
CloudWaddie

OSINT MCP Server

zoomeye_host_search

Search ZoomEye for internet-connected devices using specific queries like port numbers or service banners to identify hosts matching security research criteria.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query for ZoomEye (e.g., 'port:80')

Implementation Reference

  • Tool registration and handler invocation for zoomeye_host_search.
    server.tool(
      "zoomeye_host_search",
      { query: z.string().describe("Search query for ZoomEye (e.g., 'port:80')") },
      async ({ query }) => {
        const result = await zeClient.searchHost(query);
        return {
          content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
        };
      }
    );
  • Implementation of the searchHost method which performs the API call to ZoomEye.
      async searchHost(query: string): Promise<ZoomEyeResult> {
        const apiKey = configManager.get("ZOOMEYE_API_KEY");
        if (!apiKey) {
          throw new McpError(
            ErrorCode.InvalidRequest,
            "ZOOMEYE_API_KEY is not configured"
          );
        }
    
        try {
          const data = await this.fetch<any>("host/search", {
            method: "GET",
            headers: {
              "API-KEY": apiKey,
            },
          }, {
            query,
          });
    
          return ZoomEyeResultSchema.parse(data);
        } catch (error) {
          if (error instanceof McpError) throw error;
          throw new McpError(
            ErrorCode.InternalError,
            `ZoomEye error: ${(error as Error).message}`
          );
        }
      }
    }
  • Schema validation for the ZoomEye search results.
    export const ZoomEyeResultSchema = z.object({
      total: z.number().optional(),
      matches: z.array(z.any()).optional(),
    });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CloudWaddie/osint-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server