Token导航 LogoToken导航TokenDH.com
Chalee MCP RAG logo
文档知识未说明官方级别未说明来源级核验

Chalee MCP RAG

MCP Server

一个基于Model Context Protocol (MCP)的RAG服务器,提供文档处理、向量存储和智能问答功能,适用于需要结合检索和生成的智能应用场景。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
检索增强生成文档处理JavaScriptClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

PrettyKing

提供方

PrettyKing

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Chalee MCP RAG 🤖

一个基于 Model Context Protocol (MCP)RAG(检索增强生成)服务器,提供文档处理、向量存储和智能问答功能。

✨ 特性

  • 🔧 标准化 MCP 协议:遵循 Anthropic MCP 标准,可与 Claude Desktop 等客户端集成
  • 📚 智能文档处理:自动分块、向量化存储
  • 🔍 语义检索:基于余弦相似度的相关文档检索
  • 💬 智能问答:结合检索上下文的准确回答生成
  • 🛡️ 安全可靠:内置错误处理和参数验证
  • 🚀 生产就绪:完整的配置和部署支持

🚀 快速开始

1. 克隆仓库

git clone https://github.com/PrettyKing/chalee-mcp-rag.git
cd chalee-mcp-rag

2. 安装依赖

npm install

3. 配置环境变量

cp .env.example .env
# 编辑 .env 文件,设置你的 OpenAI API 密钥

4. 启动 MCP 服务器

npm run mcp-server

5. 运行客户端演示

# 在另一个终端
npm run mcp-client

🛠️ 可用工具

MCP RAG 服务器提供以下 6 个核心工具:

工具名称描述参数
initialize_rag初始化 RAG AgentapiKey, config
add_document添加文档到知识库content, metadata
ask_question智能问答question
search_documents文档相似性搜索query, maxResults
get_knowledge_base_stats获取知识库统计-
clear_knowledge_base清空知识库-

📁 项目结构

chalee-mcp-rag/
├── rag-agent.js           # RAG Agent 核心实现
├── mcp-rag-server.js      # MCP 服务器
├── mcp-client.js          # MCP 客户端示例
├── test.js                # RAG Agent 测试
├── package.json           # 项目配置
├── .env.example           # 环境变量示例
└── README.md              # 说明文档

🌐 与 Claude Desktop 集成

要在 Claude Desktop 中使用此 MCP 服务器,请在 Claude 配置文件中添加:

macOS

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "chalee-rag-server": {
      "command": "node",
      "args": ["/path/to/your/chalee-mcp-rag/mcp-rag-server.js"],
      "env": {
        "OPENAI_API_KEY": "your_openai_api_key_here"
      }
    }
  }
}

Windows

编辑 %APPDATA%\\Claude\\claude_desktop_config.json:

{
  "mcpServers": {
    "chalee-rag-server": {
      "command": "node",
      "args": ["C:\\path\\to\\your\\chalee-mcp-rag\\mcp-rag-server.js"],
      "env": {
        "OPENAI_API_KEY": "your_openai_api_key_here"
      }
    }
  }
}

📖 使用示例

基本用法

const MCPRAGClient = require('./mcp-client');

async function example() {
  const client = new MCPRAGClient();
  
  // 连接服务器
  await client.connect();
  
  // 初始化 RAG
  await client.initializeRAG('your-openai-api-key');
  
  // 添加文档
  await client.addDocument('这是一个示例文档...', {
    category: '示例',
    source: 'demo'
  });
  
  // 提问
  const answer = await client.askQuestion('这个文档讲了什么?');
  console.log(answer.answer);
  
  // 断开连接
  await client.disconnect();
}

高级配置

// 自定义 RAG 配置
await client.initializeRAG('your-api-key', {
  chunkSize: 800,        // 文档分块大小
  chunkOverlap: 100,     // 分块重叠大小
  maxRetrievedDocs: 5    // 最大检索文档数
});

🔧 配置选项

环境变量

变量名描述默认值
OPENAI_API_KEYOpenAI API 密钥必需
CHUNK_SIZE文档分块大小1000
CHUNK_OVERLAP分块重叠大小200
MAX_RETRIEVED_DOCS最大检索文档数3
MODEL_NAMEGPT 模型名称gpt-3.5-turbo
EMBEDDING_MODEL嵌入模型名称text-embedding-ada-002

🧪 测试

# 运行 RAG Agent 测试
npm test

# 运行 MCP 客户端演示
npm run mcp-client

🚀 部署

Docker 部署

FROM node:16-alpine

WORKDIR /app
COPY package*.json ./
RUN npm install

COPY . .

EXPOSE 3000
CMD ["npm", "run", "mcp-server"]

进程管理

# 使用 PM2 管理进程
npm install -g pm2
pm2 start mcp-rag-server.js --name "mcp-rag-server"
pm2 monitor

🔍 故障排除

常见问题

  1. 连接失败

- 确保 Node.js 版本 >= 16 - 检查依赖是否正确安装 - 验证 API 密钥是否有效

  1. 工具调用失败

- 确保先调用 initialize_rag - 检查参数格式是否正确 - 查看服务器日志获取详细错误信息

  1. 性能问题

- 减少 chunkSizemaxRetrievedDocs - 优化文档大小和数量 - 考虑使用外部向量数据库

调试模式

# 启用详细日志
DEBUG=mcp:* npm run mcp-server

🌟 扩展功能

支持更多文档格式

// PDF 支持
const pdfParse = require('pdf-parse');

async function loadPDF(filePath) {
  const dataBuffer = fs.readFileSync(filePath);
  const data = await pdfParse(dataBuffer);
  return await agent.addDocument(data.text, { type: 'pdf', source: filePath });
}

持久化存储

// 使用 Pinecone 向量数据库
const { PineconeStore } = require('langchain/vectorstores/pinecone');

class PersistentRAGAgent extends RAGAgent {
  async initializePinecone() {
    this.vectorStore = await PineconeStore.fromExistingIndex(
      new OpenAIEmbeddings(),
      { pineconeIndex: this.index }
    );
  }
}

📚 API 文档

initialize_rag

初始化 RAG Agent 实例。

interface InitializeRAGParams {
  apiKey: string;
  config?: {
    chunkSize?: number;
    chunkOverlap?: number;
    maxRetrievedDocs?: number;
  };
}

add_document

向知识库添加文档。

interface AddDocumentParams {
  content: string;
  metadata?: Record;
}

ask_question

使用 RAG 技术回答问题。

interface AskQuestionParams {
  question: string;
}

interface AskQuestionResponse {
  question: string;
  answer: string;
  sources?: Array;
  }>;
  timestamp: string;
}

🤝 贡献

欢迎提交 Issue 和 Pull Request!

  1. Fork 项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开 Pull Request

📄 许可证

MIT License - 详见 LICENSE 文件

🙏 致谢

📞 支持


⭐ 如果这个项目对你有帮助,请给它一个星标!

目录标签

目录标签

检索增强生成文档处理JavaScriptClaude本地部署智能问答向量存储MCP协议

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP