PM Copilot MCP
Allows reading Google Meet transcripts stored as Google Docs in Google Drive.
Integrates with Google Meet to access meeting transcripts via Google Drive.
Enables creating and listing issues, teams, and tasks in Linear with deduplication.
Allows posting messages to channels and sending direct messages to users by email.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PM Copilot MCPAnalyze last product review meeting and create tasks for action items"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PM Copilot MCP
Servidor MCP para times de produto — sem nenhuma API key de LLM. Roda como app Next.js na Vercel e expõe, via Model Context Protocol (Streamable HTTP), as integrações do dia a dia de PMs e PDs: transcrições do Google Meet, criação de tasks no Linear com dedupe, mensagens e DMs no Slack, e um digest semanal automático via cron.
A inteligência fica no cliente: quando conectado ao Claude, é o próprio Claude que lê a transcrição (via tools deste servidor) e produz a síntese, os action items e o parecer de produtividade — seguindo a metodologia embarcada no servidor (prompt analisar_reuniao / tool get_analysis_method). O digest semanal do cron é 100% determinístico (TypeScript puro), então roda sozinho sem custo de LLM.
Arquitetura
Claude.ai (conector MCP) Vercel Cron (segunda, 9h BRT)
│ ← a análise acontece aqui │
▼ ▼
/api/mcp (mcp-handler) /api/cron/weekly-digest
│ │ (formatador determinístico,
├── Google Drive (transcrições do Meet) │ lib/digest.ts — sem LLM)
├── Linear GraphQL (issues) ◄──────────────────┤
└── Slack Web API (canal + DMs) ◄──────────────┘Related MCP server: Meeting Automation MCP Server
Tools e prompts expostos
Nome | Tipo | O que faz |
| prompt | Fluxo guiado: localiza a transcrição, lê e aplica a metodologia de análise |
| tool | Lista transcrições recentes do Meet no Drive |
| tool | Retorna o texto completo de uma transcrição |
| tool | Metodologia padrão de análise (síntese, decisões, action items, score 0-100) |
| tool | Lista os times do workspace Linear |
| tool | Cria issues em lote com dedupe por título |
| tool | Issues abertas por time (dono, estado, prazo) |
| tool | Posta em canal |
| tool | DM individual a partir do e-mail |
| tool | Gera e posta o digest sob demanda ( |
O parecer de produtividade avalia 5 critérios: propósito claro, decisões tomadas, action items com dono, participação equilibrada e "poderia ter sido assíncrona?". Score parte de 100 e desconta por critério falho; sem decisões nem donos, o teto é 40.
Setup
1. Clonar e instalar
git clone <seu-repo>
cd pm-copilot-mcp
npm install
cp .env.example .env2. Google (transcrições do Meet)
O Meet salva transcrições como Google Docs no Drive do organizador. O servidor lê via Drive API com OAuth refresh token:
No Google Cloud Console, crie um projeto e ative a Google Drive API.
Em APIs & Services → Credentials, crie um OAuth client ID (tipo "Web application") com redirect URI
https://developers.google.com/oauthplayground.No OAuth Playground: engrenagem → "Use your own OAuth credentials" → cole client ID/secret. Autorize o escopo
https://www.googleapis.com/auth/drive.readonlye troque o code por tokens.Copie o refresh token para
GOOGLE_REFRESH_TOKEN, junto comGOOGLE_CLIENT_IDeGOOGLE_CLIENT_SECRET.
Importante: habilite a transcrição nas reuniões (Meet → Atividades → Transcrição) — só assim o doc é gerado no Drive.
3. Linear
Em Linear → Settings → Security & access → Personal API keys, crie uma key e preencha LINEAR_API_KEY.
4. Slack
Crie um app em https://api.slack.com/apps ("From scratch").
Em OAuth & Permissions → Bot Token Scopes, adicione:
chat:write,users:read,users:read.email,im:write.Instale o app no workspace e copie o Bot User OAuth Token (
xoxb-...) paraSLACK_BOT_TOKEN.Convide o bot para o canal do digest:
/invite @seu-bot.
5. Segurança (leia antes de publicar)
Este servidor tem poder de escrita no seu Slack e no seu Linear, e leitura no seu Drive. Um MCP "público" sem autenticação significa que qualquer pessoa que descobrir a URL pode usar essas credenciais.
Defina
MCP_AUTH_TOKENcom um valor longo e aleatório (openssl rand -hex 32). O endpoint passa a exigirAuthorization: Bearer <token>.Defina
CRON_SECRET— a Vercel injeta esse header nos crons e o endpoint rejeita chamadas sem ele.Observação sobre o Claude.ai: conectores customizados na interface autenticam via OAuth ou sem auth; header Bearer estático é suportado ao usar o servidor via API (
mcp_serverscomauthorization_token). Se você for conectar pela interface do Claude.ai sem OAuth, mantenha a URL secreta, monitore os logs da Vercel e considere implementar OAuth (o pacotemcp-handlertem suporte experimental viawithMcpAuth). Verifique o comportamento atual em https://support.claude.com.
6. Deploy na Vercel
git init && git add -A && git commit -m "feat: PM Copilot MCP"
git remote add origin <seu-repo>
git push -u origin mainNa Vercel: Add New → Project → importe o repo → configure todas as variáveis do .env.example em Settings → Environment Variables → deploy. O cron do vercel.json (0 12 * * 1 = segunda 9h em Brasília) é registrado automaticamente.
Seu endpoint MCP será: https://<seu-projeto>.vercel.app/api/mcp
7. Conectar no Claude
No Claude.ai: Settings → Connectors → Add custom connector → cole a URL do endpoint. A partir daí, prompts como estes funcionam de ponta a ponta:
"Liste as transcrições dessa semana e analise a Weekly de Produto de ontem."
"Crie no time PROD as tasks dessa análise, atribuídas pelos e-mails, e mande DM pra cada dono com os itens."
"Rode o digest semanal em dry run pra eu revisar antes de postar no #produto."
Usando dentro do Slack
Há duas formas de acionar o sistema sem sair do Slack:
1. Slash command /copilot (nativo, sem LLM, qualquer plano). No seu app do Slack (api.slack.com/apps): Slash Commands → Create New Command → Command /copilot, Request URL https://<seu-projeto>.vercel.app/api/slack/commands. Depois copie o Signing Secret (em Basic Information) para a env var SLACK_SIGNING_SECRET. Comandos:
/copilot digest PROD— posta o digest do time no canal atual/copilot tarefas PROD— lista as issues abertas (visível só pra você)/copilot task "Revisar PRD do checkout" ana@empresa.com 2026-07-24 PROD— cria issue no Linear com dedupe (título entre aspas obrigatório; e-mail, prazo e time são opcionais)/copilot times— lista os times do Linear/copilot ajuda— mostra os comandos
Se omitir o time, usa DIGEST_LINEAR_TEAM como padrão.
2. Claude no Slack (com LLM, linguagem natural). Instale o app oficial do Claude pelo Slack Marketplace e autentique com sua conta Claude; para times Claude Team/Enterprise, o Claude Tag entra como membro do canal e pode usar as ferramentas conectadas à organização — incluindo este MCP. Aí "@Claude analisa a weekly de ontem e cria as tasks" funciona direto no canal. Verifique disponibilidade e requisitos do seu plano em https://support.claude.com.
Digest semanal automático
Toda segunda o cron: (1) lê as issues abertas de DIGEST_LINEAR_TEAM, (2) formata o resumo deterministicamente — panorama, atrasadas, itens por pessoa, issues sem dono — e (3) posta em DIGEST_SLACK_CHANNEL. Se DIGEST_DM_ASSIGNEES=true, envia também DM individual com os itens de cada pessoa.
Para testar sem esperar segunda-feira: curl -H "Authorization: Bearer $CRON_SECRET" https://<seu-projeto>.vercel.app/api/cron/weekly-digest
Roadmap sugerido
Digest com narrativa: se um dia quiser um digest escrito por LLM em vez do template, basta plugar a Anthropic API no cron (a versão determinística continua como fallback).
Webhook do Drive: notificar no Slack assim que uma nova transcrição aparecer.
Métricas agregadas: histórico do score de produtividade das reuniões ao longo do tempo.
OAuth no MCP: substituir o Bearer estático por OAuth 2.1 para conexão segura direto pela interface do Claude.ai.
Stack
Next.js 15 (App Router) · mcp-handler · Google Drive API v3 · Linear GraphQL · Slack Web API · Vercel Cron
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityAmaintenanceA Model Context Protocol server that enables AI assistants to interact with Linear project management systems, allowing users to retrieve, create, and update issues, projects, and teams through natural language.1003,712145MIT
- Alicense-qualityDmaintenanceOrchestrates Fireflies, Asana, and Notion MCP servers to automate end-to-end meeting workflows. Enables users to search meetings, extract action items, create tasks, and generate meeting documentation through natural language commands.MIT
- Alicense-qualityDmaintenanceAI-native productivity backend that gives your AI assistant persistent memory, pattern awareness, and computed intelligence about your work. 14 MCP tools for task management, daily planning, weekly review, and personal context.MIT
- Flicense-qualityDmaintenanceIntegrates AI assistants with product management tools like Linear and Slack, providing specialized agents for discovery, strategy, prioritization, roadmap planning, and metrics definition via the Model Context Protocol.1
Related MCP Connectors
One shared context your team's AI tools read & write over MCP. No re-explaining. Free.
User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/smarjorie/pm-copilot-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server