版本:0.1.14
这是一个MCP服务器实现,允许在向量数据库技术之间进行标准化的集合管理系统。
这个实现受到了微软Autogen V1框架中RAG实现的启发,但被改成了MCP服务器模型。
AI代理可以:
支持:
此仓库正在积极维护 - 欢迎贡献和错误报告!
计划进行自动化测试
<details> <summary><b>使用方法:</b></summary>| 短标志 | 长标志 | 描述 |
|---|---|---|
| -h | --help | 显示帮助信息 |
| -t | --transport | 传输方式:'stdio','http' 或 'sse' [遗留](默认:stdio) |
| -s | --host | HTTP传输的主机地址(默认:0.0.0.0) |
| -p | --port | HTTP传输的端口号(默认:8000) |
| --auth-type | 认证类型:'none','static','jwt','oauth-proxy','oidc-proxy','remote-oauth'(默认:none) | |
| --token-jwks-uri | JWT验证的JWKS URI | |
| --token-issuer | JWT验证的发行人 | |
| --token-audience | JWT验证的目标 | |
| --oauth-upstream-auth-endpoint | OAuth代理的上游授权端点 | |
| --oauth-upstream-token-endpoint | OAuth代理的上游令牌端点 | |
| --oauth-upstream-client-id | OAuth代理的上游客户端ID | |
| --oauth-upstream-client-secret | OAuth代理的上游客户端密钥 | |
| --oauth-base-url | OAuth代理的基础URL | |
| --oidc-config-url | OIDC配置URL | |
| --oidc-client-id | OIDC客户端ID | |
| --oidc-client-secret | OIDC客户端密钥 | |
| --oidc-base-url | OIDC代理的基础URL | |
| --remote-auth-servers | 远程OAuth的授权服务器列表(逗号分隔) | |
| --remote-base-url | 远程OAuth的基础URL | |
| --allowed-client-redirect-uris | 允许的客户端重定向URI列表(逗号分隔) | |
| --eunomia-type | Eunomia认证类型:'none','embedded','remote'(默认:none) | |
| --eunomia-policy-file | 嵌入式Eunomia的策略文件(默认:mcp_policies.json) | |
| --eunomia-remote-url | 远程Eunomia服务器的URL |
MCP服务器可以在两种模式下运行:stdio(用于本地测试)或http(用于网络访问)。启动服务器时,请使用以下命令:
vector-mcp --transport "stdio"
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服务器可以使用Docker部署,具有可配置的身份验证、中间件和Eunomia认证。
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.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" />
特别感谢Microsoft Autogen V1 ♥️