MCP server/search

Wappalyzer MCP Server

Identify web technologies, subdomains, and site metadata.

★ 4wappalyzer/mcp ↗by wappalyzerupdated
Manual setup required. The maintainer's config contains paths only you know - edit the placeholders below before adding it to Claude Code.
1

Prepare the server locally

Run this once before adding it to Claude Code.

npm install
2

Register it in Claude Code

claude mcp add -e "WAPPALYZER_API_KEY=${WAPPALYZER_API_KEY}" wappalyzer -- node /path/to/wappalyzer/mcp/index.js

Replace any placeholder paths in the command with the real path on your machine.

Required:WAPPALYZER_API_KEY+ 3 optional
3

Make your agent remember this setup

wappalyzer's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.

npx conare@latest

Free · one command · indexes the sessions already on disk. Set up in the browser instead →

What it does

  • Identify web technologies used on specific websites
  • Retrieve subdomains for a given domain
  • Access public technology and category metadata
  • Monitor API credit usage

Tools 3

lookup_siteIdentify web technologies and metadata for a specific URL.
lookup_subdomainsRetrieve a list of subdomains for a given domain.
get_credit_balanceCheck the remaining API credit balance.

Environment Variables

WAPPALYZER_API_KEYrequiredYour Wappalyzer API key
WAPPALYZER_API_BASE_URLBase URL for the Wappalyzer API
WAPPALYZER_METADATA_BASE_URLBase URL for metadata resources
WAPPALYZER_HTTP_TIMEOUT_MSHTTP request timeout in milliseconds

Try it

What technologies are used on https://www.example.com?
Find all subdomains for example.com.
Check my current Wappalyzer API credit balance.
Identify the company and contact information for the website https://www.wappalyzer.com/.
Original README from wappalyzer/mcp

Wappalyzer MCP

wappalyzer-mcp is a local stdio MCP server that wraps the public Wappalyzer API.

Requirements

  • Node.js 20+
  • A Wappalyzer API key in WAPPALYZER_API_KEY

Install

cd /Users/elbert/Sites/wappalyzer/mcp
npm install

Run

WAPPALYZER_API_KEY=your_api_key npx wappalyzer-mcp

Environment variables:

  • WAPPALYZER_API_KEY required
  • WAPPALYZER_API_BASE_URL optional, defaults to https://api.wappalyzer.com/v2/
  • WAPPALYZER_METADATA_BASE_URL optional, defaults to WAPPALYZER_API_BASE_URL
  • WAPPALYZER_HTTP_TIMEOUT_MS optional, defaults to 30000

The server fails fast on startup if WAPPALYZER_API_KEY is missing.

Tools

`lookup_site`

Inputs:

  • url required
  • live optional, default false
  • sets optional, default []
  • denoise optional, default true
  • max_age optional, default 2

Notes:

  • exactly one URL is accepted
  • recursive=false is always forced
  • unsupported async-only parameters are not exposed
  • sets is limited to locale, email, phone, contact, social, meta, security, trackers, company, keywords, signals, createdAt, events, and all

Output:

{
  "request": {
    "url": "https://www.wappalyzer.com/",
    "live": false,
    "sets": [
      "company",
      "contact"
    ],
    "denoise": true,
    "max_age": 2,
    "recursive": false
  },
  "data": {},
  "credits": {
    "spent": 1,
    "remaining": 99999
  }
}

`lookup_subdomains`

Inputs:

  • domain required
  • limit optional, default 100
  • after optional

Notes:

  • exactly one domain is accepted
  • limit must be between 10 and 1000 and a multiple of 10

Output:

{
  "request": {
    "domain": "example.com",
    "limit": 100
  },
  "data": {},
  "credits": {
    "spent": 1,
    "remaining": 99999
  }
}

`get_credit_balance`

Output:

{
  "credits": 99999
}

Resources

  • wappalyzer://technologies
  • wappalyzer://technologies/{slug}
  • wappalyzer://categories
  • wappalyzer://categories/{slug}

These resources are read-only and fetch public metadata from:

  • GET /technologies/
  • GET /technologies/{slug}/
  • GET /categories/
  • GET /categories/{slug}/

Metadata resources do not send the API key and are cached in-process for 5 minutes.

Client Config

Claude Desktop

Add this to claude_desktop_config.json:

{
  "mcpServers": {
    "wappalyzer": {
      "command": "node",
      "args": [
        "/Users/elbert/Sites/wappalyzer/mcp/index.js"
      ],
      "env": {
        "WAPPALYZER_API_KEY": "your_api_key"
      }
    }
  }
}

Cursor

Add this to .cursor/mcp.json:

{
  "mcpServers": {
    "wappalyzer": {
      "command": "node",
      "args": [
        "/Users/elbert/Sites/wappalyzer/mcp/index.js"
      ],
      "env": {
        "WAPPALYZER_API_KEY": "your_api_key"
      }
    }
  }
}

ChatGPT

Use a remote MCP deployment when you need ChatGPT MCP connector support.

Development

Run automated tests:

npm test

Run live smoke tests with the local secret file:

npm run test:live

Frequently Asked Questions

What are the key features of Wappalyzer?

Identify web technologies used on specific websites. Retrieve subdomains for a given domain. Access public technology and category metadata. Monitor API credit usage.

What can I use Wappalyzer for?

Analyzing the technology stack of competitor websites. Discovering subdomains for security auditing or reconnaissance. Integrating web technology identification into automated research workflows.

How do I install Wappalyzer?

Install Wappalyzer by running: npm install

What MCP clients work with Wappalyzer?

Wappalyzer works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Conare · memory for coding agents

Turn this server into reusable context

Keep Wappalyzer docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Set up free$npx conare@latest