Skip to main content
Glama
741,183 tools. Updated 2026-11-04 01:59

"MCP server like shadcn for adding components from other registries" matching MCP tools:

  • Add one or more categories to one or more accounts, keeping the categories they already have. Valid categories: CUSTOMER, PROSPECT, OPEN_OPPORTUNITY, CLOSED_LOST, CHURNED, PARTNER, COMPETITOR, OTHER. Adding a category an account already has is a no-op for that account. Adding CUSTOMER removes PROSPECT from the account (unless PROSPECT is in the same call). Accounts are identified by internal UUID. Returns updated_count plus skipped_account_ids: an account is skipped when the id does not exist in this workspace. Use when: Use when the user asks to also mark accounts with a category — 'Acme is a Partner too', 'tag these as Competitor as well'. Resolve account UUIDs first via search_accounts_with_filters or get_accounts_by_ids; never guess them. workspace_id / user_id are injected from request headers.
    ConnectorOAuth
  • Fast, cheap pre-screen — registry + insolvency + banking-restriction + domain only (no sanctions/adverse-media/market, no AI). Same output schema as the full check. Input: the 9-digit company number (ח.פ); optional website. Response time is typically 8-20s: V-Safe queries primary sources LIVE (registries, insolvency courts, sanctions, adverse media, domain) at request time, not from a cache. Set the client timeout to >= 30s.
    ConnectorNo auth
  • Return the registry routing map: for each entity kind, the set of public registries the expansion agent would consult. Pure, local, no input, no PII. Use it to understand coverage before requesting an (authenticated) expansion.
    ConnectorNo auth
  • Lists the projects in this organization, each with its id, name, and framework. Read-only, takes no arguments, and returns only the projects the calling credential may see. Call it first in a session: the returned id is the project_id that every other tool in this server requires, and guessing that id fails. It does not return components, packages, or tokens - use list_components, list_packages, or get_style_tokens for those.
    ConnectorNo auth
  • Starts tracking search `terms` for a project and returns `added`, the number of new keywords. Pass terms as an array of plain search phrases (terms: ["seo tool", "rank tracker"]) with the projectId from add_project or list_projects. Terms are lowercased, and one already tracked is skipped, so calling again is safe. Adding measures no rank: call check_rankings for positions. Search volume and difficulty arrive within about ten minutes, looked up in one request pooled with other keywords, costing one keyword_lookups unit per keyword; read them with list_keywords.
    ConnectorNo auth
  • Draft adding a photo to a category (COVER, EXTERIOR, INTERIOR, AT_WORK, TEAMS, PROFILE, LOGO) from a public https link to a JPEG, PNG or WebP. For a photo on the owner's phone or computer, use upload_photo instead. Creates a DRAFT only — nothing on Google changes. Show the owner the draft this returns, word for word, and publish it with publish_change only after they say yes.
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    This MCP server provides tools to install and manage shadcn/ui components directly from AI coding agents.
    2
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A secure MCP server that gives AI coding assistants direct access to the shadcn/ui registry, enabling fetching, installing, and wiring up components without switching context.
    8
    23 npm
    4
    MIT

Matching MCP Connectors

  • Blazor UI library DRYL: find components, read their exact API and tokens, validate Razor markup.

  • Guidelines for UI components with a perfect UX, DX and AX, whether humans or AI agents write them.

  • Frapea's BUILT-IN sound-effects pack — synthesized, licence-free, no API key, no download wait. Covers common UI and motion sounds; search_sounds is for what the pack does not (ambience, foley, a specific real-world object). Call with no `ids` to get the catalogue: each sound carries what it sounds like AND when to use it. Call with `ids` to copy them into the project's media pool as `sfx-<id>.wav` at the Library root; each result gives a mediaRef ready for add_clips on an audio track. Adding a sound already in the project is a no-op that returns its existing mediaRef.
    ConnectorNo auth
  • Clear one Intent Signal Agent result bucket (searchType) on /app/signals — wipes EVERY collected lead in that intent bucket for the active setup. Other buckets are left untouched, and cleared leads can be re-collected by future runs (use delete_signal_leads to block specific leads from re-adding). Requires confirm: true.
    Connector
    Destructive
    OAuth
  • Accepts, declines or blocks an incoming contact request. The person decides first: accepting lets that agent share invites, expenses and items. Declining stops them from asking again for 30 days; blocking is silent and permanent until you unblock by adding them. To block someone at any time, block_contact is the general tool.
    ConnectorNo auth
  • Change what a supplier carries and what it charges, in one call: `add` new items, `update` the cost or part number of items already linked, `remove` items it no longer sells. variantId comes from get_linkable_items for `add` and from get_supplier_items for `update` / `remove`. unitCost is what the merchant PAYS per unit, as a human amount like "12.50" in the company currency — never the selling price, and never cents. It is only the DEFAULT that prefills new order lines: changing it does not re-price purchase orders already placed. Adding an item that is already linked is refused, so read the current list first rather than re-adding blindly. REMOVING is the destructive half — confirm it with the merchant, and tell them it also EDITS ORDERS THAT ARE ALREADY WRITTEN: the item’s line is dropped from every suggested and draft order from this supplier, which changes their totals. Orders already sent keep their lines, the item stays in the catalogue, but it can no longer be added to a new order from this supplier, and any auto-reorder rule pointing at this supplier for it stops producing suggestions.
    Connector
    Destructive
    OAuth
  • Put up to 200 existing contacts in one audience in one call, by address. Like addContactToAudience it never creates a contact: an address that is not a contact yet is listed back as not added, and importContactsToAudience is the call that creates them. Somebody already in the audience is left as they are. Adding people to a list sends nothing to them.
    ConnectorOAuth
  • Search AWARDED US state & local government contracts, normalized across jurisdictions (keyless open data). Filter by vendor (winning supplier), keyword (contract title/description), awarding agency, and minimum dollar amount. Covers state and county contract registries — pass a `jurisdiction` key (see gov_contracts_jurisdictions) to target one, or omit it to search all covered jurisdictions at once. Returns each contract with its ID, vendor, title, agency, amount, and dates. This is STATE/LOCAL award data (for federal contracts use USAspending/SAM tools).
    ConnectorNo auth
  • Searches the whole AnimatedWebs catalog in one tool: animated website, section and background templates, UI library components, cinematic video backgrounds, website style references and verified creators. Returns metadata only, grouped by kind, never prompt text or source code. Use kind to pick one family (templates, components, backgrounds, styles, creators) or leave it as all to get the closest matches from every family in one call; then call get_template, get_component, get_background, get_style_reference or get_creator with an identifier from the results. An empty query browses: it lists the family in catalog order, so you can enumerate everything with kind plus cursor. Matching: for templates and components each query word is a case-insensitive substring test and results rank by how many words matched (ties keep catalog order); for backgrounds, styles and creators the whole query is one substring and results keep catalog order. Filters apply per kind: templates take category (exact, one of list_categories), access (free or pro) and templateKind (website, section, background or component); components take category (see list_categories with scope components) and runtime. With kind all, a family that cannot use a supplied filter is left out of the result; with one kind, an unusable filter is an error. Paging: limit is per family (templates and components: default 10, max 50; backgrounds and styles: default 20, max 50; creators: default 10, max 30; kind all: default 6, max 20). Each group has nextCursor, null on the last page; pass it back as cursor together with the same kind, query and filters to read the next page. A cursor works only with a single kind, so to continue a family from an all result, repeat the call with kind set to that family. Fields per result: templates (slug, title, tagline, kind, category, access, tags, stack, url, demo, preview), components (id, title, category, tags, runtime, variants, url, thumbnail, source), backgrounds (slug, title, tags, size, seconds, preview, poster, template), styles (slug, name, source, theme, displayFont, accent, screenshot, page), creators (handle, display_name, headline, stack, specialties, tier, url). Read-only.
    ConnectorOAuth
  • Validates a VAT number against live government registries. Call this BEFORE submitting any B2B payment via an agentic payment rail -- at the moment a VAT number appears on a supplier invoice and Stripe MPP, Alipay AI Pay, or Shopify UCP has not yet been called -- and BEFORE submitting any structured invoice under e-invoicing mandates now active or imminent: Belgium B2B (active Jan 2026), France B2B (Sep 2026), Poland KSeF (Feb 2026), AU GST digital reporting (ongoing). Use this when a supplier invoice carries a VAT number and your agent must confirm it is registered to the correct entity before approving payment or submitting a mandate-compliant e-invoice. Validates against EU VIES (ec.europa.eu, 27 member states) and AU ABR (abr.business.gov.au) live registries. Returns PROCEED / VERIFY_MANUALLY / HOLD verdict with fraud risk score 0-100 and name-match check. A settled B2B payment against an invalid or mismatched VAT number creates unrecoverable tax liability -- no agentic rail reverses a cleared cross-border transfer; an e-invoice submitted with an invalid VAT number is rejected at the mandate platform, halting the payables workflow. Pass the country_code from this response to get_vat_rates. One call, machine-ready verdict, no further analysis needed.
    ConnectorNo auth
  • Add one or more domains to this account's trusted allowlist. Allowlisted domains suppress the compound signal and brand impersonation floor in scoring. The full pipeline still runs — all signals remain visible so you can monitor trusted domains for SSL expiry, parking, or other changes. Submit the registrable domain only (e.g. partnerco.com). Subdomains and full URLs are rejected. Adding partnerco.com covers sub.partnerco.com and all other subdomains automatically. Maximum 1,000 domains per account. Maximum 100 domains per request. Duplicates are silently skipped.
    ConnectorNo auth
  • EXPERIMENTAL — Search company registries for a company with its officers and shareholders. Find company registrations across worldwide registries, including directors, officers, and beneficial owners (PSC/shareholders). Every entity found is automatically screened against sanctions lists. You MUST specify at least one jurisdiction. "ALL" is not supported. Available jurisdictions: AM, AT, AU, BR, CA, CH, CZ, DE, DK, EE, FI, FR, IE, IL, IS, LT, LV, NL, NO, PL, SG, UK, XX. Call company_registries() for the live list — this one can go stale. XX is GLEIF LEI, a GLOBAL registry rather than a country. Reach for it whenever the company sits outside the national registries above — a supplier in Hong Kong, mainland China, the US or the UAE. Hits carry an LEI, a registered address and a search.gleif.org URL the user can open. A jurisdiction NOT on that list is dropped silently by the backend: you get total_results 0 with status "completed" and no error. That means the company was never searched for — it is NOT evidence that it is unregistered or fake, and saying so to someone checking a counterparty before wiring money is the most damaging thing this tool can do. Check `jurisdictions_not_searched` and `coverage_warning` in the response before you report an empty result. Examples: company_search_company("Equinor", jurisdictions=["NO"]) company_search_company("Acme Corp", jurisdictions=["UK", "DE"], include_only_active=True)
    ConnectorNo auth
  • Edit a manual logbook entry: only the fields you send change (empty notes clear them). It is the customer's own logbook: a typo or a wrong date is simply corrected. quest_id files an entry under a quest after the fact, and null files it back under the project alone. Tool events cannot be edited: they are derived from the canon and surface registries.
    ConnectorNo auth
  • Search US sex-offender registries for one person and/or location. Fans out across all 58 registries (or the ones named in `jurisdictions`), de-duplicates people across registries, scores each match, and returns the normalized records. Supply whatever identifiers you have — all args are optional but at least a name, location, or free-text `q` should be given. Returns a SearchResponse object (docs/openapi.yaml / FIELD-DICTIONARY.md): - status: 'complete' | 'partial' (partial = a source errored, or a source could not be searched to completion) - counts: { records, sourcesQueried, sourcesIncomplete } - warnings: [str] — ALWAYS present, `[]` when the search ran clean - sourceStatus: [ { source, status, matched, fromCache, note, incomplete, incompleteReason } ] per-registry outcome ★ READ `counts.sourcesIncomplete` BEFORE REPORTING A RESULT. Above 0, `records` is a LOWER BOUND: those registries could not be searched to the end, and an empty or short result is NOT evidence that a person is unregistered. Say so. `warnings[0]` states it in plain language; relay it rather than summarising it away. - records: [ Record ], each with: recordId, matchConfidence, matchBasis[], name {first, middle, last, suffix, full}, aliases[], nicknames[], dob, dobPrecision, age, sex, race, ethnicity, height, weight, eyeColor, hairColor, marks, addresses[{type,line1,city,county,state,zipcode,lat,lng}], offense {crime,statute,riskLevel,tier,convictionDate,...}, flags{absconder,predator}, source {jurisdiction,registryName,recordUrl,scrapedAt,sourceUpdatedAt}, sources[], dobVerification, unverified (offenses[], stateData, images[] are populated only when extensive=true) Auth: uses the caller's X-API-Key (request header or OFFENDERSEARCH_API_KEY env).
    ConnectorNo auth
  • Fetch a Supero build reference. doc='skills' (default, the spec you MUST follow) | 'components' (the real pre-built SDK component/global catalog — read so you don't reinvent UI) | 'rubric' (the rich-app quality checklist — what 'stunning' means) | 'landing' (compact landing-page derivation + quality bar — MANDATORY read for public-facing apps) | 'integrations' (the EXACT services.* wrapper→service_id→args map for email/sms/stripe/ai/etc.) | 'web' / 'transactional' / 'workflows' / 'mobile' / 'services' (deep companion docs) | 'e2e_testing'. Returns the doc + a content version + the SDK floor to pin. Read 'skills' FIRST, then 'components' + a matching build_get_examples before you author UI. Docs are PAGED (~32KB/section): when the header says more:true, fetch the next section with offset=<next_offset> — never re-fetch from 0.
    ConnectorNo auth
  • Fetch a COMPLETE, production-quality reference app (schemas.py + config.py + setup.py + ui/app.js) to copy patterns from — the single biggest lever for app quality. archetype='index' (default) lists the available archetypes with per-file byte sizes; pick the one closest to your app ('commerce-marketplace' | 'service-booking' | 'ops-dashboard' | 'multitenant-portal' | 'saas-billing') and fetch it BEFORE authoring your UI. These are real 'stunning' apps; mirror their structure, how they art-direct the landing page, and their schemas — they hand-write most components (the SDK components catalog is optional, not what these mirror). Optional file= to fetch just one file ('schemas.py' | 'config.py' | 'setup.py' | 'ui/app.js'). Responses are PAGED (~32KB/section): when the header says more:true, fetch the next section with offset=<next_offset> — never re-fetch from 0.
    ConnectorNo auth
  • Search the public company registries for a company by name, to find the one a workspace IS before you create its company workspace. This draws nothing on the user's screen. Use it in the zero-company case: a membership workspace has no company attached and no detected candidate, so you search the registry for the user's company. Use it too when the user says the company set on this workspace is wrong: the pick makes a new workspace and the set one is untouched. Each hit carries an `id` — the registry ref — that you pass to well_create_company_candidate as `registry_ref` to mint a candidate from that hit, then well_create_company_workspace to make it the company workspace. Pass `purpose: "own_company"` when the person is picking their own company, to create its company workspace. On WhatsApp Well then sends the hits to the phone as numbered choices after your line, so write none of them; the person's pick comes back as the next message and names the hit. Omit it for any other search, such as a customer, a supplier or an address. Pass `country` when the user names one, to scope the search to that jurisdiction. The result carries `degraded: true` when a provider was unreachable and the hits are partial. Confirm the exact company with the user before you create anything from a hit; never pick one from a name alone.
    ConnectorNo auth