LLM Wiki MCP Server
Provides a lightweight personal knowledge base MCP server that compiles raw materials into interconnected Wiki pages, with hybrid search (BM25, optional vector, link expansion) and tools for querying, reading, writing, and ingesting content.
README
🧠 LLM Wiki — 轻量个人知识库 MCP Server
编译一次,持续复利 · 替代传统 RAG 的"每次从零检索"
15 个源文件 · 4 个运行时依赖 · 无 PyTorch / Chroma / LangGraph
这是什么
LLM Wiki 是一个以 编译复利 为核心的个人知识库工具。它将原始素材编译为带双向链接的结构化 Wiki 页面,而不是像传统 RAG 那样每次查询从零检索碎片。
┌─ 原始素材 ──→ LLM 编译 ──→ 互联 Wiki 页
┌─ query ────┤ ├─→ 结构化回答
└─ 检索 ──────→ BM25 + [可选向量] + RRF + 链接扩展 ──────→ 相关片段
可作为 MCP Server 接入 Claude Desktop / Cursor 等任意 MCP Agent,也自带交互式对话框。
快速开始
安装
pip install fastmcp openai pyyaml python-dotenv
或克隆后本地安装:
git clone https://github.com/COOLFEATHER/LLMwiki_mcp.git
cd LLMwiki_mcp
pip install -e .
启动对话
python3 chat.py
界面:
╔══════════════════════════════════════════════╗
║ 🧠 LLM Wiki — 个人知识库对话 ║
╚══════════════════════════════════════════════╝
📡 检索: 向量 + BM25 + RRF + 链接扩展
🎯 Embed: 本地 TF-IDF
🤖 回答: 纯检索
📚 Wiki: 6 页
you> 查一下 Agent 是什么
📄 Agent → Agent 是能感知环境、自主决策、执行动作的系统...
作为 MCP Server 启动
llm-wiki-server
两种回答模式
| 模式 | 命令 | 说明 |
|---|---|---|
| 纯检索(默认) | python3 chat.py |
直接返回 Wiki 片段,零延迟,无需 API key |
| LLM 回答 | python3 chat.py --llm |
检索后让 LLM 组织回答,更易读,需要 API key |
对话中输入 /llm 随时切换。
5 个 MCP 工具
| 工具 | 说明 | 需要 API key |
|---|---|---|
query(question) |
混合检索 + 链接扩展,返回相关 Wiki 片段 | ❌ |
read_wiki(page) |
读取 Wiki 页全文(含 frontmatter) | ❌ |
write_wiki(title, body, type, tags) |
新建 Wiki 页,自动建索引 | ❌ |
ingest(raw_path) |
编译原始素材为 Wiki 页(提取概念/建链/标矛盾) | ✅ |
rebuild_index() |
全量重建检索索引 | ❌ |
直接调用示例
import server
# 查知识库(无需 API key)
print(server.query("什么是 Agent"))
# 读 Wiki 页
print(server.read_wiki("LLM_Wiki"))
# 写新页(自动建索引)
server.write_wiki("设计模式", "# 设计模式\n\n正文...", tags="编程,架构")
# 编译素材(需要 API key)
print(server.ingest("data/raw/笔记.md"))
环境变量
| 变量 | 默认值 | 说明 |
|---|---|---|
OPENAI_API_KEY |
— | LLM chat API key(ingest 和 --llm 模式需要) |
OPENAI_BASE_URL |
— | 兼容 OpenAI 接口的地址,如 https://api.deepseek.com |
CHAT_MODEL |
deepseek-chat |
对话模型名 |
EMBED_PROVIDER |
local |
Embedding 模式:api / local / off |
EMBED_API_KEY |
— | Embedding API key(EMBED_PROVIDER=api 时需要) |
EMBED_API_URL |
— | Embedding API 地址 |
EMBED_MODEL |
text-embedding-3-small |
Embedding 模型名 |
Embedding 三模式
| 模式 | 设置 | 检索链路 | 依赖 | 效果 |
|---|---|---|---|---|
| local(默认) | EMBED_PROVIDER=local |
TF-IDF 向量 + BM25 + RRF + 链接扩展 | 纯 numpy | 本地可用,零配置 |
| api | + EMBED_API_KEY |
语义向量 + BM25 + RRF + 链接扩展 | openai | 语义理解更好 |
| off | EMBED_PROVIDER=off |
BM25 + 链接扩展 | 无 | 最轻量 |
数据架构
data/
├── raw/ 原始素材(只增不改,不可变真源)
├── wiki/ 编译产物(frontmatter + markdown)
│ ├── Agent.md
│ ├── LLM_Wiki.md
│ └── ...
├── links.json 双向链接图谱(自动维护)
└── index.json 检索索引(自动重建)
三层架构:
- Raw Sources — 原始素材,不可变、可重编译
- Wiki — LLM 编译产物,
[[双向链接]]互联,派生可重建 - Schema —
SCHEMA.md维护手册,约束页面规范
轻量化对比
| 重量级依赖 | 本项目的替代 | 节省 |
|---|---|---|
| sentence-transformers + PyTorch (~2GB) | API embedding / 本地 TF-IDF | ~2GB |
| chromadb + duckdb (~500MB) | 扁平 JSON 向量索引(纯 Python) | ~500MB |
| langgraph + langchain-core (~50MB) | 5 个 MCP 工具直接调用 | ~50MB |
| rank-bm25 + jieba (~10MB) | 自实现 BM25(80 行) | ~10MB |
| watchdog (~1MB) | 按需重建,无常驻监听 | ~1MB |
安装体积 < 30MB,核心代码 ~1600 行。
设计要点
- 无 reranker:Wiki 编译期已做整合/交叉引用/矛盾标注,检索对象是预蒸馏结构,"Wiki 即 reranker"
- 链接扩展检索:BM25/向量找入口页 → 沿
[[双向链接]]图遍历扩 N 跳,比纯语义召回更准、更可解释 - 自实现 BM25:纯 Python ~80 行,内置中文分词 fallback,无外部依赖
- Ingest 编译循环:1 份原始素材 → LLM 提取概念 → 自动创建/更新 3-15 个互联 Wiki 页
接入 MCP Agent
{
"mcpServers": {
"llm-wiki": {
"command": "llm-wiki-server",
"env": {
"OPENAI_API_KEY": "sk-...",
"OPENAI_BASE_URL": "https://api.deepseek.com"
}
}
}
}
许可证
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。