EKMS MCP Server
# EKMS MCP Server
Enterprise Knowledge Management System 的 Model Context Protocol (MCP) 伺服器。
讓 Claude Code 能夠直接查詢和操作企業知識庫。
## 功能
- `search_knowledge` - 搜尋知識庫(支援混合/語意/關鍵字搜尋)
- `recommend_knowledge` - 根據上下文和客戶特徵推薦知識
- `get_knowledge_item` - 取得特定知識項目完整內容
- `list_knowledge_types` - 列出所有知識類型
- `list_customers` - 列出所有客戶
- `get_knowledge_graph` - 取得知識關聯圖譜
- `record_knowledge_feedback` - 記錄知識使用反饋
## 安裝
```bash
cd ekms-mcp-server
npm install
```
## 配置
複製環境變數範本:
```bash
cp .env.example .env
```
編輯 `.env` 設定 EKMS API 位址:
```env
EKMS_API_URL=http://your-ekms-api-server:3000
EKMS_API_KEY=your-api-key
```
## 使用方式
### 方式一:本地開發
1. 啟動伺服器測試:
```bash
npm start
```
2. 在 Claude Code 配置中加入:
```json
{
"mcpServers": {
"ekms": {
"command": "node",
"args": ["/path/to/ekms-mcp-server/src/index.js"],
"env": {
"EKMS_API_URL": "http://localhost:3000"
}
}
}
}
```
### 方式二:使用 Claude CLI
```bash
claude mcp add ekms node /path/to/ekms-mcp-server/src/index.js
```
## 開發
```bash
# 開發模式(自動重載)
npm run dev
# 執行測試
npm test
```
## 架構
```
ekms-mcp-server/
├── src/
│ ├── index.js # MCP 伺服器入口
│ ├── tools/
│ │ └── definitions.js # 工具定義
│ ├── handlers/
│ │ └── knowledge-handlers.js # 工具處理邏輯
│ └── utils/
│ └── api-client.js # EKMS API 客戶端
├── config/
├── migrations/ # 資料庫遷移腳本
└── package.json
```
## License
MIT
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose with no overlap: get_knowledge_graph retrieves relationship maps, get_knowledge_item fetches full content, list_customers and list_knowledge_types provide filtering metadata, recommend_knowledge offers personalized suggestions, record_knowledge_feedback captures usage data, and search_knowledge performs queries. The descriptions clearly differentiate their functions, preventing agent misselection.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., get_knowledge_graph, list_customers, search_knowledge). There are no deviations in naming conventions, making the set predictable and readable for agents.
With 7 tools, the count is well-scoped for an enterprise knowledge management system (EKMS). Each tool serves a specific role in knowledge retrieval, recommendation, feedback, and metadata handling, with no redundant or missing tools for the domain.
The tool surface covers core EKMS workflows: retrieval (get, search), metadata (list), recommendation, and feedback. Minor gaps exist, such as no explicit create, update, or delete tools for knowledge items, but agents can work around this by using existing tools for read-only operations and feedback for updates.