RAG上下文MCP服务器是一个轻量级的模型上下文协议(MCP)服务器,它利用本地向量存储和数据库提供持久内存和上下文管理功能。该服务器使AI助手能够通过语义搜索和索引检索高效地存储和检索上下文信息。
本服务器提供了一个轻量级的解决方案,用于管理AI助手的上下文信息。它结合了本地向量存储和数据库,为AI助手提供持久的内存和上下文管理功能。
setContext
和getContext
。npm install -g @rag-context/mcp-server
npx @rag-context/mcp-server
将以下内容添加到Claude桌面版的配置文件中:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"rag-context": {
"command": "npx",
"args": ["@rag-context/mcp-server"],
"env": {
"RAG_CONTEXT_DATA_DIR": "/path/to/your/data/directory"
}
}
}
}
在Cursor设置中添加MCP服务器:
env RAG_CONTEXT_DATA_DIR=/path/to/your/data/directory npx @rag-context/mcp-server
RAG_CONTEXT_DATA_DIR
:数据库和向量索引的存储目录(默认:~/.rag-context-mcp
)服务器提供了两个主要工具:
使用自动向量化功能将信息存储到内存中:
{
"tool": "setContext",
"arguments": {
"key": "user_preferences",
"content": "The user prefers dark mode and uses VS Code as their primary editor",
"metadata": {
"category": "preferences",
"timestamp": "2024-01-15"
}
}
}
使用语义搜索检索相关上下文:
{
"tool": "getContext",
"arguments": {
"query": "What are the user's editor preferences?",
"limit": 5,
"threshold": 0.7
}
}
为了有效使用此MCP服务器,请在AI助手的系统提示中添加以下内容:
## 内存和上下文管理
你可以通过RAG上下文MCP服务器访问持久内存系统。这使你能够在不同对话中存储和检索信息。
### 何时存储上下文
在以下情况下存储信息:
- 用户分享偏好、设置或个人信息时
- 讨论重要的项目细节或配置时
- 做出关键决策或达成协议时
- 创建有用的代码片段或解决方案时
- 了解用户的工作流程、工具或环境时
### 如何存储上下文
使用`setContext`工具时,请提供:
- 一个具有描述性且唯一的键(例如,"project_setup_nextjs"、"user_pref_editor")
- 清晰、简洁的内容,以捕捉关键信息
- 相关的元数据(类别、项目、日期等)
示例:
```json
{
"key": "project_api_structure",
"content": "The project uses a REST API with /api/v1 prefix. Authentication is handled via JWT tokens in the Authorization header. Main endpoints: /users, /posts, /comments",
"metadata": {
"project": "blog-platform",
"type": "architecture",
"date": "2024-01-15"
}
}
在以下情况下检索上下文:
使用getContext
工具时,请提供:
示例:
{
"query": "API authentication setup for the blog project",
"limit": 3,
"threshold": 0.7
}
请记住:此内存可在所有对话中持久保存,通过记住重要的上下文和用户偏好,使你随着时间的推移更有帮助。
### 架构
服务器采用混合方法以实现最佳性能:
1. **SQLite数据库**:存储带有元数据的实际内容,提供快速的基于键的查找功能。
2. **向量索引**:使用嵌入技术实现语义搜索。
3. **本地嵌入**:使用Xenova/transformers进行隐私保护的本地文本嵌入。
### 数据存储
所有数据均存储在指定的数据目录中:
### 开发
#### 从源代码构建
```bash
# 克隆仓库
git clone https://github.com/yourusername/rag-context-mcp.git
cd rag-context-mcp
# 安装依赖项
npm install
# 构建项目
npm run build
# 在开发模式下运行
npm run dev
npm test
RAG_CONTEXT_DATA_DIR
控制数据的存储位置。RAG_CONTEXT_DATA_DIR
路径是否有效。欢迎贡献代码!请随时提交拉取请求。
本项目采用MIT许可证,详情请参阅LICENSE文件。
本项目受Anthropic的MCP内存服务器示例启发,但进行了以下改进: