filamental-mcp

Pesquise, percorra e edite um grafo de conhecimento Filamental a partir de qualquer cliente de IA compatível com MCP. Local-first, sem nuvem, sem necessidade de autenticação.

Documentação

filamental-mcp

Um servidor local Model Context Protocol que conecta assistentes de IA (Claude Desktop, Claude Code, etc.) diretamente ao seu grafo de conhecimento Filamental.

O servidor lê e grava em seu vault — pesquisando nós, seguindo conexões, criando e atualizando conteúdo — enquanto o Filamental está em execução ou fechado. Ele fala com o mesmo índice SQLite que o aplicativo usa, então as alterações ficam imediatamente visíveis quando você abre o Filamental.

Requer Node.js 22+ e o aplicativo de desktop Filamental.


Pré-requisitos

  • Filamental instalado e pelo menos um vault aberto (isso inicializa o índice SQLite)
  • Node.js 22 ou posterior

Configuração via Filamental

A maneira mais fácil de conectar é pelo aplicativo:

  1. Abra o Filamental e vá para Configurações > Integrações de IA
  2. Clique em Conectar ao Claude Desktop
  3. Reinicie o Claude Desktop

O Filamental resolve todos os caminhos automaticamente. O MCP segue o vault que estiver aberto — sem necessidade de reiniciar ao alternar entre mundos.


Configuração manual

Instale globalmente:

npm install -g filamental-mcp

Depois adicione ao seu claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "filamental": {
      "command": "node",
      "args": [
        "--no-warnings",
        "/absolute/path/to/node_modules/filamental-mcp/dist/index.js"
      ]
    }
  }
}

Nenhum argumento --vault é necessário. O servidor lê o vault ativo do Filamental automaticamente e reconecta quando você alterna de mundos. Para fixar um vault específico (por exemplo, para testes), passe --vault <absolute-path> explicitamente.

Claude Code

Adicione um .mcp.json na raiz do seu projeto:

{
  "mcpServers": {
    "filamental": {
      "command": "npx",
      "args": [
        "filamental-mcp",
        "--vault",
        "/absolute/path/to/your/vault"
      ]
    }
  }
}

Ferramentas

Leitura

FerramentaDescrição
get_vault_infoContagem de nós e arestas, além dos nomes de tipos de entidades e conectores
list_node_typesConfiguração completa dos tipos de entidade deste vault
list_connector_typesConfiguração completa dos tipos de conector deste vault
search_nodesPesquisa de texto completo em nomes de nós, corpos de notas e valores de propriedades
get_nodeRegistro completo do nó por UUID
get_connectionsTodas as arestas conectadas a um nó, relatadas do ponto de vista desse nó (veja Direção da seta)
get_subgraphTravessia BFS a partir de um nó raiz até N saltos (profundidade máxima 3)

Escrita

FerramentaDescrição
create_nodeCriar um novo nó — grava um arquivo Markdown e atualiza o índice SQLite
update_nodeAtualizar um nó existente; campos omitidos permanecem inalterados
delete_nodeExcluir um nó e removê-lo do índice
create_edgeAdicionar um relacionamento entre dois nós
delete_edgeRemover um relacionamento entre dois nós

Direção da seta

O direction de um conector é um de none, outgoing, incoming ou bidirectional. Nada mais é aceito, e um valor não reconhecido é rejeitado em vez de armazenado.

Em gravações (create_edge, create_node, update_node), a direção é declarada em relação a sourcetarget: outgoing desenha a ponta da seta no destino, incoming desenha de volta na origem, bidirectional desenha em ambos, none é uma linha simples.

Em leituras (get_connections), a direção é declarada em relação ao nó sobre o qual você perguntou, porque é isso que o usuário vê na tela:

CampoSignificado
nodeO nó sobre o qual você perguntou
otherO nó na outra extremidade
directionOnde a ponta da seta é desenhada, visto de node
stored_onQual arquivo do nó contém o relacionamento

Essa distinção importa. Qual extremidade de um conector é armazenada como source é decidido por qual extremidade o usuário arrastou ao desenhá-lo, e isso é invisível no grafo — um conector não direcionado parece idêntico em qualquer orientação. Portanto, a mesma seta é lida como outgoing de uma extremidade e incoming da outra, e get_connections inverte isso para você. Filtrar com direction: "outgoing" fornece arestas cuja seta aponta para longe de o nó sobre o qual você perguntou, nunca arestas que apenas por acaso estão armazenadas com ele como source. Uma aresta bidirectional corresponde aos filtros outgoing e incoming, já que ela genuinamente aponta em ambas as direções; undirected corresponde apenas a arestas sem seta alguma.

Use stored_on somente se você estiver editando o arquivo Markdown subjacente diretamente. Ele não diz nada sobre o que a seta faz.


Opções de CLI

filamental-mcp --vault <path>          Use vault at <path>
filamental-mcp --vault <path> --db <path>   Override the SQLite database path (for testing)

Como funciona

O Filamental armazena todos os dados de nós como arquivos Markdown com frontmatter YAML dentro da pasta do seu vault. Ele também mantém um índice SQLite (armazenado no diretório de configuração do aplicativo do seu sistema operacional, não dentro do vault) para pesquisa de texto completo e travessia de grafo rápidas.

Este servidor abre esse índice SQLite em modo leitura-escrita. As ferramentas de leitura consultam diretamente. As ferramentas de escrita atualizam tanto o arquivo Markdown no disco quanto o índice SQLite, para que o aplicativo Filamental veja as alterações imediatamente no próximo carregamento.


Compatibilidade

filamental-mcpAplicativo FilamentalEsquema do banco
0.2.6+0.3.0 e posteriores (atual)v6
0.2.0 – 0.2.50.2.xv5

O servidor continua funcionando mesmo com incompatibilidade de esquema (o banco é um índice descartável, então a maioria das operações de leitura/escrita tolera divergências). Se uma chamada de ferramenta falhar por um motivo não relacionado enquanto as versões estiverem incompatíveis, a mensagem de erro é anotada com qual lado deve ser atualizado.


Limitações conhecidas

  • O binário pré-compilado (better-sqlite3) é apenas para Windows x64. Outras plataformas exigem compilação a partir do código-fonte.
  • A configuração automática via Configurações do Filamental foi testada no Windows. A resolução de caminhos no macOS está incluída, mas não testada.

Licença

MIT — Copyright Filamental