内容
# LocalKB
一个用于本地知识库操作的MCP(模型上下文协议)服务器。LocalKB允许代理使用语义搜索和文档分块来创建、管理和搜索个人知识库。
在使用LocalKB之前,请下载所需的模型以避免启动延迟:
```bash
pip install huggingface-hub
huggingface-cli download Qwen/Qwen3-Embedding-0.6B
huggingface-cli download Qwen/Qwen3-Reranker-0.6B
```
根据我使用的M1 Max MacBook Pro,预计的时间如下:
- 在会话中第一次使用`add_text_to_kb`或`search_kb`时,将模型加载到内存中,大约需要额外的10秒。
- 搜索大约需要10秒(结果在大约0.5秒内检索到,然后重排序模型花费大约1.5-2秒对每个结果进行评分。)
## 可用工具
### 知识库管理
**`list_kbs`** - 列出所有可用的知识库
- 无参数
**`create_kb`** - 创建一个新的知识库
- `kb_name`(字符串):知识库的名称
- `description`(字符串):知识库的描述
### 内容管理
**`add_text_to_kb`** - 将文本内容直接添加到知识库
- `kb_name`(字符串):要添加内容的知识库名称
- `source`(字符串):文本内容的唯一标识符(例如,文件名、文档标题)
- `text`(字符串):要添加到知识库的文本内容
- `metadata`(对象,可选):可选的元数据字典,附加到所有内容上
**`search_kb`** - 使用语义搜索查找相关内容
- `kb_name`(字符串):要搜索的知识库名称
- `query`(字符串):搜索查询字符串
- `filters`(对象,可选):可选的ChromaDB元数据过滤器,以缩小搜索范围
## 添加到Claude
将其添加到您的Claude Code MCP配置中:
```bash
claude mcp add-json -s user LocalKB '{"command": "uvx", "args": ["--from", "git+https://github.com/RoryMB/LocalKB@main", "localkb"]}'
```
将其添加到您的Claude Desktop MCP配置中:
```json
{
"mcpServers": {
"LocalKB": {
"command": "uvx",
"args": ["--from", "git+https://github.com/RoryMB/LocalKB@main", "localkb"]
}
}
}
```
## 手动使用
### 命令行
运行此命令以打开一个交互式菜单,提供使用各种工具的选项:
```bash
uvx --from git+https://github.com/RoryMB/LocalKB@main localkb --cli
```
### Python导入
如果您不想克隆仓库,可以使用此命令运行Python文件:
```bash
uv run --with git+https://github.com/RoryMB/LocalKB@main file.py
```
示例Python文件:
```python
from localkb.tools import (
create_kb,
add_text_to_kb,
search_kb,
list_kbs
)
def main():
# 创建一个知识库
result = create_kb("my-docs", "项目文档")
print(result)
# 添加内容
result = add_text_to_kb(
"my-docs",
"installation-guide",
"要安装此项目,请运行:pip install -e ."
)
print(result)
# 搜索内容
results = search_kb("my-docs", "如何安装")
for result in results:
print(f"内容: {result['content']}")
print(f"来源: {result['metadata']['source']}")
# 运行函数
main()
```