返回市场
向量-mcp

向量-mcp

作者:Knuckles-Team5 星标更新:2025-10-29

项目介绍

向量数据库MCP服务器

PyPI - 版本 PyPI - 下载次数 GitHub 仓库星标数 GitHub 分支数 GitHub 贡献者数 PyPI - 许可证 GitHub

GitHub 最后一次提交 GitHub 拉取请求 GitHub 已关闭拉取请求 GitHub 问题

GitHub 主要语言 GitHub 语言数量 GitHub 仓库大小 GitHub 仓库文件数量 PyPI - Wheel PyPI - 实现

版本:0.1.14

这是一个MCP服务器实现,允许在向量数据库技术之间进行标准化的集合管理系统。

这个实现受到了微软Autogen V1框架中RAG实现的启发,但被改成了MCP服务器模型。

AI代理可以:

  • 使用本地文件系统或URL中的文档创建集合
  • 向集合添加文档
  • 利用集合进行检索增强生成(RAG)
  • 删除集合

支持:

  • ChromaDB
  • PGVector - 测试了90%
  • Couchbase - 测试了80%
  • Qdrant - 测试了80%
  • MongoDB - 测试了80%

此仓库正在积极维护 - 欢迎贡献和错误报告!

计划进行自动化测试

<details> <summary><b>使用方法:</b></summary>

MCP CLI

短标志长标志描述
-h--help显示帮助信息
-t--transport传输方式:'stdio','http' 或 'sse' [遗留](默认:stdio)
-s--hostHTTP传输的主机地址(默认:0.0.0.0)
-p--portHTTP传输的端口号(默认:8000)
--auth-type认证类型:'none','static','jwt','oauth-proxy','oidc-proxy','remote-oauth'(默认:none)
--token-jwks-uriJWT验证的JWKS URI
--token-issuerJWT验证的发行人
--token-audienceJWT验证的目标
--oauth-upstream-auth-endpointOAuth代理的上游授权端点
--oauth-upstream-token-endpointOAuth代理的上游令牌端点
--oauth-upstream-client-idOAuth代理的上游客户端ID
--oauth-upstream-client-secretOAuth代理的上游客户端密钥
--oauth-base-urlOAuth代理的基础URL
--oidc-config-urlOIDC配置URL
--oidc-client-idOIDC客户端ID
--oidc-client-secretOIDC客户端密钥
--oidc-base-urlOIDC代理的基础URL
--remote-auth-servers远程OAuth的授权服务器列表(逗号分隔)
--remote-base-url远程OAuth的基础URL
--allowed-client-redirect-uris允许的客户端重定向URI列表(逗号分隔)
--eunomia-typeEunomia认证类型:'none','embedded','remote'(默认:none)
--eunomia-policy-file嵌入式Eunomia的策略文件(默认:mcp_policies.json)
--eunomia-remote-url远程Eunomia服务器的URL

作为MCP服务器使用

MCP服务器可以在两种模式下运行:stdio(用于本地测试)或http(用于网络访问)。启动服务器时,请使用以下命令:

在stdio模式下运行(默认):

vector-mcp --transport "stdio"

在HTTP模式下运行:

vector-mcp --transport "http"  --host "0.0.0.0"  --port "8000"

创建集合

AI提示:

创建一个名为zapdos的集合,使用这个目录中的文档:
/home/user/Documents/Chroma

AI响应:

已成功创建或从向量数据库中检索到名为"zapdos"的集合,使用了目录/home/user/Documents/Chroma中的文档。
如果您希望执行进一步的操作,如查询集合或添加更多文档,请告知我!

从集合中检索

AI提示:

创建一个名为zapdos的集合,使用这个目录中的文档:
/home/user/Documents/Chroma

AI响应:

已成功创建或从向量数据库中检索到名为"zapdos"的集合,使用了目录/home/user/Documents/Chroma中的文档。
如果您希望执行进一步的操作,如查询集合或添加更多文档,请告知我!

删除集合

AI提示:

删除名为memory的集合

AI响应:

已成功删除名为"memory"的集合。
如果您希望创建新的集合或执行其他操作,请告知我!

部署MCP服务器为服务

MCP服务器可以使用Docker部署,具有可配置的身份验证、中间件和Eunomia认证。

使用Docker Run

docker pull knucklessg1/vector-mcp:latest

docker run -d \
  --name vector-mcp \
  -p 8004:8004 \
  -e HOST=0.0.0.0 \
  -e PORT=8004 \
  -e TRANSPORT=http \
  -e AUTH_TYPE=none \
  -e EUNOMIA_TYPE=none \
  knucklessg1/vector-mcp:latest

对于高级身份验证(例如JWT、OAuth代理、OIDC代理、远程OAuth)或Eunomia,添加相关环境变量:

docker run -d \
  --name vector-mcp \
  -p 10004:10004 \
  -e HOST=0.0.0.0 \
  -e PORT=10004 \
  -e TRANSPORT=http \
  -e AUTH_TYPE=oidc-proxy \
  -e OIDC_CONFIG_URL=https://provider.com/.well-known/openid-configuration \
  -e OIDC_CLIENT_ID=your-client-id \
  -e OIDC_CLIENT_SECRET=your-client-secret \
  -e OIDC_BASE_URL=https://your-server.com \
  -e ALLOWED_CLIENT_REDIRECT_URIS=http://localhost:*,https://*.example.com/* \
  -e EUNOMIA_TYPE=embedded \
  -e EUNOMIA_POLICY_FILE=/app/mcp_policies.json \
  knucklessg1/vector-mcp:latest

使用Docker Compose

创建一个docker-compose.yml文件:

services:
  vector-mcp:
    image: knucklessg1/vector-mcp:latest
    environment:
      - HOST=0.0.0.0
      - PORT=8004
      - TRANSPORT=http
      - AUTH_TYPE=none
      - EUNOMIA_TYPE=none
    ports:
      - 8004:8004

对于带有身份验证和Eunomia的高级设置:

services:
  vector-mcp:
    image: knucklessg1/vector-mcp:latest
    environment:
      - HOST=0.0.0.0
      - PORT=8004
      - TRANSPORT=http
      - AUTH_TYPE=oidc-proxy
      - OIDC_CONFIG_URL=https://provider.com/.well-known/openid-configuration
      - OIDC_CLIENT_ID=your-client-id
      - OIDC_CLIENT_SECRET=your-client-secret
      - OIDC_BASE_URL=https://your-server.com
      - ALLOWED_CLIENT_REDIRECT_URIS=http://localhost:*,https://*.example.com/*
      - EUNOMIA_TYPE=embedded
      - EUNOMIA_POLICY_FILE=/app/mcp_policies.json
    ports:
      - 8004:8004
    volumes:
      - ./mcp_policies.json:/app/mcp_policies.json

运行服务:

docker-compose up -d

配置mcp.json以集成AI

{
  "mcpServers": {
    "vector_mcp": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "vector-mcp",
        "vector-mcp"
      ],
      "env": {
        "DATABASE_TYPE": "chromadb",                   // 可选
        "COLLECTION_NAME": "memory",                   // 可选
        "DOCUMENT_DIRECTORY": "/home/user/Documents/"  // 可选
      },
      "timeout": 300000
    }
  }
}
</details> <details> <summary><b>安装说明:</b></summary>

安装Python包

python -m pip install vector-mcp

PGVector依赖项

python -m pip install vector-mcp[pgvector]

全部

python -m pip install vector-mcp[all]

或者

uv pip install --upgrade vector-mcp[all]
</details> <details> <summary><b>仓库所有者:</b></summary> <img width="100%" height="180em" src="https://github-readme-stats.vercel.app/api?username=Knucklessg1&show_icons=true&hide_border=true&&count_private=true&include_all_commits=true" />

GitHub 关注者 GitHub 用户星标数

</details>

特别感谢Microsoft Autogen V1 ♥️