Knowledge MCP

Knowledge MCP

An MCP server that acts as a knowledge engine for software projects, delivering relevant context at the start of a task and accumulating knowledge at its end through tools like start_task, context, finish_task, remember, and search, with a file-based source of truth and optional semantic retrieval via Graphiti/Neo4j.

Category
访问服务器

README

Knowledge MCP

Um Knowledge Engine para projetos de software: entrega contexto relevante no início de uma tarefa e acumula conhecimento ao final dela. Não é uma memória — a inteligência de decidir o que é relevante e o que merece ser lembrado fica dentro do MCP, não no cliente.

Estado atual

Fase Escopo Status
0 Spike técnico das dependências ✅ concluída
1 Núcleo de arquivos (.knowledge/) ✅ concluída
2 KnowledgeStore, IndexBackend, KnowledgeIndexer + contrato ✅ concluída
3 As 5 tools + extractor, sobre backend em memória ✅ concluída
4 Backend Graphiti (recuperação semântica) ✅ concluída
5 Empacotamento e integração ✅ concluída

O MVP é utilizável de ponta a ponta, validado por E2E real através do protocolo MCP.

Os dois backends de índice

O padrão é graphiti: recuperação semântica é o desenho pretendido do produto. Se o Neo4j não estiver no ar, o sistema degrada sozinho para a fonte de verdade — sem erro e sem lentidão (um disjuntor evita repetir o timeout de conexão).

graphiti (padrão) memory
Recuperação semântica (resolve sinônimos) lexical, com casamento por prefixo
Infraestrutura Neo4j local (sem Docker) nenhuma
LLM por gravação 2 chamadas, em background nenhum
Relacionamentos entre registros sim (grafo de entidades e fatos) não

Para subir o Neo4j:

scripts\start-neo4j.cmd

Ele não inicia sozinho com o Windows. Com ele parado, remember, search e context continuam funcionando pela fonte de verdade — só a recuperação semântica fica indisponível, e as tools avisam.

Com assinatura Pro/Max, as chamadas de LLM não são cobradas por token — consomem as janelas de limite do plano. O valor em dólar que o SDK reporta é estimado a preços de tabela da API e serve como proxy de consumo, não como fatura.

Quanto você espera (medido, backend graphiti)

Operação Tempo
remember 17–27 ms
search, context, start_task 20–50 ms
primeira busca da sessão ~3 s (carrega o modelo na memória)
indexação no grafo 16 s por registro, em background

Você nunca espera pela indexação: remember grava o arquivo e devolve. O grafo alcança depois, e enquanto isso a busca funciona pela fonte de verdade (ADR-004).

O modelo de embedding (~1 GB) é baixado uma vez por máquina, em %LOCALAPPDATA%\knowledge-mcp\models, e compartilhado por todos os projetos.

Com memory, buscar "login" não encontra um registro sobre "autenticação". Com graphiti, encontra — é o que tests/test_semantic_recall.py verifica.

Para ligar o backend semântico:

set KNOWLEDGE_MCP_INDEX=graphiti
set KNOWLEDGE_MCP_NEO4J_PASSWORD=sua-senha

Se o Neo4j estiver fora do ar, o sistema continua lendo, escrevendo e buscando pela fonte de verdade — só perde a recuperação semântica.

As cinco tools

Tool O quê Escreve?
start_task Contexto relevante antes de começar uma tarefa não
context Consulta livre ao conhecimento do projeto não
finish_task Sugere o que merece virar conhecimento permanente não
remember Grava o conhecimento aprovado sim
search Procura no conhecimento registrado não

O fluxo de escrita é sempre finish_task → o usuário aprova → remember. O MCP não guarda estado de aprovação: ela vive na conversa (ADR-006).

Arquitetura em uma tela

KnowledgeRepository     único autorizado a escrever em .knowledge — fonte de verdade
        │
        ▼
KnowledgeIndexer        sincroniza .knowledge com o índice; fila, hashes, rebuild
        │
        ▼
KnowledgeStore          apenas consulta: busca, relacionamentos, contexto
        │
        ▼
Graphiti                detalhe de implementação, substituível

As decisões estruturais estão em docs/adr/ e são verificadas mecanicamente por testes em tests/test_architecture_rules.py — uma violação quebra o build, não só a convenção.

Princípios

  1. É melhor deixar de registrar um conhecimento do que registrar um conhecimento incorreto. Precisão importa mais que cobertura.
  2. A fonte de verdade é o .knowledge/. O índice é reconstruível.
  3. Evitar modelagem prematura. Campo, estado ou operação só entra quando houver caso real.
  4. O índice é uma aceleração, não uma dependência funcional. Sem o backend de índice, o sistema continua lendo, escrevendo e buscando — só perde qualidade de recuperação.

O formato .knowledge/

.knowledge/
  manifest.yaml       versão do schema, projeto, configuração do índice
  decisions/          um diretório por tipo de registro
  entities/
  preferences/
  conventions/
  technologies/
  summaries/
  cache/              descartável e não versionado (índice, grafo, embeddings)

Cada registro é Markdown com frontmatter de exatamente quatro campos:

---
id: dec-20260731-adiar-a-escolha-do-backend-de-grafo
type: decision
title: Adiar a escolha do backend de grafo
created_at: 2026-07-31
---
**Contexto:** ...
**Decisão:** ...
**Consequências:** ...

O id é a identidade do registro; o caminho do arquivo é detalhe de armazenamento. Renomear ou mover o arquivo à mão não cria um registro novo.

O formato é deliberadamente aberto: qualquer ferramenta deve conseguir produzi-lo ou consumi-lo — scripts, outros MCPs, outras IDEs, ou o próprio desenvolvedor editando à mão.

Instalação

Requer Python 3.13 (o 3.14 ainda não tem wheels para parte das dependências de grafo) e o Claude Code autenticado — o MCP usa a sessão existente, sem chave de API separada.

py -3.13 -m venv .venv && .venv/Scripts/python -m pip install -e ".[dev]"

Registrar no Claude Code

O servidor descobre a raiz do projeto pelo diretório de trabalho, então um registro global serve todos os seus projetos — cada um ganha seu próprio .knowledge/.

claude mcp add knowledge --scope user -- C:\Users\guilh\.virtualenvs\knowledge-mcp\Scripts\knowledge-mcp.exe

Para registrar só num projeto, crie um .mcp.json na raiz dele:

{
  "mcpServers": {
    "knowledge": {
      "command": "C:\\Users\\guilh\\.virtualenvs\\knowledge-mcp\\Scripts\\knowledge-mcp.exe"
    }
  }
}

Para apontar para um projeto fixo, independentemente do diretório de trabalho, defina a variável de ambiente KNOWLEDGE_MCP_PROJECT.

Verifique a conexão com:

claude -p "/mcp" --mcp-config .mcp.json

Como usar

O fluxo natural é conversacional — você não gerencia conhecimento:

  1. Ao começar algo, o agente chama start_task e recebe as decisões, regras e convenções que importam para aquela tarefa.
  2. Ao terminar, ele chama finish_task com um resumo. O MCP responde com uma sugestão do que merece ser lembrado — sem gravar nada.
  3. Você aprova (ou não) na conversa. Só então o agente chama remember.

search e context ficam disponíveis para consulta a qualquer momento.

Desenvolvimento

python -m pytest

Os testes em tests/test_architecture_rules.py verificam as decisões dos ADRs mecanicamente: escrever em .knowledge/ fora do repositório, ou importar graphiti_core fora de store/graphiti/, quebra o build.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选