hub-pessoal
Click on "Deploy 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., "@hub-pessoalbusque notas sobre pagamentos"
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.
Hub Pessoal MCP
Fase 1 do projeto: um app desktop (Electron + React + TypeScript) que guarda notas do dia a dia organizadas por temas e subtemas — ao estilo pastas — com links soltos entre notas ao estilo Obsidian, e um servidor MCP que expõe tudo isso pra qualquer assistente de IA compatível (Claude Desktop, por exemplo), tudo rodando 100% local, sem nuvem.
Como rodar o app desktop
npm install
npm run devIsso abre a janela do Electron com hot-reload ligado. Na primeira vez já vem um punhado de notas de exemplo linkadas entre si, pra você ver o app funcionando sem precisar digitar nada.
Barra lateral esquerda: a árvore de temas.
+ Novo temacria um tema de nível raiz (ex: "Pagamentos"); passa o mouse num tema e clica+pra criar um subtema dentro dele (ex: "Projetos" → "Hub Pessoal"). Duplo clique no nome renomeia; o×remove (com confirmação) — as notas de um tema removido não são apagadas, só voltam a ficar "sem tema". Arrasta um tema ou subtema pra reordenar a lista do teu jeito — a ordem fica salva. Só dá pra arrastar dentro do mesmo grupo (temas de raiz entre si, subtemas de um mesmo pai entre si), não pra virar filho de outro tema.Clica num tema (ou subtema) pra ver, no meio, tudo que está relacionado a ele. Clicar num tema raiz agrega as notas dos subtemas também. Sem nada selecionado, o meio mostra a visão geral com um cartão por tema e a contagem de notas.
Na barra de captura (embaixo, centro), escreve algo e aperta
Enter— a nota nova entra automaticamente no tema selecionado. Use[[Nome de outra nota]]no meio do texto pra criar um link — se a nota ainda não existir, ela é criada automaticamente (igual ao Obsidian).No painel de detalhe (direita), dá pra trocar o tema de uma nota a qualquer momento pelo seletor abaixo do título. O conteúdo mostra os trechos que viraram link como texto clicável (clica em qualquer outro lugar do conteúdo pra editar); "Linka para" e "Linkado por" listam as notas conectadas, com um
×pra desvincular sem apagar nada.[[Nome]]funciona tanto na barra de captura quanto editando o conteúdo de uma nota já existente — nos dois casos cria a nota referenciada se ela ainda não existir. O+ao lado de "Linka para" abre um dropdown com busca pra linkar uma nota já existente sem precisar digitar[[Nome]]no texto. URLshttp(s)://soltas no conteúdo também viram link clicável, abrindo no navegador padrão do sistema (nunca dentro da janela do app).Botão Selecionar no topo da grade de notas liga um modo de seleção múltipla — marca várias notas e usa o seletor "Mover para…" que aparece pra trocar o tema de todas de uma vez.
Atalhos:
Ctrl+Kfoca a busca,Ctrl+Nfoca a barra de captura,Escfecha o painel de detalhe.
Related MCP server: mor
Como rodar o servidor MCP
npm run mcp:serverEle lê e escreve o mesmo arquivo que o app desktop usa
(data/notas.json), então o que você adiciona por um lado aparece no
outro. Pra conectar no Claude Desktop, adiciona isto no
claude_desktop_config.json:
{
"mcpServers": {
"hub-pessoal": {
"command": "npx",
"args": ["tsx", "/caminho/completo/para/hub-pessoal-mcp/mcp-server/index.ts"]
}
}
}Ferramentas expostas:
Temas
listar_temas— devolve a árvore de temas/subtemas com a contagem de notas de cada um (tema raiz já vem com o total agregado dos subtemas). Chama essa primeiro: é como a IA descobre a organização do usuário e o caminho exato (ex:"Projetos/Hub Pessoal") pra usar nas outras ferramentas.criar_tema— cria um tema ou subtema sem precisar criar nota junto; idempotente (não duplica se já existir um com o mesmo nome no mesmo nível).renomear_tema— renomeia um tema/subtema existente, pelo caminho.remover_tema— remove um tema/subtema pelo caminho; as notas que estavam nele não são apagadas, só voltam a ficar sem tema. Chama semconfirmarprimeiro pra ver o impacto (subtemas e quantas notas seriam afetadas); só remove de fato comconfirmar: true.
Notas
buscar_contexto— busca por texto livre no título/conteúdo, sem se importar com acento (título pesa mais no ranking); aceitatemaopcional pra restringir a busca a um assunto elimitepra cortar o tamanho da resposta.listar_notas— lista notas, as mais recentes primeiro; semtemalista tudo (uselimitepra não estourar o contexto), comtemafiltra só aquele assunto (um tema raiz traz também as notas dos subtemas).notas_relacionadas— dado o ID de uma nota, mostra pra quais notas ela linka e quais linkam pra ela (os dois lados do[[Nome]]), pra puxar o fio de um assunto.adicionar_nota— cria uma nota; otemaaceita o mesmo formato de caminho, mas aqui ele cria o tema/subtema automaticamente se ainda não existir.atualizar_nota— corrige/expande uma nota existente (título, conteúdo, tema ou links) sem precisar apagar e recriar; só os campos passados são alterados, etema: ""tira a nota do tema atual.remover_nota— remove uma nota pelo ID. Chama semconfirmarprimeiro pra ver uma prévia sem apagar nada; só remove de fato comconfirmar: true.buscar_semantico— busca por similaridade de vocabulário (TF-IDF + cosseno, calculado localmente, sem IA/nuvem), pra achar notas do mesmo assunto mesmo sem a frase exata em comum. Complementabuscar_contexto.historico_nota— reconstrói como uma nota mudou ao longo do tempo, a partir dos backups automáticos emdata/backups/(até 5 versões).contexto_projeto— empacota as notas de um tema/projeto (+ as ligadas por[[Nome]]que ficam fora dele) num bloco de texto único, pronto pra colar como contexto em outra sessão/agente.listar_pendencias— varre o conteúdo procurando- [ ] algoouTODO: algoe devolve os itens em aberto com a nota de origem; aceitatemapra restringir (ex:"agenda").sugerir_organizacao— aponta notas sem tema, temas quase vazios e pares de temas com nome parecido (possível duplicata por digitação).
Um caminho de tema que não existe (nas ferramentas que só leem, não criam)
retorna um aviso pedindo pra chamar listar_temas primeiro, em vez de
inventar resultado.
Estrutura do projeto
hub-pessoal-mcp/
src/
main/ → processo principal do Electron (janela + IPC)
preload/ → ponte segura entre o main e a interface
renderer/ → a interface (React): árvore de temas, grade de notas, etc.
shared/ → tipos e a camada de armazenamento, usados por todo mundo
mcp-server/ → servidor MCP standalone (roda separado do app)
data/notas.json → onde tudo fica salvo (JSON simples, fácil de inspecionar)
data/backups/ → cópias automáticas antes de cada escrita (as 5 mais recentes)Decisões da Fase 1 (e o que fica pra depois)
Armazenamento em JSON, não SQLite ainda — dá pra ler com o olho e não exige compilar dependência nativa. Fase 2 troca por SQLite +
sqlite-vecsem mudar a API desrc/shared/armazenamento.ts.Sem OCR nem captura de recibos ainda — isso é a Fase 2.
Sem app mobile ainda — isso é a Fase 3, com sync via rede local.
UI: tema neumórfico escuro com roxo
#7c6cf0, notas organizadas por temas/subtemas hierárquicos (2 níveis, reordenáveis por drag-and-drop) em vez de tags soltas.Backup automático: cada escrita em
data/notas.jsonprimeiro copia o estado atual pradata/backups/, mantendo as últimas 5 versões — recupera de uma migração com bug ou uma remoção em cascata que deu errado.Busca sem acento: tanto a busca da interface quanto
buscar_contextoignoram acentuação ("financas" acha "Finanças").
Scripts
Comando | O que faz |
| roda o app desktop com hot-reload |
| gera o instalador ( |
| roda só o servidor MCP, via stdio |
| checa os tipos do projeto inteiro |
| roda todos os testes: armazenamento/temas/migração/backup ( |
| mesma coisa, em modo watch |
Licença
MIT.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP-native notes and memory for ChatGPT, Claude, and other AI tools.
- TaprootOAuthcom.taproothq
Persistent memory layer for AI tools. Save and recall notes across Claude and other MCP clients.
Connect AI to your flomo notes. Search, create, edit notes and manage tags via MCP.
Save notes in seconds. Your AI can then search, read, write and tag them over MCP.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables AI assistants to manage a personal markdown-based knowledge base with natural language interactions. Supports creating, searching, updating, and organizing notes across categories like people, recipes, meetings, and procedures.111-
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to search, read, create, update, and remove personal markdown notes stored locally, providing persistent memory across sessions.60 npm2MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to interact with a Markdown-based knowledge base with backlinks, tags, and full-text search, supporting note creation, reading, updating, renaming, and deletion through MCP tools.58 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables managing plain-text notes on disk through MCP resources, tools, and prompts, so natural-language requests can create, read, search, delete, and summarize notes via an interactive client.MIT