Documentation Index
Fetch the complete documentation index at: https://docs.synkrony.ai/llms.txt
Use this file to discover all available pages before exploring further.
O Model Context Protocol é uma forma organizada de estruturar as informações que enviamos para modelos de linguagem (LLMs), permitindo que nos comuniquemos de maneira mais eficiente e consistente.
Ele funciona como se fosse uma API para LLMs.
O Synkrony utiliza o SDK oficial do Ruby para MCP (modelcontextprotocol/ruby-sdk), mantido oficialmente pela Anthropic e Shopify.
Ideação para o Synkrony
A ideia é que você consiga, por meio da sua LLM predileta, organizar e obter informações de um projeto no Synkrony de maneira mais eficiente.
Como usar?
1. Criar uma chave de API
Primeiro, crie uma chave de API seguindo o guia de Configuração de Tokens de API.
2. Configurar o MCP
Escolha uma das opções abaixo para conectar o MCP do Synkrony com sua LLM:
Opção A: Claude Code (Recomendado)
Para produção, use o endpoint de produção:
claude mcp add --scope user --transport http synkrony https://app.synkrony.ai/mcp/messages --header "Authorization: Bearer SEU-TOKEN-AQUI"
Opção B: Windsurf / Cursor
Crie ou edite o arquivo mcp_config.json:
{
"mcpServers": {
"synkrony": {
"transport": {
"type": "http",
"url": "https://app.synkrony.ai/mcp/messages",
"headers": {
"Authorization": "Bearer SEU-TOKEN-AQUI"
}
}
}
}
}
Endpoint MCP: POST https://app.synkrony.ai/mcp/messages
Recursos e Ferramentas Disponíveis
O MCP do Synkrony oferece dois tipos de capacidades:
Resources (Dados que podem ser lidos)
Team Resource
- URI:
synkrony://team
- Descrição: Lista todos os membros ativos da equipe disponíveis para atribuição de tarefas
- Filtros:
page, limit (paginação)
Tasks Resource
- URI:
synkrony://tasks
- Descrição: Lista e filtra tarefas com ordenação inteligente e sugestões de próximas ações
Filtros disponíveis via Query String:
user_name - Filtrar por responsável
sprint_name - Filtrar por sprint
project_name - Filtrar por projeto
project_module_name - Filtrar por módulo do projeto
status_name - Filtrar por status
task_summary - Buscar por texto no nome da tarefa
next_tasks_only - Apenas tarefas da sprint atual em andamento
future_sprint_task - Apenas tarefas de sprints futuras
only_important - Apenas tarefas com prioridade alta
order_by - Ordenar por: priority, created_at, updated_at, position, name
order_direction - Direção: asc ou desc
page, limit - Paginação
Exemplos de uso com Query String:
# Filtrar por sprint específica
synkrony://tasks?sprint_name=Sprint%201677
# Filtrar por projeto e status
synkrony://tasks?project_name=Synkrony&status_name=Done
# Apenas tarefas importantes da sprint atual
synkrony://tasks?next_tasks_only=true&only_important=true
# Buscar por texto no nome
synkrony://tasks?task_summary=MCP
# Ordenar por prioridade descendente
synkrony://tasks?order_by=priority&order_direction=desc
Resource Templates Disponíveis:
O servidor também expõe Resource Templates para consultas comuns. Use o método resources/templates/list para descobrir os templates disponíveis:
synkrony://tasks?sprint_name={sprint_name} - Filtrar por sprint
synkrony://tasks?project_name={project_name} - Filtrar por projeto
synkrony://tasks?sprint_name={sprint_name}&project_name={project_name} - Sprint e projeto
synkrony://tasks?next_tasks_only=true - Tarefas da sprint atual
synkrony://tasks?status_name={status_name} - Filtrar por status
synkrony://tasks?user_name={user_name} - Filtrar por responsável
Os clientes MCP podem usar esses templates substituindo os valores entre { } pelos valores desejados.
- Uso:
create_tasks - Cria novas tarefas
- Parâmetros:
name (obrigatório) - Nome da tarefa
project_name (obrigatório) - Nome do projeto
description - Descrição da tarefa
sprint_name - Nome da sprint
project_module_name - Nome do módulo do projeto
status - Status: Backlog, Ongoing, Done
priority - Prioridade: high, medium, low
estimate - Estimativa em horas (não pode ser zero ou negativo)
assignee_names - Array de nomes dos responsáveis: ["João Silva", "Maria Santos"]
tags - Array de tags: ["frontend", "urgente"]
- Uso:
edit_tasks - Edita tarefas existentes
- Parâmetros:
id (obrigatório) - ID da tarefa a editar
- Mesmos parâmetros do
CreateTasksTool, mas todos são opcionais exceto id
Agente de Planejamento de Tarefas
Nosso MCP foi criado com o intuito de facilitar o planejamento de tarefas na sprint via chatbot. A ideia é que, em breve, teremos uma interface integrada à plataforma, mas por enquanto é possível escrever um prompt para planejar a sprint:
Você é um assistente que ajuda a planejar sprints para equipes de software usando o Synkrony.
O usuário irá descrever suas necessidades em linguagem natural.
Você deve extrair os seguintes campos da conversa:
- sprint_name (nome da sprint)
- team: lista de pessoas que serão alocadas nas tarefas, suas áreas de foco e sua capacidade em horas na sprint
- priority_areas (qual será o foco da equipe nesta sprint)
## Recursos e Ferramentas MCP Disponíveis
Use os seguintes recursos e ferramentas do Synkrony para o planejamento de sprints:
### 1. Team Resource
- **URI**: `synkrony://team`
- **Uso**: Leia este recurso para obter a lista de todos os membros ativos da equipe disponíveis para atribuição de tarefas
- **Filtros**: `page`, `limit` (para paginação)
### 2. Tasks Resource
- **URI**: `synkrony://tasks`
- **Uso**: Leia este recurso para listar e filtrar tarefas existentes
- **Filtros úteis**:
- `sprint_name` - Filtrar por sprint específica
- `project_name` - Filtrar por projeto
- `user_name` - Filtrar por responsável
- `status_name` - Filtrar por status
- `next_tasks_only` - Apenas tarefas em andamento da sprint atual
### 3. CreateTasksTool
- **Uso**: Chame esta ferramenta para criar novas tarefas com nome, descrição, projeto, sprint, responsáveis, estimativas e tags
### 4. EditTasksTool
- **Uso**: Chame esta ferramenta para editar tarefas existentes (requer ID da tarefa) para atualizar qualquer campo
## Processo de Planejamento
1. Seu primeiro objetivo é completar o JSON com a estrutura de resposta:
- **Comece lendo o recurso `synkrony://team`** para obter a equipe disponível.
- **Leia o recurso `synkrony://tasks`** com filtros apropriados para ver as tarefas existentes do projeto/sprint.
- Popule o JSON com os campos necessários, perguntando ao usuário conforme necessário.
2. Depois que o JSON estiver pronto, valide com o usuário antes de editar/criar as tarefas necessárias.
3. Use `create_tasks` para criar novas tarefas ou `edit_tasks` para editar tarefas existentes.
## Estrutura do JSON
{
"ready": true,
"sprint_name": "Nome da Sprint",
"team": [
{"name": "Nome", "hours_per_person": "X", "skill_focus": "Área"},
...
],
"priority_areas": ["Área1", "Área2", ...]
}
## Regras Adicionais
- Priorize tarefas com um único responsável sempre que possível.
- Permita, no máximo, dois responsáveis por tarefa.
- Use os nomes das sprints do Synkrony para manter a consistência.
- Sempre verifique tarefas existentes antes de criar novas.
- Mantenha as estimativas realistas, baseadas na capacidade da equipe.