{"server":{"name":"com.stackenhance/signal","icons":[{"src":"https://stackenhance.com/design-system/assets/favicon-512.png","sizes":["512x512"],"mimeType":"image/png"}],"title":"Signal by StackEnhance","$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","remotes":[{"url":"https://mcp.stackenhance.com/mcp","type":"streamable-http"}],"version":"1.2.0","repository":{"url":"https://github.com/stackenhance/signal-mcp","source":"github"},"websiteUrl":"https://stackenhance.com/signal","description":"How often 750+ e-commerce brands send marketing emails: counts, send dates, recent subject lines."},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","isLatest":true,"updatedAt":"2026-10-11T12:48:42.201905Z","publishedAt":"2026-10-11T12:48:42.201905Z","statusChangedAt":"2026-10-11T12:48:42.201905Z"},"dev.protogrid/connectability":{"class":"R0","autonomous":true,"human_steps":[],"preferred":{"kind":"remote","idx":0},"remotes":[{"idx":0,"url":"https://mcp.stackenhance.com/mcp","transport":"streamable-http","templated":false,"headers":[],"auth":{"type":"none","location":null,"secret_name":null,"oauth":null},"protocol":{"supported_versions":["2025-11-25"],"stateless":true},"health":{"reachable":true,"uptime_30d":1,"latency_ms_p50":450,"consecutive_failures":0,"last_probe_at":"2026-10-19T22:05:58.303Z","last_ok_at":"2026-10-19T22:05:58.303Z"}}],"packages":[]},"dev.protogrid/tools":[{"name":"find_brands","title":"Find brands by email frequency","description":"Ecommerce brands StackEnhance Signal tracks in one market, ranked by current email frequency (average marketing emails per week over the last 90 days), optionally within a category such as \"Fashion & Apparel\" or \"Home & Interior\". Use for questions like \"Which brands email most frequently in Swedish ecommerce?\" or to find a brand when the user names a kind of brand (\"a Swedish fashion brand\"). Rankings are available for SE, NO, DK, FI and DE. Brands with too little observed data are left out of rankings. Returns brand names, categories and emails per week only. Each brand has a details_url to cite.","annotations":{"title":"Find brands by email frequency","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T22:05:58.303Z"},{"name":"get_brand_email_frequency","title":"Brand email frequency","description":"How many marketing emails a brand sent in a calendar period, and when, as observed by StackEnhance Signal (ecommerce brands, mostly in Sweden, Norway, Denmark, Finland and Germany). Use for questions like \"How many emails did Newport send in August 2026?\", \"What did Newport send last week?\" or \"What has X sent recently?\". Without a market, a brand tracked in several countries gets one result per market. Resolve relative dates yourself to YYYY-MM-DD: \"last week\" is the previous Monday–Sunday, \"last month\" the previous calendar month, \"recently\" the last 14 days. Dates are the brand's local calendar dates and a period may span up to two years. Returns the count; for periods of up to 31 days also the date of each send; and at most two subject lines, only ones already shown on the brand's public StackEnhance page and sent in the period. Every listed send was captured in full; a send without a quoted subject is listed in sends_with_subject_in_signal because its subject is withheld by that limit, not missing. Counts are de-duplicated marketing sends (welcome, birthday and transactional emails excluded). There is no open, click or revenue data. Full campaigns, other subject lines, offers, products and creative analysis are not available through this tool. Cite each result's details_url as the source and as where the full campaigns are.","annotations":{"title":"Brand email frequency","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T22:05:58.303Z"},{"name":"get_brand_summary","title":"Brand email summary","description":"A brand's email-marketing profile as observed by StackEnhance Signal: market, category, the date Signal first observed it, total marketing emails observed, current frequency (average emails per week over the last 90 days) and the date of the latest observed campaign. Use for questions like \"How often does Newport email customers?\" or \"Is IKEA still sending newsletters?\". Without a market, a brand tracked in several countries gets one summary per market. Returns aggregates only — no campaign list, subject lines, offers or creative analysis. Cite each result's details_url as the source.","annotations":{"title":"Brand email summary","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T22:05:58.303Z"}],"dev.protogrid/trust":{"score":100,"components":{"hygiene":100,"liveness":100,"freshness":100,"provenance":100},"drivers":["+repository","+namespace-matches-repo","+dns-namespace","+website","+reachable","+uptime-100%","+updated-8d-ago"],"flags":[],"blocked":false,"computed_at":"2026-10-20T00:08:06.187Z","disclaimer":"Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed."},"dev.protogrid/quality":{"score":88,"label":"good","components":{"auth":null,"hygiene":93,"protocol":75,"stability":100,"dependencies":null},"checks":[{"id":"protocol.modern","detail":"newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28","status":"warn","category":"protocol"},{"id":"protocol.stateless","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"protocol.transport","detail":"streamable HTTP","status":"pass","category":"protocol"},{"id":"protocol.list_ttl","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"auth.prm","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.as_metadata","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.cimd","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.secret_in_url","detail":"no templated URL","status":"na","category":"auth"},{"id":"tools.descriptions","detail":"every tool has a description","status":"pass","category":"hygiene"},{"id":"tools.description_length","detail":"1 tools have descriptions over 1,024 characters, which crowds the context","status":"warn","category":"hygiene"},{"id":"tools.schemas","detail":"every tool has an object input schema","status":"pass","category":"hygiene"},{"id":"tools.annotations","detail":"3 of 3 tools declare readOnlyHint or destructiveHint","status":"pass","category":"hygiene"},{"id":"tools.directory_hints","detail":"every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint","status":"pass","category":"hygiene"},{"id":"tools.token_cost","detail":"about 1,204 tokens to load every tool","status":"pass","category":"hygiene"},{"id":"tools.api_dump","detail":"tools are not a one-to-one API dump","status":"pass","category":"hygiene"},{"id":"stability.changes","detail":"no tool changes in 30 days","status":"pass","category":"stability"},{"id":"stability.rug_pull","detail":"no tool changed its meaning under the same name","status":"pass","category":"stability"},{"id":"deps.known_vulns","detail":"no npm or PyPI package","status":"na","category":"dependencies"},{"id":"deps.mcp_sdk_version","detail":"no npm or PyPI package","status":"na","category":"dependencies"},{"id":"deps.resolvable","detail":"no npm or PyPI package","status":"na","category":"dependencies"}],"drivers":["~protocol.modern","~tools.description_length"],"flags":[],"tool_count":3,"token_estimate":1204,"tools_hash":"7cea7430a658401a09a83647e8bdf30c","tools_changed_at":null,"computed_at":"2026-10-20T00:22:39.443Z","disclaimer":"Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed."},"dev.protogrid/identity":{"canonical_id":"com.stackenhance/signal","aliases":[],"alias_count":0,"repository_key":"github:stackenhance/signal-mcp","owner":{"verified":false,"method":null,"since":null}}},"next_actions":[{"action":"list_tools","description":"Every current tool with input schemas","href":"/v1/servers/com.stackenhance%2Fsignal/tools","arguments":{"name":"com.stackenhance/signal"}},{"action":"get_connection","description":"Minimal connection block for the preferred remote or package","href":"/v1/servers/com.stackenhance%2Fsignal/connection?target=mcpServers","arguments":{"name":"com.stackenhance/signal","target":"mcpServers"}},{"action":"search","description":"Find other servers by intent","href":"/v1/search?q={query}","arguments":{"q":"{query}"}}]}