模型上下文协议服务器

MCP服务器是一个基于LangChain和ChromaDB的信息检索与向量数据库管理工具,支持文档搜索和向量存储操作。

  • by sykim52
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 seonokkim/mcp-server

使用说明

MCP服务器项目

此存储库包含模型上下文协议(MCP)服务器的实现。该项目演示了如何构建和运行一个功能齐全的MCP服务器,该服务器可以与Claude Desktop等LLM客户端集成。

主要特点

此MCP服务器提供了一套专注于信息检索和矢量数据库管理的工具,主要利用LangChain和ChromaDB:

  • 有针对性的文档搜索:

    • 在官方文档中快速搜索流行的AI/ML库:
      • Langchain
      • OpenAI
      • 调用Index
    • 直接从文档网站检索相关文本片段。
  • ChromaDB矢量数据库集成:

    • 设置:使用您自己的文本数据和可选元数据创建和初始化ChromaDB矢量存储。
    • 持久性:将数据库持久化到磁盘以供以后使用或在内存存储中使用的选项。
    • 询问:对ChromaDB实例执行语义搜索,根据查询相似度查找相关文档。
    • 演示:一个内置的演示工具,用于展示示例数据的设置和查询功能。
  • 由LangChain提供技术支持:

    • 将LangChain用于文档处理、嵌入管理(默认使用OpenAI Embeddeds)和向量存储交互等核心功能。

系统要求

  • Python 3.11或更高版本(如 pyproject.toml)
  • uv 包管理器
  • 中列出的依赖关系 pyproject.toml (例如。, mcp[cli], httpx, langchain)

入门指南

1.安装 uv 程序包管理器

如果你没有 uv 已安装,您可以使用以下方式安装:

curl -LsSf https://astral.sh/uv/install.sh | sh

安装后重新启动终端。

2.项目设置

克隆此存储库(如果您还没有)并导航到项目目录:

# cd /path/to/your/mcp-server

创建虚拟环境并安装依赖项:

uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install -r requirements.txt # Or use uv pip install -e . if setup.py or pyproject.toml is configured for editable install
# Based on your pyproject.toml, you might also directly use:
# uv add beautifulsoup4 httpx "mcp[cli]" langchain langchain-community langchain-core chromadb
# Or more simply if pyproject.toml is complete:
# uv sync

(注意:确保 pyproject.toml 已完成或您有 requirements.txt 为了 uv pip install -r requirements.txt. uv sync 如果满足以下条件,通常更受欢迎 pyproject.toml 定义所有依赖关系。)

3.运行服务器

要启动MCP服务器,请运行:

uv run main.py

服务器将启动并准备接受连接。

连接到克劳德桌面

要将此MCP服务器连接到Claude Desktop,请执行以下操作:

  1. 确保已安装Claude Desktop。

  2. 编辑位于以下位置的Claude Desktop配置文件 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)。

  3. 添加或更新 mcpServers 章节:

    {
        "mcpServers": {
            "mcp-server": { // You can choose any name
                "command": "/full/path/to/your/.venv/bin/uv", // Use absolute path to uv in your venv
                "args": [
                    "run",
                    "main.py"
                ],
                "dir": "/full/path/to/your/mcp-server" // Absolute path to this project directory
            }
        }
    }
    

    重要提示: 替换 /full/path/to/your/... 在您的系统上使用正确的绝对路径。使用 uv 建议使用项目的虚拟环境。

  4. 重新启动克劳德桌面。

致谢

该项目主要基于 mcp-server-example 由Alejandro AO慷慨提供。我们改编并利用了他原创作品的重要部分来构建这个服务器。我们衷心感谢Alejandro的杰出榜样,并将他的代码提供给社区。

您可以在此处找到Alejandro AO的原始存储库: https://github.com/alejandro-ao/mcp-server-example.

许可证

该项目根据MIT许可证获得许可。请参阅 LICENSE 文件以获取更多详细信息(如果存在)。