Boolsai Directory MCP · Boolsai
Not responding as MCPAvailability — last 30 days
Last observed 1 d ago by MCP Tools Edge Scanner · scheduled every 120 min
Raw event details
{
"result": "not_mcp",
"error": "HTTP 530 with content-type text/plain; charset=utf-8 — this does not look like an MCP endpoint."
}Raw event details
{
"result": "rate_limited",
"error": "Rate limited (HTTP 429)."
}Raw event details
{
"contractHash": "sha256:26b1b8308c8f00f5acf5f00d481c5cff398167af77b9583bbd2efd56407f4ea9"
}Advertised capabilities
Tools 19
summary
0 params
Global stats for the Boolsai directory: how many sites are indexed, signal types covered, top vendors, most-ch…
Global stats for the Boolsai directory: how many sites are indexed, signal types covered, top vendors, most-changed companies. Use at the start of a session to ground what's available.
Input schema
No parameters.
Raw schema JSON
{
"name": "summary",
"description": "Global stats for the Boolsai directory: how many sites are indexed, signal types covered, top vendors, most-changed companies. Use at the start of a session to ground what39;s available.",
"inputSchema": {
"type": "object",
"properties": {}
}
}site_dossier
1 param · 1 required
Full intel dossier for a single domain: detected vendors grouped by category, account IDs (GTM, GA4, Klaviyo c…
Full intel dossier for a single domain: detected vendors grouped by category, account IDs (GTM, GA4, Klaviyo company_id, Shopify shop_id, Meta pixel, Sentry org, Tealium tenant, Stripe pk_live, etc.), brand identity (name, founder, city, employees, social handles), international markets, external host list, and likely operator-cluster siblings. Use for any 'what's running on X.com?' query.
Input schema
| Parameter | Type | Description & constraints |
|---|---|---|
| url* | string | Domain or URL, e.g. 'gymshark.com' or 'https://gymshark.com/' |
Raw schema JSON
{
"name": "site_dossier",
"description": "Full intel dossier for a single domain: detected vendors grouped by category, account IDs (GTM, GA4, Klaviyo company_id, Shopify shop_id, Meta pixel, Sentry org, Tealium tenant, Stripe pk_live, etc.), brand identity (name, founder, city, employees, social handles), international markets, external host list, and likely operator-cluster siblings. Use for any 39;what39;s running on X.com?39; query.",
"inputSchema": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Domain or URL, e.g. 39;gymshark.com39; or 39;https://gymshark.com/39;"
}
},
"required": [
"url"
]
}
}sites_using_vendor
1 param · 1 required
List indexed sites detected using a specific vendor (e.g. 'klaviyo', 'yotpo', 'elevar', 'gorgias', 'rebuy'). V…
List indexed sites detected using a specific vendor (e.g. 'klaviyo', 'yotpo', 'elevar', 'gorgias', 'rebuy'). Vendor slug is lowercase, underscore-separated. Returns domain list with brand names where known.
Input schema
| Parameter | Type | Description & constraints |
|---|---|---|
| vendor* | string | Vendor slug, e.g. 'klaviyo', 'shopify', 'webflow', 'onetrust'. |
Raw schema JSON
{
"name": "sites_using_vendor",
"description": "List indexed sites detected using a specific vendor (e.g. 39;klaviyo39;, 39;yotpo39;, 39;elevar39;, 39;gorgias39;, 39;rebuy39;). Vendor slug is lowercase, underscore-separated. Returns domain list with brand names where known.",
"inputSchema": {
"type": "object",
"properties": {
"vendor": {
"type": "string",
"description": "Vendor slug, e.g. 39;klaviyo39;, 39;shopify39;, 39;webflow39;, 39;onetrust39;."
}
},
"required": [
"vendor"
]
}
}lookup_id
2 params · 2 required
Cross-reference any tenant-unique account ID across the index. Useful for 'who else shares this GTM container …
Cross-reference any tenant-unique account ID across the index. Useful for 'who else shares this GTM container / Klaviyo company / Sentry org / Meta pixel ID?'. Signal types: gtm_container, ga4_measurement, ga_ua, klaviyo_company_id, meta_pixel_id, shopify_shopid, myshopify_slug, hotjar_id, intercom_app_id, hubspot_portal, klaviyo_subscriber, tiktok_pixel, stripe_pk_live, sentry_dsn_org, tealium_tenant, optimizely_project, mparticle_workspace, segment_writekey, abtasty_account, fullstory_org, pendo_account, intellimize_acct, webflow_site_id, dynamic_yield, wunderkind_site, elevar_id.
Input schema
| Parameter | Type | Description & constraints |
|---|---|---|
| signal_type* | string | e.g. 'gtm_container', 'klaviyo_company_id', 'sentry_dsn_org' |
| signal_value* | string | the actual ID/value, e.g. 'GTM-XYZABC', 'H2zzaR' |
Raw schema JSON
{
"name": "lookup_id",
"description": "Cross-reference any tenant-unique account ID across the index. Useful for 39;who else shares this GTM container / Klaviyo company / Sentry org / Meta pixel ID?39;. Signal types: gtm_container, ga4_measurement, ga_ua, klaviyo_company_id, meta_pixel_id, shopify_shopid, myshopify_slug, hotjar_id, intercom_app_id, hubspot_portal, klaviyo_subscriber, tiktok_pixel, stripe_pk_live, sentry_dsn_org, tealium_tenant, optimizely_project, mparticle_workspace, segment_writekey, abtasty_account, fullstory_org, pendo_account, intellimize_acct, webflow_site_id, dynamic_yield, wunderkind_site, elevar_id.",
"inputSchema": {
"type": "object",
"properties": {
"signal_type": {
"type": "string",
"description": "e.g. 39;gtm_container39;, 39;klaviyo_company_id39;, 39;sentry_dsn_org39;"
},
"signal_value": {
"type": "string",
"description": "the actual ID/value, e.g. 39;GTM-XYZABC39;, 39;H2zzaR39;"
}
},
"required": [
"signal_type",
"signal_value"
]
}
}brands_in_city
1 param · 1 required
List indexed brands that publish a physical address in a given city. Sourced from Schema.org Organization JSON…
List indexed brands that publish a physical address in a given city. Sourced from Schema.org Organization JSON-LD.
Input schema
| Parameter | Type | Description & constraints |
|---|---|---|
| city* | string | City name, e.g. 'Los Angeles', 'New York', 'Berlin' |
Raw schema JSON
{
"name": "brands_in_city",
"description": "List indexed brands that publish a physical address in a given city. Sourced from Schema.org Organization JSON-LD.",
"inputSchema": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "City name, e.g. 39;Los Angeles39;, 39;New York39;, 39;Berlin39;"
}
},
"required": [
"city"
]
}
}brands_in_market
1 param · 1 required
List indexed brands explicitly serving a country market (via hreflang). Country is a 2-letter ISO code, lowerc…
List indexed brands explicitly serving a country market (via hreflang). Country is a 2-letter ISO code, lowercase.
Input schema
| Parameter | Type | Description & constraints |
|---|---|---|
| country* | string | 2-letter country code, e.g. 'us', 'gb', 'de', 'fr' |
Raw schema JSON
{
"name": "brands_in_market",
"description": "List indexed brands explicitly serving a country market (via hreflang). Country is a 2-letter ISO code, lowercase.",
"inputSchema": {
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "2-letter country code, e.g. 39;us39;, 39;gb39;, 39;de39;, 39;fr39;"
}
},
"required": [
"country"
]
}
}stack_archetype
1 param · 1 required
List brands matching a stack archetype. Valid slugs: headless-shopify, classic-shopify-dtc, server-side-tagged…
List brands matching a stack archetype. Valid slugs: headless-shopify, classic-shopify-dtc, server-side-tagged, personalisation-heavy, pixel-stacked, multi-region, woocommerce-stores, magento-stores, bnpl-enabled, headless-cms.
Input schema
| Parameter | Type | Description & constraints |
|---|---|---|
| archetype* | string | Archetype slug |
Raw schema JSON
{
"name": "stack_archetype",
"description": "List brands matching a stack archetype. Valid slugs: headless-shopify, classic-shopify-dtc, server-side-tagged, personalisation-heavy, pixel-stacked, multi-region, woocommerce-stores, magento-stores, bnpl-enabled, headless-cms.",
"inputSchema": {
"type": "object",
"properties": {
"archetype": {
"type": "string",
"description": "Archetype slug"
}
},
"required": [
"archetype"
]
}
}compare_sites
1 param · 1 required
Side-by-side stack comparison of 2-5 domains. Returns each site's vendors, account IDs, brand info, markets — …
Side-by-side stack comparison of 2-5 domains. Returns each site's vendors, account IDs, brand info, markets — and which signals are shared / unique per site. Good for 'compare X.com vs Y.com' or competitive teardowns.
Input schema
| Parameter | Type | Description & constraints |
|---|---|---|
| urls* | array<string> | 2-5 domain/URL strings |
Raw schema JSON
{
"name": "compare_sites",
"description": "Side-by-side stack comparison of 2-5 domains. Returns each site39;s vendors, account IDs, brand info, markets — and which signals are shared / unique per site. Good for 39;compare X.com vs Y.com39; or competitive teardowns.",
"inputSchema": {
"type": "object",
"properties": {
"urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "2-5 domain/URL strings"
}
},
"required": [
"urls"
]
}
}similar_sites
1 param · 1 required
Find brands with similar stack archetypes to the given domain. Returns 'sites running similar tech' — useful f…
Find brands with similar stack archetypes to the given domain. Returns 'sites running similar tech' — useful for benchmarking, prospecting, competitor lookups.
Input schema
| Parameter | Type | Description & constraints |
|---|---|---|
| url* | string | Domain to find similar sites for |
Raw schema JSON
{
"name": "similar_sites",
"description": "Find brands with similar stack archetypes to the given domain. Returns 39;sites running similar tech39; — useful for benchmarking, prospecting, competitor lookups.",
"inputSchema": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Domain to find similar sites for"
}
},
"required": [
"url"
]
}
}brands_by_founder
1 param · 1 required
List brands attributed to a founder (from Schema.org Organization markup). Useful for tracking serial DTC foun…
List brands attributed to a founder (from Schema.org Organization markup). Useful for tracking serial DTC founders.
Input schema
| Parameter | Type | Description & constraints |
|---|---|---|
| founder* | string | Founder name (case-insensitive) |
Raw schema JSON
{
"name": "brands_by_founder",
"description": "List brands attributed to a founder (from Schema.org Organization markup). Useful for tracking serial DTC founders.",
"inputSchema": {
"type": "object",
"properties": {
"founder": {
"type": "string",
"description": "Founder name (case-insensitive)"
}
},
"required": [
"founder"
]
}
}bulk_export
6 params · 1 required
Paginated bulk export of indexed sites matching a filter. Returns up to 1000 rows per page in CSV or JSONL for…
Paginated bulk export of indexed sites matching a filter. Returns up to 1000 rows per page in CSV or JSONL format with a cursor for continued pages. Use this when an agency needs an outbound prospect list (e.g. all sites using Klaviyo in the US) for CRM import. The full row count is also returned so you can size the export.
Input schema
| Parameter | Type | Description & constraints |
|---|---|---|
| signal_type* | string | Required. e.g. 'vendor', 'klaviyo_company_id', 'shopify_shopid', 'market_country', 'org_country'. Use list_signal_types via Boolsai Grep to discover. |
| signal_value | string | Optional exact value to filter. If omitted returns ANY value of this signal_type. |
| market_country | string | Optional ISO-2 country code (e.g. 'us', 'au') to intersect with hreflang market data |
| format | enum(3) | Output format. CSV is best for CRM import. one of: "csv", "jsonl", "json" · default: "csv" |
| cursor | string | Opaque cursor from previous page; pass to get next 1000 rows |
| limit | integer | Max rows per page (default 1000, max 5000) default: 1000 |
Raw schema JSON
{
"name": "bulk_export",
"description": "Paginated bulk export of indexed sites matching a filter. Returns up to 1000 rows per page in CSV or JSONL format with a cursor for continued pages. Use this when an agency needs an outbound prospect list (e.g. all sites using Klaviyo in the US) for CRM import. The full row count is also returned so you can size the export.",
"inputSchema": {
"type": "object",
"properties": {
"signal_type": {
"type": "string",
"description": "Required. e.g. 39;vendor39;, 39;klaviyo_company_id39;, 39;shopify_shopid39;, 39;market_country39;, 39;org_country39;. Use list_signal_types via Boolsai Grep to discover."
},
"signal_value": {
"type": "string",
"description": "Optional exact value to filter. If omitted returns ANY value of this signal_type."
},
"market_country": {
"type": "string",
"description": "Optional ISO-2 country code (e.g. 39;us39;, 39;au39;) to intersect with hreflang market data"
},
"format": {
"type": "string",
"enum": [
"csv",
"jsonl",
"json"
],
"default": "csv",
"description": "Output format. CSV is best for CRM import."
},
"cursor": {
"type": "string",
"description": "Opaque cursor from previous page; pass to get next 1000 rows"
},
"limit": {
"type": "integer",
"default": 1000,
"description": "Max rows per page (default 1000, max 5000)"
}
},
"required": [
"signal_type"
]
}
}compare_scans
3 params · 1 required
Compare two historical scans of the same URL to surface stack changes. Returns added/removed/changed vendors, …
Compare two historical scans of the same URL to surface stack changes. Returns added/removed/changed vendors, account IDs, and inline-script signals between scan A and scan B. Use this for competitor watch — 'what did patagonia.com just deploy?'. If t1/t2 are omitted, compares oldest vs newest available scan.
Input schema
| Parameter | Type | Description & constraints |
|---|---|---|
| url* | string | Domain or full URL to compare |
| t1 | string | Optional ISO timestamp of first scan (oldest if omitted) |
| t2 | string | Optional ISO timestamp of second scan (newest if omitted) |
Raw schema JSON
{
"name": "compare_scans",
"description": "Compare two historical scans of the same URL to surface stack changes. Returns added/removed/changed vendors, account IDs, and inline-script signals between scan A and scan B. Use this for competitor watch — 39;what did patagonia.com just deploy?39;. If t1/t2 are omitted, compares oldest vs newest available scan.",
"inputSchema": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Domain or full URL to compare"
},
"t1": {
"type": "string",
"description": "Optional ISO timestamp of first scan (oldest if omitted)"
},
"t2": {
"type": "string",
"description": "Optional ISO timestamp of second scan (newest if omitted)"
}
},
"required": [
"url"
]
}
}domain_intel
1 param · 1 required
Free DNS/WHOIS enrichment for a single domain. Returns: email host (Google Workspace / Microsoft 365 / etc. — …
Free DNS/WHOIS enrichment for a single domain. Returns: email host (Google Workspace / Microsoft 365 / etc. — derived from MX records), DNS provider (Cloudflare / Route 53 / GoDaddy / etc.), CDN provider, registrar, domain age (registered/expires). High-signal outbound data — 'they use Google Workspace + Cloudflare DNS + registered with GoDaddy' tells you a lot about org size + sophistication. Results cached 24h. Free — uses Cloudflare DoH + public RDAP.
Input schema
| Parameter | Type | Description & constraints |
|---|---|---|
| domain* | string | Domain to enrich (apex or any subdomain) |
Raw schema JSON
{
"name": "domain_intel",
"description": "Free DNS/WHOIS enrichment for a single domain. Returns: email host (Google Workspace / Microsoft 365 / etc. — derived from MX records), DNS provider (Cloudflare / Route 53 / GoDaddy / etc.), CDN provider, registrar, domain age (registered/expires). High-signal outbound data — 39;they use Google Workspace + Cloudflare DNS + registered with GoDaddy39; tells you a lot about org size + sophistication. Results cached 24h. Free — uses Cloudflare DoH + public RDAP.",
"inputSchema": {
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Domain to enrich (apex or any subdomain)"
}
},
"required": [
"domain"
]
}
}find_similar_by_stack
3 params · 1 required
Find sites with the most-similar vendor stack to a given domain using Jaccard similarity over the full vendor …
Find sites with the most-similar vendor stack to a given domain using Jaccard similarity over the full vendor set (not just archetype labels). Returns the top N matches with similarity scores. Use this when stack_archetype labels are too coarse and you want 'show me 20 brands running an almost-identical stack to liquiddeath.com'. More accurate than similar_sites for niche stacks.
Input schema
| Parameter | Type | Description & constraints |
|---|---|---|
| domain* | string | Reference domain |
| limit | integer | max similar sites (1-100) default: 20 |
| min_shared | integer | Minimum shared distinctive vendors required to be considered (default 3) default: 3 |
Raw schema JSON
{
"name": "find_similar_by_stack",
"description": "Find sites with the most-similar vendor stack to a given domain using Jaccard similarity over the full vendor set (not just archetype labels). Returns the top N matches with similarity scores. Use this when stack_archetype labels are too coarse and you want 39;show me 20 brands running an almost-identical stack to liquiddeath.com39;. More accurate than similar_sites for niche stacks.",
"inputSchema": {
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Reference domain"
},
"limit": {
"type": "integer",
"default": 20,
"description": "max similar sites (1-100)"
},
"min_shared": {
"type": "integer",
"default": 3,
"description": "Minimum shared distinctive vendors required to be considered (default 3)"
}
},
"required": [
"domain"
]
}
}bulk_export_url
4 params · 1 required
Returns a streaming-export URL for the same filter as bulk_export. Useful when the agency wants to pull 50K ro…
Returns a streaming-export URL for the same filter as bulk_export. Useful when the agency wants to pull 50K rows in one shot via curl/HTTP pipe instead of paginating the MCP. The URL is public, no auth, returns NDJSON or CSV with HTTP chunked-transfer streaming. Use bulk_export when N<1000; use this for bigger exports.
Input schema
| Parameter | Type | Description & constraints |
|---|---|---|
| signal_type* | string | Required signal_type |
| signal_value | string | Optional exact value |
| market_country | string | Optional ISO-2 country |
| format | enum(2) | — one of: "ndjson", "csv" · default: "ndjson" |
Raw schema JSON
{
"name": "bulk_export_url",
"description": "Returns a streaming-export URL for the same filter as bulk_export. Useful when the agency wants to pull 50K rows in one shot via curl/HTTP pipe instead of paginating the MCP. The URL is public, no auth, returns NDJSON or CSV with HTTP chunked-transfer streaming. Use bulk_export when N<1000; use this for bigger exports.",
"inputSchema": {
"type": "object",
"properties": {
"signal_type": {
"type": "string",
"description": "Required signal_type"
},
"signal_value": {
"type": "string",
"description": "Optional exact value"
},
"market_country": {
"type": "string",
"description": "Optional ISO-2 country"
},
"format": {
"type": "string",
"enum": [
"ndjson",
"csv"
],
"default": "ndjson"
}
},
"required": [
"signal_type"
]
}
}operator_cluster
4 params
Find every domain sharing a tenant-unique ID — the most powerful single signal in Boolsai. Given a Stripe pk_l…
Find every domain sharing a tenant-unique ID — the most powerful single signal in Boolsai. Given a Stripe pk_live key, Sentry DSN org, Klaviyo company_id, mParticle workspace, GTM container, GA4 measurement, Shopify shop_id, or other tenant ID, returns every domain we've seen using the SAME ID. This surfaces multi-brand operators, holding-company portfolios, sister brands sharing infrastructure, agency-managed clusters. No competitor (BuiltWith, Wappalyzer, etc.) can do this — they only see external hostnames, not the tenant-unique IDs leaked client-side. Use this when you want to discover the actual operator behind a brand, or expand a single brand into its full portfolio.
Input schema
| Parameter | Type | Description & constraints |
|---|---|---|
| id | string | The tenant ID itself (e.g. 'pk_live_abc...', 'GTM-M8TQZPX', 'o307020' for Sentry, '12345678' for Shopify shop_id). signal_type is auto-detected. |
| signal_type | string | Optional explicit signal_type if auto-detect could be ambiguous (e.g. 'stripe_pk_live', 'sentry_dsn_org'). |
| domain | string | Alternative: pass a domain and we'll return every cluster this domain belongs to (all tenant IDs and their fellow domains). |
| limit | integer | max sites per cluster (1-500) default: 100 |
Raw schema JSON
{
"name": "operator_cluster",
"description": "Find every domain sharing a tenant-unique ID — the most powerful single signal in Boolsai. Given a Stripe pk_live key, Sentry DSN org, Klaviyo company_id, mParticle workspace, GTM container, GA4 measurement, Shopify shop_id, or other tenant ID, returns every domain we39;ve seen using the SAME ID. This surfaces multi-brand operators, holding-company portfolios, sister brands sharing infrastructure, agency-managed clusters. No competitor (BuiltWith, Wappalyzer, etc.) can do this — they only see external hostnames, not the tenant-unique IDs leaked client-side. Use this when you want to discover the actual operator behind a brand, or expand a single brand into its full portfolio.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The tenant ID itself (e.g. 39;pk_live_abc...39;, 39;GTM-M8TQZPX39;, 39;o30702039; for Sentry, 39;1234567839; for Shopify shop_id). signal_type is auto-detected."
},
"signal_type": {
"type": "string",
"description": "Optional explicit signal_type if auto-detect could be ambiguous (e.g. 39;stripe_pk_live39;, 39;sentry_dsn_org39;)."
},
"domain": {
"type": "string",
"description": "Alternative: pass a domain and we39;ll return every cluster this domain belongs to (all tenant IDs and their fellow domains)."
},
"limit": {
"type": "integer",
"default": 100,
"description": "max sites per cluster (1-500)"
}
}
}
}subdomain_map
2 params · 1 required
Every subdomain of a given root domain we've ever scanned. Reveals storefront topology — where the checkout ac…
Every subdomain of a given root domain we've ever scanned. Reveals storefront topology — where the checkout actually lives, regional storefronts, B2B portals, internal admin domains, asset CDNs. Output groups subdomains by their primary vendor where known. Use this to (a) find the right path to scan for an audit (sometimes the checkout is on us.checkout.brand.com not brand.com), (b) spot enterprise topology (multi-region Plus stores), (c) discover sister surfaces (community, ambassador, careers, etc).
Input schema
| Parameter | Type | Description & constraints |
|---|---|---|
| root* | string | Root domain (e.g. 'gymshark.com'). Pass just the apex; we'll find subdomains automatically. |
| limit | integer | max subdomains returned (1-1000) default: 200 |
Raw schema JSON
{
"name": "subdomain_map",
"description": "Every subdomain of a given root domain we39;ve ever scanned. Reveals storefront topology — where the checkout actually lives, regional storefronts, B2B portals, internal admin domains, asset CDNs. Output groups subdomains by their primary vendor where known. Use this to (a) find the right path to scan for an audit (sometimes the checkout is on us.checkout.brand.com not brand.com), (b) spot enterprise topology (multi-region Plus stores), (c) discover sister surfaces (community, ambassador, careers, etc).",
"inputSchema": {
"type": "object",
"properties": {
"root": {
"type": "string",
"description": "Root domain (e.g. 39;gymshark.com39;). Pass just the apex; we39;ll find subdomains automatically."
},
"limit": {
"type": "integer",
"default": 200,
"description": "max subdomains returned (1-1000)"
}
},
"required": [
"root"
]
}
}prospect_brief
2 params · 1 required
ONE-CALL PROSPECT BRIEF for agency outbound — runs four sub-queries against the live indexed data: (1) full do…
ONE-CALL PROSPECT BRIEF for agency outbound — runs four sub-queries against the live indexed data: (1) full dossier of the prospect's stack, (2) sister brands sharing tenant IDs (operator cluster), (3) 3-5 similar-stack competitors, (4) structured 'pitch angles' calling out concrete gaps an agency could pitch on (missing consent, no SST, outdated vendors, broken Schema.org, multiple GTM installs). Saves a strategist 20 min of manual cross-referencing per prospect. Use this whenever the user asks 'tell me about prospect.com'.
Input schema
| Parameter | Type | Description & constraints |
|---|---|---|
| url* | string | Domain or URL of the prospect |
| angle | string | Optional agency pitch angle to tune the brief: 'cro', 'analytics', 'consent', 'sst' (server-side tagging), 'headless', 'consolidation'. If omitted, returns all angles found. |
Raw schema JSON
{
"name": "prospect_brief",
"description": "ONE-CALL PROSPECT BRIEF for agency outbound — runs four sub-queries against the live indexed data: (1) full dossier of the prospect39;s stack, (2) sister brands sharing tenant IDs (operator cluster), (3) 3-5 similar-stack competitors, (4) structured 39;pitch angles39; calling out concrete gaps an agency could pitch on (missing consent, no SST, outdated vendors, broken Schema.org, multiple GTM installs). Saves a strategist 20 min of manual cross-referencing per prospect. Use this whenever the user asks 39;tell me about prospect.com39;.",
"inputSchema": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Domain or URL of the prospect"
},
"angle": {
"type": "string",
"description": "Optional agency pitch angle to tune the brief: 39;cro39;, 39;analytics39;, 39;consent39;, 39;sst39; (server-side tagging), 39;headless39;, 39;consolidation39;. If omitted, returns all angles found."
}
},
"required": [
"url"
]
}
}directory_query
8 params
Unified query against the Boolsai Directory. One tool to rule the other lookups. Pass any combination of: sign…
Unified query against the Boolsai Directory. One tool to rule the other lookups. Pass any combination of: signal_type+signal_value, domain, market_country, archetype, founder, city. Returns matching sites + their key signals. Prefer this over the granular tools when you have multiple filter conditions to AND together.
Input schema
| Parameter | Type | Description & constraints |
|---|---|---|
| signal_type | string | e.g. 'vendor', 'shopify_shopid' |
| signal_value | string | exact signal value |
| domain | string | exact domain match (e.g. 'gymshark.com') |
| market_country | string | ISO-2 (e.g. 'us') |
| archetype | string | e.g. 'headless-shopify', 'woocommerce-stores' |
| founder | string | case-insensitive substring |
| city | string | case-insensitive city name |
| limit | integer | max rows (1-500) default: 50 |
Raw schema JSON
{
"name": "directory_query",
"description": "Unified query against the Boolsai Directory. One tool to rule the other lookups. Pass any combination of: signal_type+signal_value, domain, market_country, archetype, founder, city. Returns matching sites + their key signals. Prefer this over the granular tools when you have multiple filter conditions to AND together.",
"inputSchema": {
"type": "object",
"properties": {
"signal_type": {
"type": "string",
"description": "e.g. 39;vendor39;, 39;shopify_shopid39;"
},
"signal_value": {
"type": "string",
"description": "exact signal value"
},
"domain": {
"type": "string",
"description": "exact domain match (e.g. 39;gymshark.com39;)"
},
"market_country": {
"type": "string",
"description": "ISO-2 (e.g. 39;us39;)"
},
"archetype": {
"type": "string",
"description": "e.g. 39;headless-shopify39;, 39;woocommerce-stores39;"
},
"founder": {
"type": "string",
"description": "case-insensitive substring"
},
"city": {
"type": "string",
"description": "case-insensitive city name"
},
"limit": {
"type": "integer",
"default": 50,
"description": "max rows (1-500)"
}
}
}
}Resources 0
No resources advertised.
Prompts 0
No prompts advertised.
Inventory recorded Aug 6, 2026 — 5:50 AM as rev 1. Listing calls only — tools are never invoked.
Canonical contract hash
sha256:26b1b8308c8f00f5acf5f00d481c5cff398167af77b9583bbd2efd56407f4ea9
Computed centrally from the normalized capability inventory (normalizer v1). Scanners submit raw observations; the control plane normalizes and hashes, so every scanner agrees on the same value.
Revisions 1
| Rev | Observed | Hash |
|---|---|---|
| rev 1 baseline | Aug 6, 2026 — 5:50 AM (88 d ago) |
Contract changes 0
No drift observed — every successful observation since Aug 6, 2026 has matched the baseline hash. Boring, in the best way.
Full snapshots are stored only when the canonical hash changes — unchanged observations update freshness without duplicating the contract.
Recent observations latest 8
| Observed | Result | Latency |
|---|---|---|
| Oct 31, 2026 — 6:00 PM (1 d ago) | Not an MCP response | 65 ms |
| Oct 27, 2026 — 5:55 PM (5 d ago) | Not an MCP response | 61 ms |
| Oct 23, 2026 — 5:50 PM (9 d ago) | Not an MCP response | 50 ms |
| Oct 19, 2026 — 5:50 PM (13 d ago) | Not an MCP response | 96 ms |
| Oct 15, 2026 — 5:45 PM (17 d ago) | Not an MCP response | 61 ms |
| Oct 11, 2026 — 5:40 PM (21 d ago) | Not an MCP response | 49 ms |
| Oct 7, 2026 — 5:35 PM (25 d ago) | Not an MCP response | 28 ms |
| Oct 3, 2026 — 5:35 PM (29 d ago) | Not an MCP response | 20 ms |
Latest check — evidence & validation Oct 31, 2026 — 6:00 PM
{
"server": "cloudflare",
"content-type": "text/plain; charset=UTF-8"
}error code: 1016
Publisher supplied
unverified| Name | Boolsai Directory MCP |
| Vendor | Boolsai |
| Category | search |
| Docs | — |
| Repository | — |
| Auth expected | Auth expectations unknown |
Registry and publisher metadata from the deployment seed. Displayed as supplied — MCP Tools does not verify it.
Independently observed
verified| Server name | boolsai-directory |
| Server version | 1.0.0 |
| Transport | Streamable HTTP |
| Protocol version | 2025-06-18 |
| First observed | Aug 6, 2026 |
| Last observed | 1 d ago |
| Last successful | 36 d ago |
| Origin | Registry seed |
Facts recorded by scanners during passive observation — initialize and list calls only, never tool invocation.