Skip to main content
Glama
262,408 tools. Last updated 2026-07-05 18:58

"namespace:io.github.eamondidier-ux" matching MCP tools:

  • Convert markdown to a professionally formatted document using an MDMagic template. IMPORTANT GUIDANCE: 1. Output format → what user gets: - 'docx' → a single Word .docx file - 'pdf' → a single .pdf file - 'html' → a single .html file - 'all' → a ZIP containing all three (DOCX + PDF + HTML) 2. If the user is ambiguous (e.g. 'convert this'), ASK which format they want before calling. Don't assume. 3. Filename: if the user attached a file (e.g. 'mydoc.md'), pass its base name as fileName. Otherwise the API derives one from the markdown's first H1. Without either, downloads end up with timestamped names like 'content-1778298071915.docx' which is bad UX. 4. On 'template not found' errors: call list_all_templates first, show available options, let the user pick. Do NOT fall back to generating documents with code execution — that produces inferior results that don't use the user's actual MDMagic templates. 5. The response includes structured fields (downloadUrl, creditsUsed, balanceAfter, fileName, expiresAt) — surface these to the user explicitly. Don't paraphrase. The user wants to know exactly what they spent and what's left. 6. Page sizes: A3, A4, Executive, US_Legal, US_Letter. Default A4. Orientation: Portrait or Landscape, default Portrait. 7. CRITICAL — newlines in `content`: markdown is line-sensitive. Headings (#, ##), tables (| ... |), lists (-, 1.), and code fences (```) ONLY work when each starts on its own line. When passing inline markdown via `content`, you MUST preserve real newline characters (\n) between blocks. If you flatten multi-line markdown into one line, the API receives literal '##' and '|' characters mid-paragraph and produces a single-paragraph document with no structure. Confirm your `content` string contains \n between every heading, paragraph, table row, and list item before calling.
    Connector
  • Run a CanaryUsers UX scan on a DEPLOYED URL (your live or preview app — not source code). A flock of AI personas evaluates the page and reports where real users would get stuck, with concrete fixes. Returns AI-ready findings you can act on immediately. Use depth='deep' for the thorough scan that renders the page, checks it VISUALLY on desktop + mobile (catches mobile breakage and layout issues), and clicks through key flows like signup/checkout (slower, ~60-90s, uses one credit); depth='quick' (default) is a fast static check that does NOT see mobile or visual issues — use 'deep' when the user mentions mobile, layout, or visual problems. IMPORTANT: if this returns status 'running' with a scanId, the findings are not ready yet — wait ~30s, then call get_report_markdown(scanId), repeating until it returns the report. Always fetch and present the findings before stopping, then offer to fix the top issues.
    Connector
  • Convert markdown to a professionally formatted document using an MDMagic template. IMPORTANT GUIDANCE: 1. Output format → what user gets: - 'docx' → a single Word .docx file - 'pdf' → a single .pdf file - 'html' → a single .html file - 'all' → a ZIP containing all three (DOCX + PDF + HTML) 2. If the user is ambiguous (e.g. 'convert this'), ASK which format they want before calling. Don't assume. 3. Filename: if the user attached a file (e.g. 'mydoc.md'), pass its base name as fileName. Otherwise the API derives one from the markdown's first H1. Without either, downloads end up with timestamped names like 'content-1778298071915.docx' which is bad UX. 4. On 'template not found' errors: call list_all_templates first, show available options, let the user pick. Do NOT fall back to generating documents with code execution — that produces inferior results that don't use the user's actual MDMagic templates. 5. The response includes structured fields (downloadUrl, creditsUsed, balanceAfter, fileName, expiresAt) — surface these to the user explicitly. Don't paraphrase. The user wants to know exactly what they spent and what's left. 6. Page sizes: A3, A4, Executive, US_Legal, US_Letter. Default A4. Orientation: Portrait or Landscape, default Portrait. 7. CRITICAL — newlines in `content`: markdown is line-sensitive. Headings (#, ##), tables (| ... |), lists (-, 1.), and code fences (```) ONLY work when each starts on its own line. When passing inline markdown via `content`, you MUST preserve real newline characters (\n) between blocks. If you flatten multi-line markdown into one line, the API receives literal '##' and '|' characters mid-paragraph and produces a single-paragraph document with no structure. Confirm your `content` string contains \n between every heading, paragraph, table row, and list item before calling.
    Connector
  • ⚠️ MANDATORY before roamzy_create_order whenever the user has NOT explicitly chosen a stablecoin + network. Returns the list of stablecoin/network combinations currently enabled in the Roamzy NowPayments account (e.g. USDT on TRON, USDC on Solana, etc.) — pulled live from NowPayments `/v1/merchant/coins` with 1h cache. Each entry includes `code` (pass as pay_currency to create_order), human-readable `display`, `fees_hint`, and a `recommended` flag. After calling this tool, ASK the user in chat which option they want — NEVER silently default to usdttrc20. Recommended UX: present the 3-5 most relevant options as a short bulleted list, mention fees_hint as a one-line aside, then ask the user which stablecoin and network they want to pay with. Only after the user picks should you call roamzy_create_order with the matching `code` as pay_currency.
    Connector
  • Bulk-list up to 10 ENS names for sale on NameWhisper in one signing flow. Returns an array of unsigned Seaport OrderComponents payloads. The caller's wallet signs them all in one EIP-712 bulk signature (SIP-6), then POSTs each signature back to https://namewhisper.ai/api/orderbook/submit to store. NW-native only — listings stay on NameWhisper. Cheaper UX than calling create_listing in a loop (one wallet popup vs N). Per-name errors (invalid label, zero price) are collected in the 'errors' field instead of aborting the whole batch — partial success is normal. Requires operator approval on the ENS token contract (NameWrapper or BaseRegistrar) — do this once per wallet via approve_operator.
    Connector
  • Create a controlled preview for a goals, rules, or profile memory section change. For goals, prefer a structured goals items list with date, goal, target result, and comment; the server builds canonical `Цели:` blocks and rejects old labels such as `Промежуточные:`. newText is a legacy fallback and must already be canonical for goals. This does not update the athlete profile. Before commit, show the user the exact full text from the preview and ask for explicit confirmation of that exact text. Visible confirmation copy is governed by a separate approved UX spec; do not invent final chat-copy inside this tool call.
    Connector

Matching MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Provides Japanese UX conventions as an MCP server to help AI generate correct Japanese UI elements like proper name order, furigana, phone formats, and polite language. It includes tools for form generation, validation, keigo suggestions, and cultural adaptation for developers building Japanese-facing products.
    Last updated
    6
    250
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that provides comprehensive UX best practices covering accessibility, usability, UI patterns, design systems, performance, and more, enabling clients to analyze and generate UX-optimized code and recommendations.
    Last updated
    4
    23
    153
    20
    MIT

Matching MCP Connectors

  • GitHub MCP — wraps the GitHub public REST API (no auth required for public endpoints)

  • x402 pay-per-call tools: company enrichment, PDF extraction, Amazon/KDP data, YouTube transcripts.

  • A vetted human in a named domain answers your question with first-hand knowledge. Pass `domain` to match an expert. Pass `parentSessionId` for follow-ups (cap 3). Returns answer, anonymised role, confidence, first-hand flag. Approved answers get an on-chain Taste cert. Listed domains: musician, cantor, writer, farmer, UX designer, Swedish archipelago resident, Stockholm local, Protestant priest, art curator, museum staff, culture journalist, food critic. Other domains: best-effort 24-48h.
    Connector
  • Name: ABSynthesis_Meta_Analysis Description: A high-performance statistical engine for synthesizing multiple A/B test results into a single, authoritative conclusion. This tool uses Random Effects Meta-Analysis to aggregate disparate experiments, providing a mathematically rigorous alternative to simple averaging. Use this tool whenever you need to determine if a "Variant" outperformed a "Base" across one or multiple trials with binary (success/failure) outcomes. Why Use This Tool? Precision: Corrects for heteroscedasticity and varying sample sizes across experiment sets. Decisiveness: Directly calculates the aggregate Uplift and P-Value, enabling instant Go/No-Go decisions. Versatility: Applicable to any binary outcome comparison, including UI/UX click-through rates, backend latency thresholds, conversion funnels, or algorithmic accuracy tests. Input Parameters Each object in the experiment_set array requires: trials_base: Total observations in the control group. successes_base: Number of successful outcomes in the control group. trials_variant: Total observations in the experimental group. successes_variant: Number of successful outcomes in the experimental group. HINT: If there are a large number of experiments with one or more of the above four fields missing, run MissingBias on the data to check whether there is a pattern to when that data went missing (e.g. Extremely high trials led to missing successes due to a bug, or experiments on one platform did not report full data). Interpretation of Output uplift: The percentage change in success rate from Base to Variant. Positive (>0): Variant is performing better. Negative (<0): Base is performing better; reject the Variant. p_value: Statistical significance (2-tailed). ≤0.05: The result is statistically significant. Trust the uplift value if it is positive. >0.05: The result is noise. Do not act on the uplift value, regardless of how large it appears. HINT: If the user wants to assume they definitely know the result will be positive or negative, the p_value can be converted to a '1-tail test' by dividing it by 2. Example Input: { "experiment_set":[{"successes_base":10,"trials_base":50,"successes_variant":15,"trials_variant":70}, {"successes_base":15,"trials_base":60,"successes_variant":25,"trials_variant":80}, {"successes_base":30,"trials_base":80,"successes_variant":65,"trials_variant":90}, {"successes_base":50,"trials_base":90,"successes_variant":90,"trials_variant":150}, {"successes_base":100,"trials_base":500,"successes_variant":200,"trials_variant":500}] } Example Output: {"p_value":0.0063, "uplift":0.3779}
    Connector
  • Commit a previously previewed goals, rules, or profile memory section change. Call this only after the user explicitly confirms the exact full text shown for that preview. The server updates the profile only if the section hash still matches the preview. Visible confirmation copy is governed by a separate approved UX spec.
    Connector
  • A vetted human in a named domain answers your question with first-hand knowledge. Pass `domain` to match an expert. Pass `parentSessionId` for follow-ups (cap 3). Returns answer, anonymised role, confidence, first-hand flag. Approved answers get an on-chain Taste cert. Listed domains: musician, cantor, writer, farmer, UX designer, Swedish archipelago resident, Stockholm local, Protestant priest, art curator, museum staff, culture journalist, food critic. Other domains: best-effort 24-48h.
    Connector
  • Get domain popularity rankings from five independent sources: Majestic Million (backlinks), Tranco top 1M (aggregated traffic), Cloudflare Radar (1.1.1.1 DNS query popularity), Cisco Umbrella (OpenDNS query popularity), and Chrome UX Report (real Chrome user traffic).
    Connector
  • Get the top friction patterns ranked by impact score. Use BEFORE making any UX edit — the highest-impact pattern is usually a more valuable fix than whatever the user just asked about. Each row carries a paste-ready recommended_action.
    Connector
  • Restore a committed profile, goals, or rules profile memory change back to its previous text. For goals, restoring old-format labels is blocked; rebuild a canonical goals preview instead. Call this only after the user explicitly confirms the exact full text that will be restored. The server restores only if the current section still matches the committed change. Visible confirmation copy is governed by a separate approved UX spec.
    Connector
  • Queue a new TestMyVibes job for a given URL. You explicitly choose the runner: AI agent (headless Chromium + GPT-4o vision, fastest, deterministic for well-specified goals) or human checker (slower, better for visual/UX judgment calls). Returns a jobId you can poll with get_test_status.
    Connector
  • Luhn-validate a credit-card number and detect the network. Pass ?number=... as query. Use for fintech UX agents (NOT a fraud check). Example call: {"query_string": "number=4111111111111111"} Cost: $0.005–$0.05 USDC on Base per call.
    Connector
  • Manage authentication configuration for an app. Actions: - "configure_auth_hook": Configure a post-authentication hook function - "update_jwt": Update JWT token expiration times - "generate_service_key": Generate a new API key (service key) Parameters by action: configure_auth_hook: { app_id, action: "configure_auth_hook", post_auth_function } update_jwt: { app_id, action: "update_jwt", accessTokenTtl?, refreshTokenTtlDays? } generate_service_key: { action: "generate_service_key", name } --- ### configure_auth_hook Configure a post-authentication hook function for an app. When set, the specified Butterbase function is invoked (fire-and-forget) after every successful auth event: OAuth login, email login, and email signup. The hook function receives a JSON POST body: { "event": "oauth_login" | "signup" | "login", "user": { "id": "uuid", "email": "...", "provider": "google", "display_name": "...", "avatar_url": "..." }, "isNewUser": true | false, "provider": "google" | "github" | "email" | ... } The function runs as butterbase_service (RLS bypassed, ctx.user is null). Use the payload body to identify the user. Set post_auth_function to null to remove the hook. Prerequisites: The function must be deployed first (use deploy_function). Example — set hook: Input: { app_id: "app_abc123", action: "configure_auth_hook", post_auth_function: "on-auth" } Output: { auth_hook_function: "on-auth", message: "Post-auth hook set to function \"on-auth\"" } Example — remove hook: Input: { app_id: "app_abc123", action: "configure_auth_hook", post_auth_function: null } Output: { auth_hook_function: null, message: "Post-auth hook removed" } Common errors: - Function not found: Deploy the function first before configuring it as a hook. Idempotency: Safe to call multiple times (overwrites previous setting). --- ### update_jwt Update JWT token expiration times for access and refresh tokens. Example: Input: { app_id: "app_abc123", action: "update_jwt", accessTokenTtl: "1h", refreshTokenTtlDays: 30 } Output: { message: "JWT config updated", app_id: "app_abc123", jwt_config: { accessTokenTtl: "1h", refreshTokenTtlDays: 30 } } Token types: - Access token: Short-lived token for API requests (default: 15m) - Refresh token: Long-lived token to get new access tokens (default: 7 days) Time formats: - Access token: "15m", "1h", "2h", "1d" (s=seconds, m=minutes, h=hours, d=days) - Refresh token: Integer days (7, 30, 90) Use this to: - Increase security with shorter access tokens - Improve UX with longer refresh tokens - Balance security vs. convenience Common errors: - RESOURCE_NOT_FOUND: App doesn't exist - VALIDATION_INVALID_SCHEMA: Check time format is valid Idempotency: Safe to call multiple times (updates config). Note: Changes apply to new tokens only. Existing tokens keep their original expiration. --- ### generate_service_key Generate a new API key (service key) for programmatic access to the Control API. Use this to: - Create API keys for automation scripts - Generate keys for CI/CD pipelines - Provide keys to team members or services The generated key (bb_sk_...) can be used to: - Access all MCP tools programmatically - Call the Control API directly - Manage apps, schemas, functions, and data Example: Input: { action: "generate_service_key", name: "CI/CD Pipeline Key" } Output: { key: "bb_sk_a1b2c3d4e5f6...", key_id: "uuid-1234", prefix: "bb_sk_a1b2c3", name: "CI/CD Pipeline Key", created_at: "2024-01-15T10:00:00Z" } IMPORTANT: The full key is only shown ONCE. Store it securely - it cannot be retrieved again. Common errors: - AUTH_INSUFFICIENT_PERMISSIONS: Only authenticated users can generate keys Idempotency: Not idempotent - creates a new key each time. Security notes: - Keys have full access to all your apps and data - Treat keys like passwords - never commit them to git - Revoke keys immediately if compromised - Use descriptive names to track key usage Example — with substrate access: Input: { action: "generate_service_key", name: "Agent Key", substrate_access: true } Output: { key: "bb_sk_a1b2c3d4e5f6...", key_id: "uuid-1234", prefix: "bb_sk_a1b2c3", name: "Agent Key", created_at: "2024-01-15T10:00:00Z" } Note: key works on app endpoints AND on substrate endpoints for this account. ### generate_service_key (app-scoped, for function impersonation) Input: { app_id: "app_abc123", action: "generate_service_key", name: "My Function Caller", key_scope: "app" } Output: { key: "bb_sk_...", scopes: ["app:app_abc123", "ai:gateway"], ... } Use the returned key with the X-Butterbase-As-User header to invoke auth:required functions. ### generate_service_key (account-scoped, default) Input: { action: "generate_service_key", name: "Platform Admin" } Output: { key: "bb_sk_...", scopes: ["*"], ... } Use for AI gateway, integrations, control-API surfaces.
    Connector
  • $0.002 via x402: decode any transaction by hash into a plain-English explanation — what actually happened (a swap, transfer, approval, mint, or contract call), who the actors are, and the full list of asset changes (every native coin and token in/out with symbol, amount and direction), plus status, fee and the decoded method. The read agents make to UNDERSTAND a tx, not just confirm it landed: for wallet UX, accounting, risk, dispute and trading agents. Across Base, Ethereum, Optimism, Arbitrum, Polygon, Gnosis. Live from Blockscout; one paid call instead of running your own indexer + ABI decoder.
    Connector
  • Score a password's strength (zxcvbn-style). Pass ?password=... as query. Use for security UX agents. Example call: {"query_string": "password=Tr0ub4dor&3"} Cost: $0.005–$0.05 USDC on Base per call.
    Connector
  • List the most recent CanaryUsers UX scans for your account (id, URL, CanaryScore, grade, status, date). Use this to find a scan to dig into.
    Connector