# Dify知识库MCP服务器

## 简介
基于Model Context Provider协议的Dify知识库检索服务，为AI模型提供上下文检索能力。

## 核心功能
- 支持MCP协议规范
- 知识库内容检索接口
- 可扩展的模型上下文提供
- 支持多种知识库数据源

## 安装部署
```bash
# 安装依赖
npm install

# 构建项目
npm run build

```

## 配置说明
### 环境变量配置(.env)
```env
DIFY_BASE_URL=http://localhost:8080  # Dify服务基础地址（必填）
DIFY_DATASET_ID=your-dataset-id  # 知识库数据集ID（必填）
DIFY_DATASET_TOKEN=your-dataset-token  # 知识库访问令牌（必填）
```

| 参数 | 说明 | 必填 | 默认值 |
|------|------|------|-------|
| DIFY_BASE_URL | Dify服务基础地址（不含API路径） | 是 | 无 |
| DIFY_DATASET_ID | 知识库数据集唯一标识 | 是 | 无 |
| DIFY_DATASET_TOKEN | 知识库访问认证令牌 | 是 | 无 |
| SEARCH_METHOD | 搜索方法 | 否 | hybrid_search |
| TITLE | 用于描述工具标题 | 否 | Dify Dataset |
| DESCRIPTION | 用于描述工具描述 | 否 | Dify Dataset |
| TOP_K | 指定返回知识条目数 | 否 | 1 |
| RERANKING_ENABLE | 是否开启检索结果排序 | 否 | true |



> ⚠️ 安全提示：生产环境必须设置强认证密钥，避免未授权访问

## 使用示例
```
{
    "mcpServers": {
        "dify-knowledge-mcp-server": {
            "type": "stdio",
            "command": "npx",
            "args": ["-y","dify-knowledge-mcp-server"],
            "env": {
              "DIFY_BASE_URL": "http://localhost:8080",
              "DIFY_DATASET_ID": "your-dataset-id",
              "DIFY_DATASET_TOKEN": "your-dataset-token",
              "TITLE": "Dify Knowledge Retrieval",
              "DESCRIPTION": "Retrieve knowledge from Dify dataset",
              "TOP_K": "5"
            }
        }
    }
}
```

## 技术栈
- Node.js v18+
- TypeScript 5.3.3
- Express框架
- Zod数据校验
- Axios HTTP客户端

## 目录结构
```bash
├── dist/              # 编译输出
├── src/               # 源代码
├── .env               # 环境配置
├── package.json       # 项目配置
└── tsconfig.json      # TypeScript配置
```
