MCP Knowledge Base
A knowledge base server that processes local documents (PDF, DOCX, TXT, HTML) and answers questions based on their content using similarity search.
MCP 知识库服务器
这是一个基于 Model Context Protocol (MCP) 的知识库服务器,可以处理本地文档并根据文档内容回答问题。
功能特性
- 支持多种文档格式:PDF、DOCX、TXT、HTML
- 自动文档索引和搜索
- 基于相似度的文档检索
- 完整的 MCP 协议支持
- 中文文档处理支持
ModelScope MCP 服务配置
{
"name": "mcp-knowledge-base",
"version": "1.0.0",
"description": "基于本地文档的知识库问答MCP服务器",
"author": "yjy",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/ikungsjl/mcp-knowledge-base.git"
},
"keywords": ["mcp", "knowledge-base", "document-processing", "qa"],
"main": "dist/index.js",
"type": "module",
"scripts": {
"build": "tsc",
"start": "node dist/index.js",
"dev": "tsx src/index.ts"
},
"dependencies": {
"@modelcontextprotocol/sdk": "^0.4.0",
"pdf-parse": "^1.1.1",
"mammoth": "^1.6.0",
"cheerio": "^1.0.0-rc.12",
"natural": "^6.10.4",
"fs-extra": "^11.2.0",
"glob": "^10.3.10"
},
"devDependencies": {
"@types/node": "^20.10.0",
"@types/fs-extra": "^11.0.4",
"@types/natural": "^5.1.5",
"@types/pdf-parse": "^1.1.4",
"typescript": "^5.3.0",
"tsx": "^4.6.0"
},
"mcp": {
"server": {
"command": "node",
"args": ["dist/index.js"],
"env": {}
},
"tools": [
{
"name": "add_document",
"description": "添加单个文档到知识库",
"inputSchema": {
"type": "object",
"properties": {
"file_path": {
"type": "string",
"description": "文档文件路径"
}
},
"required": ["file_path"]
}
},
{
"name": "add_directory",
"description": "添加目录中的所有文档到知识库",
"inputSchema": {
"type": "object",
"properties": {
"directory_path": {
"type": "string",
"description": "目录路径"
}
},
"required": ["directory_path"]
}
},
{
"name": "query_knowledge_base",
"description": "查询知识库",
"inputSchema": {
"type": "object",
"properties": {
"question": {
"type": "string",
"description": "查询问题"
},
"max_results": {
"type": "number",
"description": "最大返回结果数",
"default": 5
},
"threshold": {
"type": "number",
"description": "相似度阈值",
"default": 0.1
}
},
"required": ["question"]
}
},
{
"name": "list_documents",
"description": "列出知识库中的所有文档",
"inputSchema": {
"type": "object",
"properties": {}
}
},
{
"name": "get_document",
"description": "获取特定文档信息",
"inputSchema": {
"type": "object",
"properties": {
"document_id": {
"type": "string",
"description": "文档ID"
}
},
"required": ["document_id"]
}
},
{
"name": "remove_document",
"description": "从知识库中移除文档",
"inputSchema": {
"type": "object",
"properties": {
"document_id": {
"type": "string",
"description": "文档ID"
}
},
"required": ["document_id"]
}
},
{
"name": "clear_knowledge_base",
"description": "清空知识库",
"inputSchema": {
"type": "object",
"properties": {}
}
},
{
"name": "get_stats",
"description": "获取知识库统计信息",
"inputSchema": {
"type": "object",
"properties": {}
}
}
]
}
}
安装
- 克隆项目并安装依赖:
npm install
- 构建项目:
npm run build
使用方法
1. 启动服务器
npm start
2. 在 MCP 客户端中配置
在你的 MCP 客户端配置文件中添加:
{
"mcpServers": {
"knowledge-base": {
"command": "node",
"args": ["dist/index.js"],
"env": {}
}
}
}
3. 可用的工具
添加文档
add_document: 添加单个文档到知识库add_directory: 添加目录中的所有文档到知识库
查询知识库
query_knowledge_base: 查询知识库并获取答案
管理文档
list_documents: 列出所有文档get_document: 获取特定文档信息remove_document: 移除文档clear_knowledge_base: 清空知识库get_stats: 获取统计信息
配置
服务器会自动创建以下目录:
documents/: 存储文档文件index/: 存储索引数据
开发
# 开发模式
npm run dev
# 测试
npm test
项目结构
src/
├── types.ts # 类型定义
├── document-processor.ts # 文档处理器
├── knowledge-base.ts # 知识库核心
├── mcp-server.ts # MCP 服务器
└── index.ts # 入口文件
许可证
MIT
Servidores relacionados
Algolia Search
A server for searching an Algolia index using the Algolia Search API.
Legal MCP Server Argentina
A server for intelligent search and jurisprudence analysis of Argentine legal documents.
Simple Files Vectorstore
Provides semantic search across local files by creating vector embeddings from watched directories.
MCP Jobs
A zero-configuration job aggregation service that fetches job listings from major recruitment websites.
1ly MCP
Enable AI agents to discover, launch tokens, pay for, and sell APIs and resources using x402
yfinance MCP Server
Access up-to-date prices and news for stocks and cryptocurrencies.
Sci-Hub MCP Server
Search and access academic papers from Sci-Hub by DOI, title, or keyword.
Claude Web Search
Provides web search functionality powered by the Claude API from Anthropic.
SearxNG MCP Server
Provides web search capabilities using a self-hosted SearxNG instance, allowing AI assistants to search the web.
Grok Search
Comprehensive web, news, and social media search and analysis using xAI's Grok API.