{"apiVersion":"v1","directorySlug":"happycluster-mcp-4adf19fe35","title":"HappyCluster","description":"A knowledge graph and memory layer for design taste. Search built work by visual look, discover peer studios by design DNA, and track real-time hiring.","pageUrl":"https://www.mcpbundles.com/skills/happycluster-mcp-4adf19fe35","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://www.happycluster.xyz/api/mcp","hostedMcpUrl":null,"toolCount":32,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"xyz.happycluster/happycluster-mcp-4adf19fe35","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"search_patterns","description":"Search HappyCluster architecture pattern hubs by free-text query (e.g. \"timber pavilion\", \"london brick facades\"). Returns ranked hubs with kind, lede, matched facets, and canonical URLs.","inputSchema":{"type":"object","required":["q"],"properties":{"q":{"type":"string"},"kind":{"enum":["glossary","topic","geo_material","ultra","all"],"type":"string"},"limit":{"type":"number"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_patterns","displayName":"search_patterns","title":"search_patterns"},{"name":"get_pattern","description":"Get a full pattern node by slug: facets, related hubs, lineage parents, facet groups, provenance, and evidence query pointer.","inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_pattern","displayName":"get_pattern","title":"get_pattern"},{"name":"compare_patterns","description":"Contrast two patterns: shared neighbors (jaccard similarity), shared lineage, and facet differences. For \"when X vs when Y\" answers.","inputSchema":{"type":"object","required":["lhs","rhs"],"properties":{"lhs":{"type":"string"},"rhs":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"compare_patterns","displayName":"compare_patterns","title":"compare_patterns"},{"name":"find_firms","description":"Find architecture firms whose portfolio images evidence a pattern. Optional region filter.","inputSchema":{"type":"object","required":["pattern"],"properties":{"limit":{"type":"number"},"region":{"type":"string"},"pattern":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"find_firms","displayName":"find_firms","title":"find_firms"},{"name":"find_similar_images","description":"Given a portfolio image UUID, return visually similar images (pgvector nearest-neighbor), each labeled with firm and pattern hubs.","inputSchema":{"type":"object","required":["image"],"properties":{"image":{"type":"string"},"limit":{"type":"number"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"find_similar_images","displayName":"find_similar_images","title":"find_similar_images"},{"name":"get_hiring_market","description":"Aggregate hiring market snapshot for architecture studios: active signals, postings, firms, top cities/roles/seniority, salary ranges, 12-month trend.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_hiring_market","displayName":"get_hiring_market","title":"get_hiring_market"},{"name":"get_firm_hiring_signals","description":"Active hiring signal for a specific firm (by slug): postings with position, location, seniority, role, salary.","inputSchema":{"type":"object","required":["firm"],"properties":{"firm":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_firm_hiring_signals","displayName":"get_firm_hiring_signals","title":"get_firm_hiring_signals"},{"name":"semantic_search","description":"Visual-intelligence search: embed a text query via Vertex AI, then pgvector cosine search across ALL public portfolio images. Finds images by content description (\"warm minimal timber kitchen\") — not keyword matching. Each hit includes similarity %, firm, caption, materials, and hiring status. Optional scope=\"caption-details\" switches to lexical search over surprising_detail + environmental_context_note + summary (\"find urban-infill projects\") — keyword-AND, deterministic, no embedding cost. (To","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"number"},"query":{"type":"string"},"scope":{"enum":["images","caption-details"],"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"semantic_search","displayName":"semantic_search","title":"semantic_search"},{"name":"get_firm","description":"Full firm detail by slug: name, location, website, project locations, top caption facets (materials, visual identifiers, facade systems), image count, and portfolio URL.","inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_firm","displayName":"get_firm","title":"get_firm"},{"name":"find_similar_firms","description":"Firm-level visual similarity (\"Similar Design DNA\") via centroid kNN. Default mode returns neighbors with match percentages, hiring status, and open positions. With includeHiring=true it returns the compound payload: similar firms × their open hiring seats × peer pay bands (role/hub/currency filters apply) — \"which studios with work like X are hiring for Y role at Z pay?\"","inputSchema":{"type":"object","required":["firm"],"properties":{"k":{"type":"number"},"hub":{"type":"string"},"firm":{"type":"string"},"role":{"type":"string"},"currency":{"type":"string"},"includeHiring":{"type":"boolean"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"find_similar_firms","displayName":"find_similar_firms","title":"find_similar_firms"},{"name":"get_firm_facets","description":"All 8 caption facet channels for a firm, frequency-ranked: materials, visual identifiers, facade systems, structural approaches, lighting notes, spatial experiences, atmosphere, and geometry analyses. Answers \"what does Studio X actually work with?\"","inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string"},"limit":{"type":"number"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_firm_facets","displayName":"get_firm_facets","title":"get_firm_facets"},{"name":"get_pattern_evidence","description":"Paginated evidence images for a pattern hub — the actual photos that prove the pattern claim, ordered by medoid distance (core members first). Optional media-type filter (assetKind: project_photo/drawing_diagram/model) and viewpoint filter (perspectiveClass: interior/exterior/aerial/detail).","inputSchema":{"type":"object","required":["slug"],"properties":{"page":{"type":"number"},"slug":{"type":"string"},"limit":{"type":"number"},"assetKind":{"type":"string"},"perspectiveClass":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_pattern_evidence","displayName":"get_pattern_evidence","title":"get_pattern_evidence"},{"name":"get_skill_cooccurrence","description":"Skill/tool pairs ranked by lift — \"hired as a set\" intelligence. Lift > 1 means the pair appears together in job postings more often than chance. Answers \"what skills are hired together with Grasshopper?\"","inputSchema":{"type":"object","properties":{"limit":{"type":"number"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_skill_cooccurrence","displayName":"get_skill_cooccurrence","title":"get_skill_cooccurrence"},{"name":"get_firm_reputation","description":"Reputation scores for a firm: overall score, level, review counts, delivery/payment/dispute rates, spark acceptance, and level progress. Due-diligence tool — \"is this studio reliable?\"","inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_firm_reputation","displayName":"get_firm_reputation","title":"get_firm_reputation"},{"name":"compose_patterns","description":"Deterministic facet composition: every pattern hub whose slug encodes a material × typology × region intersection. Pure registry logic, no DB. Zero matches = honest \"not mined yet\" signal with a note.","inputSchema":{"type":"object","properties":{"region":{"type":"string"},"material":{"type":"string"},"typology":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"compose_patterns","displayName":"compose_patterns","title":"compose_patterns"},{"name":"get_region","description":"A region's full hub inventory: hubs grouped by tier with counts, dominant materials, and canonical URLs. Answers \"what materials and patterns define this region's architecture?\"","inputSchema":{"type":"object","required":["region"],"properties":{"region":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_region","displayName":"get_region","title":"get_region"},{"name":"get_material_trends","description":"Dated material usage across the caption corpus — a time series of which materials were actually built in each year. Optional material filter (single-material series) and region filter (firm location). Answers \"is timber rising or falling?\" from real built work.","inputSchema":{"type":"object","properties":{"region":{"type":"string"},"material":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_material_trends","displayName":"get_material_trends","title":"get_material_trends"},{"name":"search_firms","description":"Search firms by their own words — name, location, long-form description, awards, and founder names. Multi-token AND matching. Optional filters: foundedAfter, foundedBefore, hiringOnly. The firm-search companion to search_patterns.","inputSchema":{"type":"object","required":["q"],"properties":{"q":{"type":"string"},"limit":{"type":"number"},"hiringOnly":{"type":"boolean"},"foundedAfter":{"type":"number"},"foundedBefore":{"type":"number"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_firms","displayName":"search_firms","title":"search_firms"},{"name":"get_firm_style_profile","description":"A firm's style narrative from its captions: frequency-ranked style tags, up to 3 verbatim style_reading samples, and the firm's E-E-A-T description. Aggregated evidence — no synthesis.","inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_firm_style_profile","displayName":"get_firm_style_profile","title":"get_firm_style_profile"},{"name":"get_site_context_firms","description":"Firms with caption-verified site-context work. Joins environmental_context_note (site context prose) with materials and firm location. Answers \"who has done timber waterfront pavilions?\" or \"who builds in urban infill contexts?\" Presets match the field's actual vocabulary: urban, suburban, rural, coastal, waterfront, forested, hillside, campus, park, courtyard, historic, industrial — or a free-text phrase.","inputSchema":{"type":"object","properties":{"limit":{"type":"number"},"region":{"type":"string"},"context":{"type":"string"},"material":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_site_context_firms","displayName":"get_site_context_firms","title":"get_site_context_firms"},{"name":"get_program_expertise","description":"Firms with caption-verified building-program expertise. Joins inferred_program with firm profiles. Answers \"which firms have actually built libraries?\" — evidence from captioned work, not marketing claims.","inputSchema":{"type":"object","required":["program"],"properties":{"limit":{"type":"number"},"region":{"type":"string"},"program":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_program_expertise","displayName":"get_program_expertise","title":"get_program_expertise"},{"name":"get_award_landscape","description":"Award-winning firms joined with their open hiring positions. Answers \"which award winners are hiring juniors now?\" — prestige × opportunity. Optional award filter (e.g. \"Pritzker\") and hiringOnly toggle.","inputSchema":{"type":"object","properties":{"award":{"type":"string"},"limit":{"type":"number"},"hiringOnly":{"type":"boolean"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_award_landscape","displayName":"get_award_landscape","title":"get_award_landscape"},{"name":"get_my_memory_state","description":"The authenticated user's 2nd-brain memory graph: lit/locked/fogged firms with decay weights and freshness buckets (fresh > 0.8, fading ≥ 0.3, fogged < 0.3). PRIVATE — requires user auth (Firebase session or OAuth Bearer). Returns a structured error when unauthenticated.","inputSchema":{"type":"object","properties":{"limit":{"type":"number"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_my_memory_state","displayName":"get_my_memory_state","title":"get_my_memory_state"},{"name":"get_my_bookmarks","description":"The authenticated user's saved library (2nd Brain bookmarks): saved images and firms with hydrated metadata and hiring status. PRIVATE — requires user auth. Returns a structured error when unauthenticated.","inputSchema":{"type":"object","properties":{"limit":{"type":"number"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_my_bookmarks","displayName":"get_my_bookmarks","title":"get_my_bookmarks"},{"name":"get_my_matches","description":"The authenticated user's stored portfolio↔job match results: match scores, job details, salaries, timestamps. PRIVATE — requires user auth. Returns a structured error when unauthenticated.","inputSchema":{"type":"object","properties":{"limit":{"type":"number"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_my_matches","displayName":"get_my_matches","title":"get_my_matches"},{"name":"get_scale_profile","description":"Intimate ↔ monumental portfolio mix from caption spatial_scale_note prose — for a firm (kind=\"firm\") or a pattern (kind=\"pattern\"). Bucketed by the field's actual vocabulary (intimate/domestic/human-scaled vs monumental/high-rise/grand), with verbatim sample notes. Answers \"show me firms whose work is intimate vs monumental\".","inputSchema":{"type":"object","required":["slug"],"properties":{"kind":{"enum":["firm","pattern"],"type":"string"},"slug":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_scale_profile","displayName":"get_scale_profile","title":"get_scale_profile"},{"name":"get_pattern_verification","description":"Claim oracle: is this pattern verified by captions (verified_pattern_slugs) or only by embedding similarity? Returns the verification tier (caption-verified | embedding-only | no-evidence), counts, and sample verifying captions. Honest about sparsity — very few captions carry explicit verification.","inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_pattern_verification","displayName":"get_pattern_verification","title":"get_pattern_verification"},{"name":"get_precedent_firms","description":"Who pioneered this pattern? Earliest extractable workYear per firm among the pattern's membership evidence — actual built dates, not marketing claims. Rows without a parseable year are counted as undated. Answers \"who first did board-formed concrete in this region?\".","inputSchema":{"type":"object","required":["pattern"],"properties":{"limit":{"type":"number"},"pattern":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_precedent_firms","displayName":"get_precedent_firms","title":"get_precedent_firms"},{"name":"compare_regions","description":"Side-by-side market comparison between two free-text locations (ILIKE on firm location): firm base, hiring velocity, caption material mix, stated roles. Answers \"London vs Shanghai for our studio expansion?\". Each side cites its firms via /firms URLs in follow-ups.","inputSchema":{"type":"object","required":["region_a","region_b"],"properties":{"region_a":{"type":"string"},"region_b":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"compare_regions","displayName":"compare_regions","title":"compare_regions"},{"name":"match_firms_to_brief","description":"The flagship brief → shortlist composition: compose pattern hubs from material/typology facets, seed candidates from real membership evidence, then score by how many extra dimensions each firm satisfies (site context, program expertise, awards, active hiring). Every hit cites its canonical firm URL.","inputSchema":{"type":"object","properties":{"award":{"type":"string"},"limit":{"type":"number"},"region":{"type":"string"},"context":{"type":"string"},"program":{"type":"string"},"material":{"type":"string"},"typology":{"type":"string"},"hiringOnly":{"type":"boolean"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"match_firms_to_brief","displayName":"match_firms_to_brief","title":"match_firms_to_brief"},{"name":"get_my_exploration_summary","description":"PRIVATE — \"What have I been exploring?\" The user's research dashboard: memory-graph weight leaders, saved-library material DNA, top pattern hubs, recent saves. Requires user auth.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_my_exploration_summary","displayName":"get_my_exploration_summary","title":"get_my_exploration_summary"},{"name":"get_my_pattern_affinity","description":"PRIVATE — pattern hubs the user's saved work clusters around, plus strong firms in those hubs the user hasn't saved or memorized yet. Grounded recommendations from the user's own bookmarks. Requires user auth.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_my_pattern_affinity","displayName":"get_my_pattern_affinity","title":"get_my_pattern_affinity"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=HappyCluster&config=eyJ1cmwiOiAiaHR0cHM6Ly93d3cuaGFwcHljbHVzdGVyLnh5ei9hcGkvbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22HappyCluster%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fwww.happycluster.xyz%2Fapi%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22HappyCluster%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fwww.happycluster.xyz%2Fapi%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=HappyCluster&connectorUrl=https%3A%2F%2Fwww.happycluster.xyz%2Fapi%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"HappyCluster\" --url \"https://www.happycluster.xyz/api/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/happycluster-mcp-4adf19fe35","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/happycluster-mcp-4adf19fe35/tools/{tool}","mcpServerUrl":"https://www.happycluster.xyz/api/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/happycluster-mcp-4adf19fe35?live=1"}