Subdomain API MCP
An MCP server that provides access to the Subdomain API, allowing AI agents to query for known subdomains of a given domain name. It returns up to 10,000 subdomains, sorted by most recently seen, including counts and distinct totals.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://api.subdomain.app/mcpWhat its tools do
2 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (2)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to subdomain.app ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Find known subdomains of a domain
- Count distinct subdomains for a domain
- Retrieve passive DNS data for security analysis
Source and maintenance
Protocol and capabilities
- Server
- subdomain-app 1.0.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 2 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Tools
2 advertised
find_subdomains — Find subdomains
List known subdomains (hostnames) of a root domain. Data is passive (not active scanning): results are historic observations and may include subdomains that no longer resolve or are no longer live. Results are a point-in-time snapshot that changes over time as new subdomains are observed — re-query rather than caching the result. Use for attack-surface mapping, security recon, asset inventory, or SEO host discovery. Hostnames are returned most-recently-seen first. The response always reports `total` (full distinct count known) and a `truncated` flag, so you can tell when more exist beyond `limit`.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"limit": {
"type": "integer",
"default": 200,
"maximum": 1000,
"minimum": 1,
"description": "Max subdomains to return (1-1000, default 200). `total` always reports the full count regardless of this cap."
},
"domain": {
"type": "string",
"description": "Root (registrable) domain as a bare hostname, e.g. \"example.com\". No scheme, path, port, or leading \"www.\" — these are stripped."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain",
"total",
"returned",
"truncated",
"subdomains"
],
"properties": {
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Total distinct subdomains known."
},
"domain": {
"type": "string"
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Number in `subdomains`."
},
"truncated": {
"type": "boolean",
"description": "True if more exist beyond `limit`."
},
"subdomains": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true
}count_subdomains — Count subdomains
Return only the total number of distinct subdomains known for a domain — no list. Cheap and low-token. Use when the user asks "how many subdomains" or you only need the size of the attack surface. Count includes historic subdomains that may no longer be live. It is a point-in-time figure that changes over time, so treat it as current-as-of-query, not a fixed value.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "Root (registrable) domain as a bare hostname, e.g. \"example.com\". No scheme, path, port, or leading \"www.\" — these are stripped."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain",
"total"
],
"properties": {
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Total distinct subdomains known."
},
"domain": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 994 ms
- 95th percentile latency
- 994 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 994 ms · metadata changed · 2 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http subdomain-api-mcp https://api.subdomain.app/mcpCodex
codex mcp add subdomain-api-mcp --url https://api.subdomain.app/mcpCursor
{
"mcpServers": {
"subdomain-api-mcp": {
"url": "https://api.subdomain.app/mcp"
}
}
}Cline
{
"mcpServers": {
"subdomain-api-mcp": {
"type": "streamableHttp",
"url": "https://api.subdomain.app/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"subdomain-api-mcp": {
"type": "http",
"url": "https://api.subdomain.app/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http subdomain-api-mcp https://api.subdomain.app/mcpClaude Desktop
https://api.subdomain.app/mcpWindsurf
{
"mcpServers": {
"subdomain-api-mcp": {
"serverUrl": "https://api.subdomain.app/mcp"
}
}
}Let your agent find its tools
Find servers like Subdomain API MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other developer tools servers
Do you run Subdomain API MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.