Knowledge OS
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Logging level, e.g. WARNING. | |
| MCP_DB_KEY | No | Optional key for encrypting the catalog with SQLCipher (requires the crypto extra; Linux). | |
| KNOWLEDGE_OS_HOME | No | Directory where data is stored. Default is ~/.knowledge-os. | ~/.knowledge-os |
| KNOWLEDGE_OS_TOOLSET | No | Toolset profile. Use "agent" for the Plumb default (6 tools); if unset, profile "all" is used. | all |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| health_checkA | Verifica a saúde do servidor MCP e do banco default. Use quando: Diagnosticar falhas ou confirmar que o servidor está operacional. Retorna: {status: ok|error, database: connected | motivo, version, schema_version, toolset}. Exemplo: health_check() Notas: Valida a conexão e a presença de todas as tabelas (inclusive a de busca textual). |
| context_getA | Pacote de contexto do projeto: regras, contexto, decisões, padrões, procedimentos. Use quando: Começar num projeto (se o hook não injetou) ou ao passar a mexer em outra
área: |
| item_searchA | Busca por texto. Devolve resumos, nunca o conteúdo completo. Use quando: Procurar algo que pode já estar guardado (decisão, gotcha, procedimento).
Retorna: [{id, key, type, memory_class, domain, title, summary, score, uses}].
Exemplo: item_search(query="migração flyway", limit=5)
Notas: Sem project/workspace, busca no projeto da pasta atual (se ligado) — não vaza para
outros projetos; |
| item_getA | Lê itens completos (content, tags, relações, anexos) por id e/ou key, vários de uma vez. Use quando: O resumo da busca ou do contexto não bastou. Retorna: Lista de itens completos, na ordem pedida; o que não existe vem como {key|id, missing: true}, sem derrubar os outros. Exemplo: item_get(keys=["regra/money", "proc/deploy"], project=".") Notas: keys exigem project (o domain ligado) ou workspace e domain. Até 20 por chamada. |
| item_saveA | Grava itens (criar, atualizar, upsert, renovar, relacionar) numa transação. Use quando: Guardar o que vale para depois — uma regra que o usuário enunciou, as
decisões e aprendizados ao fechar uma mudança, uma correção de um item.
Retorna: [{index, id, key, action: created|updated|unchanged, similar?, relations?}].
Modo, por entrada: com |
| project_linkA | Liga um repositório a um workspace/domain do segundo cérebro. Use quando: Configurar um projeto pela primeira vez (o /plumb-setup faz isso).
Retorna: {project_key, workspace, domain}.
Exemplo: project_link(project=".") → domain = repo; workspace = o de outro repo do
mesmo dono já ligado (no primeiro, o nome do dono; sem remote, |
| structure_listA | Árvore workspaces → domains com a contagem de itens. Use quando: Ver o que existe antes de organizar, ligar um projeto ou fazer backup. Retorna: [{workspace, description, items, domains: [{name, items}]}]. Exemplo: structure_list() · structure_list(workspace="agenda-api") Notas: Criar workspace/domain é implícito em item_save e project_link. |
| structure_deleteA | Remove um domain (ou o workspace inteiro) com todos os itens. Destrutivo. Use quando: O usuário pediu explicitamente para apagar.
Retorna: Sem confirm: {status: preview, would_delete}. Com confirm: {status: deleted}.
Exemplo: structure_delete(workspace="Teste", confirm=True)
Notas: Chame primeiro sem |
| item_deleteA | Remove um item de vez (com tags, relações e anexos). Destrutivo. Use quando: O item está errado e não há histórico a preservar. Retorna: {status: deleted, id}. Exemplo: item_delete(item_id="...") Notas: Para aposentar mantendo o histórico, prefira item_save com status=deprecated ou uma relação supersedes. |
| relation_deleteA | Remove uma relação entre itens (o id vem em item_get → relations). Use quando: Uma relação foi criada por engano. Retorna: {status: deleted, id}. Exemplo: relation_delete(relation_id="...") Notas: Remover um supersedes não reativa o alvo: ajuste o status com item_save. |
| vocabularyA | Vocabulário da base: tags (livres) e labels (lista controlada). Use quando: Reaproveitar tags existentes antes de criar variações, ou gerir labels. Retorna: list → [{id, name}]; create → {id, name}; delete → {status: deleted}. Exemplo: vocabulary(kind="tags") · vocabulary(kind="labels", action="create", name="lgpd") Notas: kind: tags | labels. action: list | create (name) | delete (id). Tags também são criadas direto no item_save. |
| backup_exportA | Exporta um workspace (ou só um domain) para um ZIP em /exports. Use quando: Antes de mudanças grandes ou para levar conhecimento a outra máquina. Retorna: {status: ok, file_path, size_mb}. Exemplo: backup_export(workspace="agenda-api") · backup_export(workspace="agenda-api", domain="projpro") Notas: backup_import restaura (o workspace importado ganha ids novos). |
| backup_importA | Importa um ZIP de backup_export: workspace inteiro, ou um domain dentro de Use quando: Restaurar um backup ou trazer conhecimento de outra máquina. Retorna: {status: ok, ...workspace ou domain criado}. Exemplo: backup_import(file_path="C:/x/workspace_....zip") Notas: Use só caminhos que o usuário indicou. Nome de workspace já existente é recusado. |
| artifact_attachA | Anexa um arquivo local a um item (copiado para /artifacts, até 100 MB). Use quando: O valor do item é um arquivo (diagrama, template, script). Retorna: Metadados do anexo (id, filename, file_size, mime_type). Exemplo: artifact_attach(item_id="...", file_path="C:/docs/arquitetura.png") Notas: Use só caminhos que o usuário indicou. A lista vem em item_get → artifacts. |
| artifact_getB | Conteúdo de um anexo em base64. Use quando: Precisar do arquivo em si (confira file_size em item_get antes). Retorna: {artifact, content_base64}. Exemplo: artifact_get(artifact_id="...") |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Each tool targets a distinct resource and action: three deletes (item_delete, relation_delete, structure_delete) are explicitly scoped to different objects, and the three retrieval tools are clearly delineated (item_search returns summaries, item_get returns full items, context_get returns a curated project bundle). Descriptions add explicit 'use when' guidance that prevents misselection.
The dominant pattern is consistent snake_case resource_action (item_save, item_get, artifact_attach, structure_delete, backup_export, project_link, relation_delete, context_get). A couple of names deviate from the verb_noun scheme (vocabulary has no verb; health_check is noun_noun), but overall it is predictable and readable.
15 tools is well-scoped for a knowledge-management server spanning items, relations, artifacts, structure, backups, vocabulary, context, and health. Each tool earns its place with no redundant or filler entries.
Coverage is strong: items have save/read/search/delete, relations have create (via item_save) plus delete, artifacts attach/get, structure list/delete, and backup export/import. Minor gaps exist (no explicit artifact detach, workspace/domain rename, or description edit) but core lifecycle workflows are fully covered.