项目简介
Columnist-DB AI记忆MCP服务器是基于Columnist-DB数据库引擎构建的,专为AI应用优化。它提供了一个统一的AI记忆层,能够存储和管理多种类型的内容(如对话、文档、网页、研究论文、笔记),并通过MCP协议向LLM客户端(如Claude Code)提供上下文信息和工具调用能力。
主要功能点
- 通用内容存储: 能够存储各种结构化和非结构化数据,包括对话历史、文档、网页内容和研究论文。
- 混合搜索: 支持结合全文搜索和向量相似度搜索,实现高效且语义相关的内存检索。
- 上下文感知能力: 提供高级内存功能,如上下文搜索、记忆整合和相关内容发现,提升LLM的交互质量。
- 多设备同步: 内置企业级同步机制,支持跨设备数据一致性,确保AI记忆的持久性和可访问性。
- 生产级性能: 针对AI应用优化,查询10万个向量嵌入可在50毫秒内完成,并支持客户端持久化。
安装步骤
- 确保您已安装 Node.js (推荐 18+版本)。
- 打开您的终端或命令行工具。
- 运行以下命令安装AI记忆MCP服务器包: 'npm install columnist-db-ai-memory'
服务器配置
将以下配置信息添加到您的MCP客户端(例如Claude Code)的配置文件中,以启用AI记忆服务。请将 'my-ai-memory-db' 替换为您希望存储AI记忆的数据库名称。
{ "mcpServers": { "ai-memory": { "command": "node", "args": ["./node_modules/columnist-db-ai-memory/index.js"], "env": { "DB_NAME": "my-ai-memory-db" }, "description": "Columnist-DB AI记忆MCP服务器,提供通用内容存储和检索工具。", "tools": [ { "name": "store_content", "description": "在AI记忆中存储任何类型的内容(对话、文档、网页、笔记、自定义、研究论文等)。", "parameters_schema": { "content": "要存储的内容文本", "content_type": "内容类型,例如:conversation, document, web, note, custom, research", "title": "(可选)内容标题", "tags": "(可选)逗号分隔的标签", "metadata": "(可选)JSON格式的附加元数据", "source": "(可选)内容来源" } }, { "name": "search_memory", "description": "搜索所有存储的AI记忆内容。", "parameters_schema": { "query": "搜索查询文本", "content_type": "(可选)按内容类型过滤", "tags": "(可选)按逗号分隔的标签过滤", "limit": "(可选)最大返回结果数量,默认为10" } }, { "name": "get_content", "description": "根据ID检索特定内容。", "parameters_schema": { "content_id": "要检索的内容ID" } }, { "name": "store_conversation", "description": "存储AI对话历史。", "parameters_schema": { "messages": "JSON数组格式的对话消息", "summary": "(可选)对话摘要", "tags": "(可选)逗号分隔的标签" } }, { "name": "search_conversations", "description": "搜索对话历史。", "parameters_schema": { "query": "搜索查询文本", "tags": "(可选)按逗号分隔的标签过滤" } }, { "name": "store_document", "description": "存储带有元数据的文档。", "parameters_schema": { "content": "文档内容", "title": "文档标题", "author": "(可选)文档作者", "document_type": "(可选)文档类型,例如:article, report, email", "tags": "(可选)逗号分隔的标签" } }, { "name": "store_web_content", "description": "存储网页或在线内容。", "parameters_schema": { "content": "网页内容", "url": "来源URL", "title": "(可选)页面标题", "summary": "(可选)内容摘要" } }, { "name": "store_research_paper", "description": "存储带有学术元数据的研究论文。", "parameters_schema": { "title": "论文标题", "authors": "逗号分隔的作者列表", "abstract": "论文摘要", "publication_date": "出版日期 (YYYY-MM-DD)", "tags": "(可选)逗号分隔的标签", "url": "(可选)论文URL", "journal": "(可选)期刊/会议名称" } }, { "name": "get_memory_stats", "description": "获取存储内容的统计信息。", "parameters_schema": {} }, { "name": "clear_memory", "description": "从记忆中清除所有或筛选后的内容。", "parameters_schema": { "content_type": "(可选)清除特定内容类型", "tags": "(可选)清除带有特定标签的内容" } }, { "name": "export_memory", "description": "将记忆内容导出为各种格式。", "parameters_schema": { "format": "(可选)导出格式,例如:json, csv, markdown", "content_type": "(可选)导出特定内容类型" } }, { "name": "find_related_content", "description": "查找与某个主题或现有内容相关的内容。", "parameters_schema": { "topic": "主题或内容ID", "similarity_threshold": "(可选)相似度阈值,默认为0.7" } }, { "name": "summarize_content", "description": "生成存储内容的摘要。", "parameters_schema": { "content_ids": "(可选)逗号分隔的内容ID", "content_type": "(可选)摘要特定内容类型" } }, { "name": "contextual_memory_search", "description": "基于上下文感知搜索记忆。", "parameters_schema": { "current_topic": "当前对话主题", "user_preferences": "(可选)JSON格式的用户偏好", "time_context": "(可选)JSON格式的时间上下文" } }, { "name": "consolidate_memories", "description": "整合和优化记忆存储。", "parameters_schema": {} } ] } } }
基本使用方法
一旦MCP服务器配置完成并启动,您的LLM客户端(例如Claude Code、ChatGPT等)就可以通过调用上述定义的MCP工具与AI记忆服务器进行交互。
- 存储内容: LLM客户端可以调用 'store_content' 工具来存储任何类型的文本数据,例如:
- 'mcp.store_content({ content: "这是一个重要的项目笔记", content_type: "note", title: "项目A概述", tags: "项目, 笔记" })'
- 搜索记忆: LLM客户端可以调用 'search_memory' 工具来检索相关记忆,例如:
- 'mcp.search_memory({ query: "关于机器学习的讨论", content_type: "conversation", limit: 5 })'
- 获取统计: LLM客户端可以调用 'get_memory_stats' 工具来获取记忆使用情况的统计信息,例如:
- 'mcp.get_memory_stats()'
LLM客户端会根据其内部逻辑和用户指令,自动选择并调用这些工具,并处理服务器返回的响应。您无需直接编写代码调用这些工具,而是通过LLM客户端的自然语言交互来利用AI记忆服务器的功能。
信息
分类
AI与计算