知识MCP服务器是一个生产就绪的模型上下文协议(MCP)服务器,为AI助手提供集中式知识管理。它具备项目特定文档、可搜索的知识库、集成的待办事项管理,以及基于Git的版本控制,能在不同会话间持久保存AI记忆。
本项目是一个生产就绪的模型上下文协议(MCP)服务器,为AI助手提供集中式知识管理。具备项目文档管理、高级搜索、待办事项管理等功能,还支持Git版本控制。
npm install -g @spothlynx/knowledge-mcp
git clone https://github.com/sven-borkert/knowledge-mcp.git
cd knowledge-mcp
pnpm install
pnpm run build
npm link
在MCP客户端配置中添加以下内容:
{
"mcpServers": {
"knowledge": {
"command": "knowledge-mcp",
"args": []
}
}
}
在~/Library/Application Support/Claude/claude_desktop_config.json
中添加以下内容:
{
"mcpServers": {
"knowledge": {
"command": "knowledge-mcp"
}
}
}
# 启动MCP服务器
knowledge-mcp
# 开发模式,支持自动重新加载
pnpm run dev
# 全局范围(所有项目) - 确保始终使用最新版本
claude mcp add knowledge-mcp npx -- -y @spothlynx/knowledge-mcp@latest
# 仅针对当前项目
claude mcp add --scope project knowledge-mcp npx -- -y @spothlynx/knowledge-mcp@latest
# 开发模式(使用本地构建)
claude mcp add knowledge-mcp node "$(pwd)/dist/knowledge-mcp/index.js"
在~/Library/Application Support/Claude/claude_desktop_config.json
中添加以下内容:
{
"mcpServers": {
"knowledge": {
"command": "npx",
"args": ["-y", "@spothlynx/knowledge-mcp@latest"]
}
}
}
对于其他支持MCP的客户端:
{
"mcpServers": {
"knowledge-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@spothlynx/knowledge-mcp@latest"],
"env": {}
}
}
}
get_project_main(project_id)
- 获取项目主说明。update_project_main(project_id, content)
- 更新项目说明。update_project_section(project_id, section_header, new_content)
- 更新特定部分。add_project_section(project_id, section_header, content, position?, reference_header?)
- 添加新部分。remove_project_section(project_id, section_header)
- 删除部分。delete_project(project_id)
- 删除整个项目。create_knowledge_file(project_id, filename, title, introduction, keywords, chapters)
- 创建结构化文档。get_knowledge_file(project_id, filename)
- 获取完整文档。delete_knowledge_file(project_id, filename)
- 删除文档。update_chapter(project_id, filename, chapter_title, new_content, new_summary?)
- 更新章节。add_chapter(project_id, filename, chapter_title, content, position?, reference_chapter?)
- 添加章节。remove_chapter(project_id, filename, chapter_title)
- 删除章节。list_chapters(project_id, filename)
- 列出所有章节(仅标题和摘要)。get_chapter(project_id, filename, chapter_title | chapter_index)
- 获取单个章节内容。get_next_chapter(project_id, filename, current_chapter_title | current_index)
- 获取下一章节。search_knowledge(project_id, query)
- 对所有文档进行全文搜索。list_todos(project_id)
- 列出所有待办事项列表。create_todo(project_id, description, tasks?)
- 创建新的待办事项列表。get_todo_tasks(project_id, todo_number)
- 获取待办事项列表中的任务。add_todo_task(project_id, todo_number, title, content?)
- 添加任务。complete_todo_task(project_id, todo_number, task_number)
- 标记任务为已完成。get_next_todo_task(project_id, todo_number)
- 获取下一个未完成的任务。remove_todo_task(project_id, todo_number, task_number)
- 删除任务。delete_todo(project_id, todo_number)
- 删除整个待办事项列表。get_server_info()
- 获取服务器版本和配置。get_storage_status()
- 获取Git仓库状态。sync_storage()
- 强制进行Git提交和同步。服务器提供只读资源供浏览:
knowledge://projects/{project_id}/main
- 项目主说明。knowledge://projects/{project_id}/files
- 知识文件列表。knowledge://projects/{project_id}/chapters/{filename}
- 章节列表。~/.knowledge-mcp/
├── index.json # 项目名称到目录的映射
├── activity.log # 请求活动日志(Git忽略)
└── projects/
└── {project-slug}/ # 简化的项目目录
├── main.md # 项目主说明
├── knowledge/ # 知识文档
│ └── *.md # 单个知识文件
└── TODO/ # 待办事项列表
└── {number}/ # 编号的待办事项目录
├── index.md # 待办事项元数据
└── tasks/ # 单个任务文件
└── *.md
项目包含全面的测试覆盖:
# 运行所有测试
pnpm run test:all
# 运行特定测试套件
npx tsx test/suites/01-project-main.test.ts
# 生成HTML测试报告
pnpm run test:all && open test-results/html/merged-results.html
# 安装依赖
pnpm install
# 启动开发服务器,支持自动重新加载
pnpm run dev
# 构建生产版本
pnpm run build
# 运行类型检查
pnpm run type-check
# 运行代码检查
pnpm run lint
# 格式化代码
pnpm run format
# 运行所有质量检查
pnpm run analyze
项目强制执行高标准的代码质量:
../
或绝对路径。.md
扩展名。##
前缀(例如,"## 配置"
)。origin/main
同步。常见错误及其含义:
PROJECT_NOT_FOUND
:项目尚不存在(使用update_project_main
创建)。DOCUMENT_NOT_FOUND
:知识文件未找到。FILE_ALREADY_EXISTS
:文件/章节已存在(使用更新操作)。CHAPTER_NOT_FOUND
:文档中未找到章节标题。SECTION_NOT_FOUND
:main.md
中未找到部分标题。TODO_NOT_FOUND
:待办事项列表不存在。INVALID_INPUT
:参数验证失败。FILE_SYSTEM_ERROR
:文件操作失败。GIT_ERROR
:Git操作失败。每个错误都包含一个traceId
,用于调试。
本项目采用MIT许可证,请参阅LICENSE文件获取详细信息。
git checkout -b feature/amazing-feature
。pnpm run test:all
。pnpm run analyze
。git commit -m 'Add amazing feature'
。git push origin feature/amazing-feature
。使用TypeScript和模型上下文协议精心打造 ❤️