研究助手向量存储服务

一个基于ChromaDB向量存储的研究助手服务,提供研究内容的保存、检索和管理功能。

  • by laxmimerit
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 laxmimerit/research-assistant-mcp

使用说明

研究助理MCP服务器

一种模型上下文协议(MCP)服务器,通过ChromaDB矢量存储提供研究辅助功能。该服务器使AI助手能够使用向量嵌入高效地保存、检索和管理研究内容。

特性

  • 矢量存储器:使用ChromaDB进行高效存储和检索
  • 主题组织:按主题组织研究内容
  • 去重:使用哈希进行自动重复数据删除
  • 语义搜索:使用自然语言查询研究内容
  • 多个主题:同时管理多个研究主题
  • OpenAI嵌入:使用OpenAI的文本嵌入3-small模型

安装

使用uvx(推荐)

uvx research-assistant-mcp

使用紫外线

uv pip install research-assistant-mcp

使用pip

pip install research-assistant-mcp

来源

git clone https://github.com/laxmimerit/research-assistant-mcp.git
cd research-assistant-mcp
uv pip install -e .

配置

环境变量

必修的:

  • OPENAI_API_KEY -用于嵌入的OpenAI API密钥
  • RESEARCH_DB_PATH -存储研究数据库的基本路径
    • A. research_chroma_dbs 将在此路径内创建目录
    • 例子: /path/to/data (将创建 /path/to/data/research_chroma_dbs)
    • 例子: ~/.research_assistant_mcp (将创建 ~/.research_assistant_mcp/research_chroma_dbs)

创建 .env 使用您的配置文件:

OPENAI_API_KEY=your-api-key-here
RESEARCH_DB_PATH=/path/to/data

Claude桌面配置

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "research-assistant": {
      "command": "uvx",
      "args": ["research-assistant-mcp"],
      "env": {
        "OPENAI_API_KEY": "your-api-key-here",
        "RESEARCH_DB_PATH": "/path/to/data"
      }
    }
  }
}

注:两者 OPENAI_API_KEY 和 RESEARCH_DB_PATH 是必需的。数据库将存储在 RESEARCH_DB_PATH/research_chroma_dbs/.

可用工具

1.保存_研究_数据

将研究内容保存到矢量数据库以供将来检索。

参数:

  • content (List[str]):要保存的文本内容列表
  • topic (str):用于组织数据的主题名称(创建单独的数据库)

例子:

Save these research findings about AI to the "artificial-intelligence" topic

2.查询_搜索_数据

使用自然语言查询保存的研究内容。

参数:

  • query (str):自然语言查询
  • topic (str):要搜索的主题(默认值:“default”)
  • k (int):要返回的结果数(默认值:5)

例子:

Query the "artificial-intelligence" topic for information about transformers

3.列表主题

列出所有可用的研究主题及其文档数量。

例子:

List all available research topics

4.删除主题

删除研究主题及其所有相关数据。

参数:

  • topic (str):要删除的主题名称

例子:

Delete the "old-research" topic

5.get_topic_info

获取特定主题的详细信息。

参数:

  • topic (str):主题名称

例子:

Get information about the "artificial-intelligence" topic

使用示例

一旦配置了Claude Desktop或其他MCP客户端,您就可以:

  • “将这篇关于机器学习的文章保存到我的‘ml研究’主题中”
  • “查询我的‘ml研究’以获取有关神经网络的信息”
  • “列出我的所有研究主题”
  • “获取有关‘量子计算’主题的信息”
  • “删除‘旧笔记’主题”

技术细节

  • 协议:模型上下文协议(MCP)
  • 运输标准: stdio
  • 矢量数据库:ChromaDB
  • 嵌入:OpenAI文本嵌入3-small
  • 存储:本地文件系统位于 RESEARCH_DB_PATH/research_chroma_dbs/

需求

  • Python 3.11或更高版本
  • OpenAI API密钥
  • 依赖项:chromadb、langchain、fastmcp、openai

发展

设置开发环境

# Clone the repository
git clone https://github.com/laxmimerit/research-assistant-mcp.git
cd research-assistant-mcp

# Install with development dependencies
uv pip install -e .

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

作者

拉克希米康德蒂瓦里

  • 电子邮件:info@kgptalkie.com
  • github:https://github.com/laxmimerit

致谢