Communitygithub.com

amplitude/builder-skills

Instrumente um servidor MCP Node/TypeScript com o SDK @amplitude/mcp-analytics para que chamadas de ferramentas, sessões e justificativas sejam rastreadas como eventos do Amplitude.

O que é builder-skills?

Esta skill configura um servidor MCP (Model Context Protocol) para que toda chamada de ferramenta, sessão e justificativa (rationale) seja automaticamente enviada como um evento Amplitude, permitindo unir esses dados de agentes de IA (como Claude, Cursor, ChatGPT) com o restante da telemetria do produto (web, mobile, retenção, receita). É útil para engenheiros que querem adicionar analytics a qualquer servidor MCP Node/TypeScript baseado no @modelcontextprotocol/sdk. A skill guia por quatro etapas: instalação do SDK e rastreamento de chamadas de ferramenta (obrigatório), configuração de identidade para alinhar user_ids entre MCP e outros canais, captura de justificativa via campo opcional no schema (recomendado) e UTM tagging de links retornados pelo servidor (recomendado se houver URLs). A referência principal é o README oficial do pacote @amplitude/mcp-analytics, que evolui rapidamente em preview, e a skill sempre instrui a buscá-lo atualizado para comandos de instalação, APIs e eventos padrão. Além disso, alerta sobre armadilhas comuns como versões fixadas, ordem errada de instrumentação ou user_ids inconsistentes.

Funciona com✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/amplitude/builder-skills/tree/HEAD/engineering-skills/skills/instrument-mcp-server

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Configuração de Analytics MCP com Amplitude

Instrumenta um servidor MCP para que cada chamada de ferramenta se torne um evento Amplitude, unificável com o restante dos dados Amplitude do produto (retenção, receita, uso web/mobile).

A referência autoritativa do SDK é o README do pacote: https://github.com/amplitude/Amplitude-MCP-Analytics-Node (npm: @amplitude/mcp-analytics). O SDK está em preview e evolui rapidamente — sempre busque o README mais recente e siga-o para instalação, formas das APIs, configuração e eventos padrão. Não confie em trechos memorizados ou resumos desta skill para detalhes da API do SDK; o README prevalece em caso de conflito.

Há quatro etapas. As etapas 1–2 são obrigatórias e estão documentadas no README — esta skill informa quais seções seguir e quais invariantes verificar. As etapas 3–4 são fortemente recomendadas e estão documentadas aqui por completo, pois exigem alterações fora do SDK (os esquemas de ferramentas do servidor e o aplicativo web do produto) que o README do SDK propositalmente não cobre.

Faça-as em ordem: Etapa 1 (chamadas de ferramenta) → Etapa 2 (identidade) → Etapa 3 (justificativa) → Etapa 4 (UTM, apenas se o servidor retornar links). Acerto a identidade antes de considerar qualquer coisa "pronta" — tudo que depende dela vem depois.

Antes de começar

Confirme:

  1. Este é um servidor MCP Node/TypeScript construído em @modelcontextprotocol/sdk. Este SDK não suporta outras linguagens/runtimes.
  2. O usuário tem (ou pode obter) uma chave de API Amplitude para o projeto onde os eventos devem chegar.
  3. Qual gerenciador de pacotes o repositório usa (pnpm/npm/yarn) — ajuste o comando de instalação de acordo.

Etapa 1 — Instalar o SDK e rastrear chamadas de ferramenta (obrigatório)

Busque o README e siga as seções Instalação e Início rápido. Sempre instale a versão mais recente publicada (ex.: pnpm add @amplitude/mcp-analytics@latest) — nunca fixe uma versão de memória, e não reproduza comandos de instalação desta skill.

Invariantes a verificar após a integração (o README explica cada uma):

  • analytics.instrumentServer(server, ...) é executado antes de server.connect() — a ordem importa.
  • Toda função manipuladora de ferramenta é envolvida com analytics.instrumentTool(). Ferramentas não envolvidas não são rastreadas. O envoltório tem a mesma forma do manipulador e é um pass-through sem efeito se o servidor nunca foi vinculado, portanto é seguro envolver defensivamente.
  • Todos os eventos padrão carregam o prefixo [MCP] , para que nunca colidam com eventos Amplitude existentes do produto. Consulte a tabela Eventos padrão no README (e docs/events.md no repositório) para o conjunto atual de eventos e propriedades.

Opcional: anexe dimensões personalizadas estáveis (plano, equipe, feature flags) via extra em instrumentTool/instrumentServer — veja a seção Propriedades de evento personalizadas no README.

Etapa 2 — Acerto a identidade (obrigatório, faça antes de considerar a Etapa 1 "pronta")

Os eventos MCP devem carregar o mesmo user_id que o produto já envia para o Amplitude via web/mobile. Pule isso e o uso do MCP aparecerá como uma população desconectada que não pode ser unida aos dados do produto — isso anula a maior parte do propósito da integração.

Siga a seção Identidade do README para a API atual: ela oferece vinculação no nível do servidor, setIdentity() por requisição dentro de um manipulador, e um mapeamento resolveIdentity opcional baseado nas claims authInfo da requisição. Escolha o que melhor se adequa ao modelo de autenticação do servidor.

Um comportamento a sinalizar ao usuário: eventos totalmente anônimos, sem âncora, são descartados por padrão (não contados como usuários) a menos que explicitamente optados via emitAnonymousEvent: true para rastreamento apenas agregado — pergunte antes de ativar isso, pois altera o que é contado.

Etapa 3 — Capturar justificativa (recomendado)

Diferente de um humano clicando em um botão, um agente pode dizer por que chamou uma ferramenta. Capturar isso transforma os dados de "o que aconteceu" para "o que o usuário estava tentando fazer".

O lado do SDK é uma chamada (analytics.setRationale(...) — veja a seção Justificativa no README), mas o SDK nunca lê a justificativa diretamente das entradas da ferramenta: como a justificativa chega ao servidor é uma convenção do lado do servidor que esta skill implementa. O padrão testado é a injeção no schema — adicione um campo rationale opcional ao schema de entrada de toda ferramenta. Como o parâmetro é descrito no schema que os agentes já leem, eles o preenchem sem serem solicitados, em todos os clientes, sem alterações no lado do cliente:

// Adicione ao schema de entrada de toda ferramenta (exemplo com zod):
rationale: z
  .string()
  .optional()
  .describe(
    'Breve explicação de por que você está chamando esta ferramenta e o que ' +
    'espera aprender com o resultado.',
  ),

Depois leia dentro do manipulador instrumentado e passe para o SDK:

analytics.instrumentTool(async (args, extra) => {
  if (typeof args.rationale === 'string') {
    analytics.setRationale(args.rationale);
  }
  return doWork(args);
}, { name: 'search' });

Tornar o campo opcional significa que nada quebra quando um agente o omite. Ele é emitido como a propriedade reservada [MCP] Rationale (truncada a 1.000 caracteres; a última escrita vence). Vale a pena fazer em todas as ferramentas, não apenas em uma amostra.

Etapa 4 — Adicionar tags UTM a links externos (recomendado, apenas se o servidor retornar URLs)

Esta etapa está inteiramente fora do SDK — ela altera como o servidor constrói URLs e depende da análise web do lado do produto. Ela não é coberta no README do SDK.

Se a resposta de alguma ferramenta incluir um link (painel, documento, página de produto), marque-o com UTM antes de deixar o servidor para que os cliques sejam atribuíveis ao tráfego MCP/agente em vez de aparecerem como diretos:

function addUtmParams(url: string, clientName?: string): string {
  const u = new URL(url);
  u.searchParams.append('utm_source', 'mcp');
  u.searchParams.append('utm_medium', 'referral');
  // O cliente conectado (ex.: "Claude", "Cursor"), se conhecido:
  u.searchParams.append('utm_content', clientName ?? 'unknown');
  return u.toString();
}

Direcione todo caminho de construção de URL nas respostas das ferramentas por uma única função central como esta — um único link sem tag quebra a história de atribuição para aquele fluxo.

Pré-requisito (diga isso ao usuário explicitamente): isso só funciona se a análise web deles capturar parâmetros UTM em eventos de visualização de página (ou qualquer evento que seu site dispare ao carregar). O SDK Browser 2 do Amplitude faz isso por padrão — veja Rastrear atribuição de marketing (parâmetros UTM, referenciador e ID de clique são capturados nativamente). Se eles usam um rastreador de visualização de página personalizado, precisam confirmar que os valores UTM também chegam nesses eventos, caso contrário não há com o que unir os cliques marcados pelo MCP.

Documentação relevante do Amplitude:

Após a instrumentação

Assim que os eventos estiverem fluindo, aponte um agente de codificação para a skill publicada analyze-mcp-server do Amplitude para executar agrupamento de intenções e identificar padrões de erro de chamada de ferramenta por intenção. (Se este projeto tiver a skill mcp-intent-error-analysis instalada, essa é a certa — use-a quando o usuário já tiver dados fluindo e quiser analisá-los, em vez de duplicar essa análise aqui.)

Erros comuns a sinalizar

  • Seguir trechos de API desatualizados em vez do README atual — busque-o fresco; o SDK está em preview e muda rapidamente.
  • Instalar uma versão fixada/mais antiga em vez da versão mais recente.
  • Chamar instrumentServer() depois de server.connect() — deve ser antes.
  • Envolver alguns manipuladores de ferramenta, mas não outros — toda ferramenta precisa de instrumentTool.
  • Enviar um user_id que não corresponde ao usado em web/mobile — quebra a unificação, o objetivo central da integração.
  • Ativar emitAnonymousEvent: true sem que o usuário entenda que isso infla contagens agregadas com tráfego sem âncora.
  • Esquecer o pré-requisito UTM (captura no lado web) e assumir que marcar links com tags é suficiente.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

amplitude/builder-skills

Performs deep analysis of a specific Amplitude chart to explain trends, anomalies, and likely drivers. Use when a metric looks unusual, investigating a spike or drop, or understanding the "why" behind numbers.

amplitude/builder-skills

Deeply analyze Amplitude dashboards by analyzing key charts, surfacing top areas for concern and takeaways, identify anomalies, then explain changes using customer feedback trends.

amplitude/builder-skills

Designs A/B tests with proper metrics and variants, analyzes running or completed experiments, and interprets results with statistical rigor. Use when setting up experiments, checking experiment status, analyzing results, or making ship decisions.

amplitude/builder-skills

Synthesizes customer feedback into actionable themes including feature requests, bugs, pain points, and praise. Use when planning product roadmap, understanding user sentiment, investigating specific issues, or preparing voice-of-customer reports.

amplitude/builder-skills

Analyze MCP server usage instrumented with Amplitude's MCP Analytics SDK: break usage and errors down by tool, read the rationales within each tool to see what callers are trying to do, and produce a prioritized write-up of actionable fixes. Use this skill whenever the user asks to understand how their MCP server is being used, what agents/users are trying to do with it, why tool calls are failing, what to fix or improve in their MCP server, or asks for an "MCP usage report", "tool error analysis", "intent analysis", "rationale clustering", or "MCP insights". Also trigger when the user mentions [MCP]-prefixed events, tool rationale, tool call errors, or just finished instrumenting their MCP server and wants to see what the data says. Requires the Amplitude MCP connector.

amplitude/builder-skills

Read lost deals and churned accounts from your CRM, extract reasons clustered by theme (missing features, pricing, competitors, UX), and write a prioritized weekly analysis with product improvement recommendations. Use before roadmap planning or to build the case for prioritizing retention work.

amplitude/builder-skills

Creates Amplitude charts from natural language descriptions, handling event selection, filters, groupings, and visualization choices. Use when you know what you want to measure but prefer not to build the chart manually.

amplitude/builder-skills

Guide an Amplitude user through building a custom agent by suggesting use cases grounded in their role and data, shaping the idea into a well-formed spec, and generating a ready-to-run Global Agent deeplink that creates it. Use to create, build, or set up a custom agent, automate a recurring analysis, or put a repeated report on a schedule.

amplitude/builder-skills

Builds comprehensive Amplitude dashboards from requirements or goals, organizing charts into logical sections with appropriate layouts. Use when creating a complete dashboard from scratch or assembling existing charts into a cohesive view.

amplitude/builder-skills

Monitors all active and recently completed experiments across Amplitude projects, triages them by importance, then runs deep analysis and reporting on the most impactful ones. Use when the user asks to "check on experiments", "experiment status", "experiment review", "what experiments are running", or wants a periodic experiment health report.

amplitude/builder-skills

Pull Intercom tickets and Slack support messages from the past 7 days, classify each signal, enrich with CRM data (ARR, plan, renewal), score by customer value and churn risk, and output a tiered priority report saved to Drive. Use when you need a fast, data-driven view of what support signals matter most.

amplitude/builder-skills

Use this skill whenever a user wants to improve existing pages on their website to get cited more by AI models — whether they say "our pages aren't getting cited", "improve this page for AI visibility", "which of our pages should we update", "make this article more cite-worthy", "our competitors are getting cited instead of us", "update our content for AI search", or any variation where the goal is improving an existing asset rather than creating something new. This skill pulls owned pages from AI Visibility, identifies which ones have citation potential but are underperforming, compares them against the external pages that are winning citations on the same topics, and produces section-level rewrites or a full-page update — then pushes the revision to the CMS as a draft. Trigger even if the user just says "help me get cited more" or "why is [competitor] getting cited instead of us".

amplitude/builder-skills

Use this skill whenever a user wants to win AI citations on prompts that competitors currently dominate — whether they say "competitors are getting cited instead of us", "we're losing on these prompts", "how do I outrank [competitor] in AI answers", "find prompts where we should be winning", "create content to beat [competitor]", or any variation where the goal is capturing AI share on prompts a competitor currently owns. This skill pulls competitor visibility data from AI Visibility, identifies the specific prompts where competitors win and Amplitude is absent, clusters them by intent, and produces targeted comparison pages, alternatives content, or rebuttal assets — then pushes drafts to CMS. Trigger on any mention of competitor, prompt hijack, outrank, or "why is [competitor] getting cited instead of us".

amplitude/builder-skills

Use this skill whenever a user wants to turn AI Visibility data into published content — whether they say "find content gaps", "what should we write about", "which topics have low visibility", "help me get cited by AI models", "create a blog post from our AI Visibility gaps", "we're losing to competitors on these prompts", or any variation where they want to go from AI visibility weakness to a draft article, landing page, or FAQ. This skill connects directly to Amplitude AI Visibility data (topics, prompts, visibility scores, citations, competitor data, full LLM responses and sources) and produces a publish-ready content brief plus full article draft. If the user mentions CMS (WordPress, Webflow, Contentful, Sanity, HubSpot, Ghost, Shopify), also trigger this skill to push the draft directly. Trigger even if they just say something vague like "what content should we create?" in an AI Visibility context.

amplitude/builder-skills

Use this skill whenever a user wants to test content variants before publishing to find which one will get cited most by AI models — whether they say "which version of this content will perform better", "test this article before we publish", "simulate how AI will respond to this content", "which angle should we use", "generate content variants and pick the winner", "run a simulation before publishing", or any variation where the goal is data-driven content selection rather than gut-feel publishing. This skill takes an identified content opportunity, generates 2–3 distinct variants with different angles or structures, scores them against actual AI model responses from AI Visibility, references the Simulate Changes feature for pre-publish validation, and produces a clear recommendation on which variant to publish — then pushes the winner to CMS. Trigger on any mention of "simulate", "test variants", "which performs better", "A/B content", or "before we publish".

amplitude/builder-skills

Use this skill whenever a user wants to understand which external sources are being cited by AI models on topics relevant to their brand, and wants to create content that will outrank those sources — whether they say "what sources are AI models citing", "why is [third-party site] being cited instead of us", "we want to be the definitive source on X", "build something that gets cited more than G2 or TechRadar", "create an authoritative asset", or any variation where the goal is producing a new reference asset (definition page, benchmark, methodology, glossary, comparison hub) designed to beat existing top-cited sources. This skill analyzes AI Visibility source data, reverse-engineers what makes top-cited pages authoritative, and produces a superior source asset — then pushes it to CMS as a draft. Trigger on any mention of "sources", "third-party citations", "authoritative content", "definitional pages", or "outrank".

amplitude/builder-skills

Instruments a pull request with Amplitude analytics that conform to the project's existing taxonomy. Reads the tracking plan via the Amplitude MCP server (events, properties, naming conventions), analyzes the PR diff to find the few user actions genuinely worth tracking, detects the codebase's SDK and tracking patterns, and adds instrumentation that matches both. Optionally (opt-in) stages new events and properties on an Amplitude tracking-plan branch for data-governance review. Use when asked to "instrument this PR", "add analytics to this change", "add tracking", "add Amplitude events", "instrument this feature", or "what should I track here".

amplitude/builder-skills

Diagnoses product health by cross-referencing Amplitude analytics (dashboards, charts, funnels, feedback, AI agent analytics), optionally Datadog (errors, latency, stack traces), and optionally Slack (qualitative feedback, bug reports, feature requests). Identifies what's broken, what's working, and what to do about it — with root causes, not just symptoms. Use when asked to "diagnose my product", "what's going on", "product health check", "what's broken", "where are users struggling", "give me a product diagnosis", or "what should I focus on".

amplitude/builder-skills

Turn one or more meeting transcripts, notes, or Slack threads into concise takeaways and clear action items with DRIs. Works with a single meeting or a batch from the whole week.

amplitude/builder-skills

Summarizes B2B account health by analyzing usage patterns, engagement trends, risk signals, and expansion opportunities. Use for customer success reviews, renewal preparation, QBRs, or account prioritization.

Habilidades Relacionadas