Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
memory.change.proposeC

Cria um preview server-side; não grava uma memória ativa.

memory.change.getC

Obtém exatamente o preview que será aprovado.

memory.change.rollbackC

Cria proposta de rollback; nunca reativa a revisão histórica diretamente.

memory.pr.createA

Cria memória a partir de um Pull Request (PR + work item linkados).

Use when: persistir o que um PR mudou e por quê; ligar PR a work item. Do NOT use for: regra/decisão genérica (memory.upsert); evento sem PR (memory.episode.create). pr_url e work_item_url são obrigatórios. Example: memory.pr.create(project='DecisionsSearch', repo='org/repo', pr_number=42, title='Add HyDE', summary='...', changed_files=[...], pr_url='...', work_item_url='...').

memory.pr.queryC

Consulta memórias de PR por projeto, repo ou arquivo alterado.

memory.pr.link_memoryB

Liga um PRMemory a um MemoryItem (IMPLEMENTS, EVIDENCES, MODIFIES).

memory.pr.linked_memoriesC

Lista MemoryItems linkados a um PR.

memory.linked_prsC

Lista PRs linkados a um MemoryItem.

graph.catalog.export_csvC

Exporta catálogo do grafo como bundle CSV.

graph.catalog.import_csvC

Importa catálogo do grafo a partir de bundle CSV.

graph.project.createC

Cria um novo projeto no catálogo do grafo.

graph.project.updateC

Atualiza dados de um projeto existente no catálogo.

graph.project.listA

Lista todos os projetos do catálogo.

graph.category.createC

Cria uma nova categoria no catálogo do grafo.

graph.category.updateC

Atualiza dados de uma categoria existente no catálogo.

graph.domain.createC

Cria um novo domínio no catálogo do grafo.

graph.domain.updateC

Atualiza dados de um domínio existente no catálogo.

graph.relation.createC

Cria relação entre dois nós do catálogo do grafo.

graph.relation.deleteC

Remove relação entre dois nós do catálogo do grafo.

memory.manual.createA

Cria memória estruturada com categoria explícita (DesignRule, BusinessRule, ArchitecturalDecision, DesignPattern).

Use when: o usuário dá uma regra/decisão/padrão já classificável e você sabe a categoria. Do NOT use for: salvar rápido sem categoria (memory.upsert); PR (memory.pr.create); passo-a-passo (memory.procedure.create); evento (memory.episode.create). ArchitecturalDecision exige alternatives_considered. Example: memory.manual.create(project='ExampleProject', category='DesignRule', title='Cache key', summary='pj:cache:{tenant}:{entity}'). Omit project to derive it from the agent workspace folder.

memory.queryA

Busca semântica + grafo de memórias de um projeto (o jeito padrão de RECUPERAR).

Use when: responder "como/por que/qual" sobre um projeto; recuperar regras, decisões e padrões. Do NOT use for: pegar 1 memória por id (memory.get); ponto no tempo (memory.query_at); montar pacote de contexto pra uma task (memory.context). hyde=True força expansão HyDE (queries curtas/vagas; +1 LLM call). Omit project to query only the project resolved from the agent workspace folder.

memory.find_duplicatesA

Lista memórias similares (>= threshold). Chame ANTES de criar p/ evitar duplicatas.

text = título + summary da memória que você pretende criar. Use o resultado para decidir entre criar nova (memory.upsert/memory.manual.create) ou refinar uma existente (search-before-write, S3). Default 0.85 calibrado para o MiniLM local (cosine fica ~0.86 em quase-idênticos); suba para ~0.92 com embeddings maiores. Omit project to use the agent workspace folder.

memory.getA

Recupera UMA memória pelo memory_id exato (lookup direto, sem busca).

Use when: você já tem o memory_id (veio de memory.query/find_duplicates) e quer o registro completo. Do NOT use for: busca por tema (memory.query). Example: memory.get(memory_id='c3f814b1babebd35').

memory.query_atA

Consulta memórias que estavam ATIVAS num instante passado (bitemporal, ISO 8601).

Use when: auditoria / "o que valia em "; reconstruir estado histórico. Do NOT use for: estado atual (memory.query). Example: memory.query_at(project='CORE', point_in_time='2026-01-01T00:00:00Z').

memory.upsertA

Cria/atualiza memória canônica de forma idempotente (o jeito padrão de SALVAR).

Use when: persistir rápido uma regra/decisão/fato técnico; o admission decide create vs refine. Do NOT use for: PR (memory.pr.create); passo-a-passo (memory.procedure.create); evento único (memory.episode.create); texto cru pra extração (memory.ingest_raw). Chame memory.find_duplicates ANTES p/ evitar duplicata. Example: memory.upsert(project='ExampleProject', category='DesignRule', title='Cache key', summary='pj:cache:{tenant}:{entity}'). Omit project to derive it from the agent workspace folder.

memory.ingest_rawA

Ingere texto CRU e deixa o pipeline extrair/classificar/persistir sozinho.

Use when: você tem um blob não-estruturado (log, mensagem, doc) e quer que o sistema decida o que virar memória. Do NOT use for: conteúdo já estruturado que você sabe classificar (memory.upsert/memory.manual.create). Mais caro (LLM de extração). Example: memory.ingest_raw(source_kind='slack', payload='', project_hint='CORE'). Omit project_hint to derive the project from the agent workspace folder.

memory.list_raw_eventsC

Lista eventos da landing zone para inspeção.

memory.set_weightC

Define peso manual de uma memória e recalcula peso efetivo.

memory.deprecateD

Depreca memória e opcionalmente liga DEPRECATES para substituta.

memory.linkC

Cria relação semântica entre duas memórias.

memory.consolidateD

Dispara consolidação imediata ou diferida.

memory.feedbackC

Registra feedback de uso para telemetria.

memory.contextA

Monta um PACOTE de contexto (regras/padrões/decisões) ANTES de começar uma task.

Use when: vai iniciar um trabalho num projeto/domínio e quer o conhecimento relevante pré-carregado de uma vez. Do NOT use for: responder 1 pergunta pontual (memory.query); destilar pós-task (memory.reflect). Example: memory.context(project='ExampleProject', domain='cache').

memory.reconcileC

Verifica consistência entre Neo4j e Qdrant e remove vetores órfãos.

memory.reflectA

Extrai conhecimento de uma task CONCLUÍDA e persiste (loop de pós-task).

Use when: terminou um trabalho e quer destilar o que foi aprendido em memória durável. Do NOT use for: RECUPERAR conhecimento (memory.query); pré-task (memory.context). outcome: 'completed' | 'failed' | 'partial'. Example: memory.reflect(task_description='Implementei HyDE opt-in', changes='...', project='DecisionsSearch').

memory.capture_commitA

Verifica memória durável a partir da sessão e do commit/PR atual.

Use depois de concluir um commit ou PR quando houver contexto da sessão para explicar intenção e impacto. O LLM pode retornar no_memory; essa resposta é correta e não cria candidato. O resultado ainda passa pelos gates de admissão e, em dry_run, apenas mostra propostas. O hook nunca deve ser usado para bloquear o commit.

memory.procedure.createA

Cria um PROCEDIMENTO reutilizável (passo-a-passo) para um tipo de tarefa.

Use when: o conhecimento é uma sequência de passos repetível (runbook, how-to). Do NOT use for: regra/fato estático (memory.upsert); registro de um evento único (memory.episode.create). Example: memory.procedure.create(project='CORE', task_type='deploy', steps=['build', 'migrate', 'rollout']).

memory.procedure.queryC

Consulta procedimentos armazenados por tipo de tarefa.

memory.episode.createA

Registra um EPISÓDIO: o que foi feito numa task específica e o resultado.

Use when: capturar um acontecimento único (o que tentei, deu certo/errado, lições). Do NOT use for: conhecimento atemporal/regra (memory.upsert); passo-a-passo reutilizável (memory.procedure.create). Example: memory.episode.create( project='CORE', task_description='Migrei PLD', outcome='completed', lessons=['...']).

memory.episode.queryC

Consulta memórias episódicas por projeto, outcome ou tag.

errors.ingestB

Ingesta um erro e dispara pipeline de investigação automaticamente.

errors.listB

Lista erros ingeridos, opcionalmente filtrando por service ou error_type.

errors.get_investigationC

Recupera detalhes da investigação de um erro.

system.jobs.listB

Lista jobs agendados (consolidação, summary, etc.).

system.jobs.runC

Executa um job agendado imediatamente.

system.jobs.historyC

Historico de execucoes de um job.

system.scan.fullB

Full scan of all PRs from configured GitHub repos + Shortcut cards. Imports everything, not just recent.

Prompts

Interactive templates invoked by user choice

NameDescription
check_existing_memorySearch-before-write (S3): cheque duplicatas ANTES de criar uma memória.
summarize_work_itemGera template para extração de conhecimento durável após uma task.
post_commit_memory_checkVerifica sem forçar memória após um commit e seu pull request.
extract_business_rulesExtrai regras de negócio de texto desestruturado.
extract_design_patternsExtrai padrões de design de código/documentação.
extract_architectural_decisions
extract_design_rules
reflect_on_task
merge_memories
classify_memory_type

Resources

Contextual data attached and managed by the client

NameDescription
tools_versionVersão da superfície de tools MCP (G9).
graph_projects
graph_catalog_summary
graph_relations_allowed
list_projectsLista projetos registrados no grafo.

Latest Blog Posts

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/Renzo-Tognella/DecisionsSearch'

If you have feedback or need assistance with the MCP directory API, please join our Discord server