Token导航 LogoToken导航

MCP Server · 文档知识

Vector Knowledge Base MCP Server

基于FastAPI和FastMCP的高性能向量知识库服务器,提供文档存储、相似性搜索和智能检索功能。

未说明官方级别未说明来源级核验工具 0
知识管理搜索FastAPI向量数据库

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
akvo
提供方
akvo

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Vector Knowledge Base MCP Server 属于文档知识类 MCP Server,公开资料标注 0 个工具,通过传输方式未标注接入,客户端适配情况以官方文档为准,没有现成的安装命令;接入前先确认权限范围。

分类

文档知识

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

矢量知识库MCP服务器

基于FastAPI/FastMCP的高性能模型上下文协议(MCP)服务器,提供基于矢量的知识管理,具有文档存储、相似性搜索和智能检索功能。

______________________________________________________________________

📖 目录

- 📖 目录 - 🚀 特性 - 🏗️ 建筑 - 🛠️ 技术栈 - 📋 先决条件 - 🚀 快速开始 - 环境变量 - 开发设置 - 生产设置 - 服务端口(dev) - 🔑 身份验证和API密钥 - 使用管理员API密钥 - 使用API密钥 - 汇总表 - 📦 MinIO文档存储和公共访问 - 运作原理 - 配置 - 文档URL - 安全考虑 - 📖 API文档 - 📁 项目结构 - 🚨 故障排除 - 健康检查 - 🤝 贡献 - 开发指南 - 📄 许可证 - 🆘 支持

______________________________________________________________________

🚀 特性

  • FastAPI后端:高性能异步API服务器
  • 矢量数据库:用于语义搜索的ChromaDB集成
  • 文档存储:用于文件管理的MinIO对象存储
  • PostgreSQL数据库:结构化数据存储和元数据
  • MCP协议:使用FastMCP实现模型上下文协议服务器
  • 管理界面:PgAdmin用于数据库管理(仅限开发)
  • 开发就绪:包括热重载和开发工具

🏗️ 建筑

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   FastAPI App   │────│   ChromaDB      │────│   PostgreSQL    │
│   (Port 8100)   │    │   (Port 8101)   │    │   (Port 5432)   │
│─────────────────│    └─────────────────┘    └─────────────────┘
│   FastMCP App   │
│ (Port 8100/mcp) │
└─────────────────┘
         │
         │
┌─────────────────┐    ┌─────────────────┐
│     MinIO       │    │    PgAdmin      │
│ (Ports 9100/01) │    │   (Port 5550)   │
└─────────────────┘    └─────────────────┘

*上述模式中描述的所有端口均用于开发*

🛠️ 技术栈

  • 后端:Python 3.11的FastAPI+
  • 矢量数据库:用于嵌入和相似性搜索的ChromaDB
  • 数据库:PostgreSQL 12与Alpine Linux
  • 对象存储:MinIO用于文件存储
  • 容器化:Docker和Docker Compose
  • MCP协议:用于模型上下文协议实现的FastMCP

📋 先决条件

  • Docker和Docker Compose
  • Python 3.11+(用于本地开发)
  • Git

🚀 快速开始

环境变量

在运行应用程序之前,创建一个 .env 文件基于 .env.example:

cp .env.example .env

根据您的环境填写变量:

APP_ENV=dev
APP_PORT=8100

# Nginx
NGINX_PORT=8080

DATABASE_URL=postgresql://akvo:password@db:5432/kb_mcp

# MinIO settings
MINIO_ENDPOINT=minio:9000
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minioadmin
MINIO_BUCKET_NAME=documents
# Should be same as NGINX_PORT
MINIO_SERVER_URL=http://localhost:8080/minio

# Chroma DB settings
CHROMA_DB_HOST=chromadb
CHROMA_DB_PORT=8000
VECTOR_STORE_BATCH_SIZE=100

# OpenAI settings
OPENAI_API_KEY=your-openai-api-key-here
OPENAI_API_BASE=https://api.openai.com/v1
OPENAI_MODEL=gpt-4
OPENAI_EMBEDDINGS_MODEL=text-embedding-ada-002

# Admin Auth
ADMIN_API_KEY=your-admin-api-key-here

备注

  • APP_ENV 接受两个值: prod 或 dev.
  • 此变量控制中的启动命令 entrypoint.sh,确定应用程序是否在重新加载模式下运行(dev)或处于生产模式(prod).
  • VECTOR_STORE_BATCH_SIZE 控制在添加到向量存储时,一批处理多少个文档。在性能和达到一次可以存储的块数限制之间存在权衡——默认值为100,但您可以在此处调整此设置。
  • ADMIN_API_KEY 当前用于访问CRUD API密钥端点的身份验证。这样,脚本就可以创建一个API密钥,该密钥将用作访问CRUD知识库的身份验证令牌。

- 👉 如何生成 ADMIN_API_KEY

  • MINIO_ENDPOINT 是FastAPI应用程序用于与MinIO通信的内部Docker网络地址。
  • MINIO_SERVER_URL 是浏览器用于通过Nginx代理访问文档的外部URL。它应该与你的相匹配 NGINX_PORT.

开发设置

  1. 克隆存储库
   git clone git@github.com:akvo/vector-knowledge-base-mcp-server.git
   cd vector-knowledge-base-mcp-server
  1. 设置环境变量
   cp .env.example .env
   # Edit .env with your configurations
  1. 启动开发环境
   ./dev.sh up -d
  1. 验证服务是否正在运行
   docker compose ps
  1. 运行pytest

- 运行FastAPI端点测试

   ./dev.sh exec main ./test.sh api

- 运行e2e测试

   ./dev.sh exec main ./test.sh e2e

- 运行FastMCP测试

   ./dev.sh exec main ./test.sh mcp

- 运行所有测试

   ./dev.sh exec main ./test.sh all

生产设置

  1. 构建并启动生产服务
   docker compose -f docker-compose.yml up -d

服务端口(dev)

服务开发生产描述
FastAPI81008000主要应用程序API
ChromaDB81018001矢量数据库
PostgreSQL54325432主数据库
MinIO API91009000对象存储API
MinIO控制台91019001MinIO web界面
PgAdmin5550-数据库管理员(仅限开发人员)
Nginx808080反向代理

🔑 身份验证和API密钥

此项目使用 API密钥 用于访问知识库和管理API的身份验证。有两种类型的密钥:

  1. 管理员API密钥 (ADMIN_API_KEY)–用于管理操作,例如创建或撤销其他API密钥。
  2. API密钥 –通过管理员API生成以访问知识库端点。

使用管理员API密钥

  • 你的 ADMIN_API_KEY 定义在您的 .env 文件。
  • 要执行管理任务,请将其包含在 Authorization 头球
Authorization: Admin-API-Key 

示例:通过管理端点创建新的API密钥

curl -X POST http://localhost:8100/api/v1/api-key \
  -H "Authorization: Admin-Key sk_xxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"name": "app-name", "is_active": true}'

使用API密钥

  • 生成的API密钥用于访问受保护的知识库终结点。
  • 将其纳入 Authorization 头球
Authorization: API-Key 

示例:查询知识库

curl -X GET http://localhost:8100/api/v1/knowledge-base \
  -H "Authorization: API-Key sk_xxxxxxx"

👉 有关详细信息 API-Key 用法,请阅读:SECURITY.md

汇总表

密钥类型标题名称目的
管理员API密钥Authorization: Admin-Key 管理API密钥和管理任务
用户/API密钥Authorization: API-Key 访问知识库并执行CRUD操作

📦 MinIO文档存储和公共访问

此应用程序使用MinIO进行对象存储,并通过Nginx反向代理提供对上传文档的公共访问。这允许在web浏览器中直接查看或下载文档,而不需要AWS基于签名的身份验证。

运作原理

文档访问流旨在与Docker网络无缝协作:

Browser Request
    ↓
http://localhost:8080/minio/documents/kb_1/file.pdf
    ↓
Nginx (port 8080) - Reverse Proxy
    ↓
MinIO Container (minio:9000) - Internal Docker Network
    ↓
Document Served

关键部件:

  1. 内部沟通(MINIO_ENDPOINT):

- FastAPI应用程序用于上传、删除和管理操作 - 格式: minio:9000 - 仅在Docker网络中可访问

  1. 外部访问(MINIO_SERVER_URL):

- 浏览器用于访问文档 - 格式: http://localhost:8080/minio - 通过Nginx反向代理路由

  1. 公共存储桶策略:

- MinIO存储桶配置了公共读取策略 - 允许在没有AWS签名的情况下直接访问文档 - 策略版本 2012-10-17 是AWS S3标准(静态,永不更改)

配置

环境变量:

# Internal endpoint - used by FastAPI for operations
MINIO_ENDPOINT=minio:9000

# External endpoint - used by browsers to access files
MINIO_SERVER_URL=http://localhost:8080/minio

# MinIO credentials
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minioadmin
MINIO_BUCKET_NAME=documents

Nginx配置:

Nginx代理配置为转发 /minio/* 对MinIO服务的请求:

location /minio/ {
    proxy_pass http://minio/;
    proxy_set_header Host $host;
    # ... additional proxy settings
}

文档URL

当文档被上传和处理时,API以以下格式返回URL:

{
  "document_id": 1,
  "file_name": "example.pdf",
  "file_path": "http://localhost:8080/minio/documents/kb_1/example.pdf",
  "file_type": "application/pdf",
  "is_viewable_in_browser": true
}

这些URL可以是:

  • 直接在浏览器中打开
  • 嵌入于 `` 元素
  • 用于PDF查看器
  • 通过直接链接下载

安全考虑

当前设置:

  • 知识库中的文档是公开可读的
  • 文档访问不需要身份验证
  • 适用于内部网络或非敏感数据

对于使用敏感数据的生产:

如果需要限制文档访问,请考虑:

  1. 基于API的访问:通过已验证的API终结点删除公共存储桶策略和流式文档
  2. Nginx身份验证:在Nginx级别添加身份验证
  3. 网络隔离:将MinIO和Nginx保持在专用网络上
  4. VPN/防火墙:仅限制访问授权网络

禁用公共访问,删除或修改中的bucket策略 minio_service.py:

# Comment out or remove this in init_minio()
# set_bucket_public_read_policy(bucket_name)

然后根据您的安全需求在API或Nginx级别实现身份验证。

📖 API文档

应用程序运行后 (uvicorn app.main:app --reload 或通过Docker),API文档可通过 FastAPI文档:

  • Swagger用户界面→ http://localhost:8000/api/docs或http://localhost:8100/api/docs
  • ReDoc→ http://localhost:8000/redoc或http://localhost:8100/redoc

通过这些界面,您可以:

  • 直接试用端点
  • 查看请求和响应模式
  • 交互式测试API

📁 项目结构

vector-knowledge-base-mcp-server/
├── main/                          # FastAPI application
│   ├── app/
│   │   ├── api/                   # API routes (endpoint FastAPI)
│   │   ├── core/                  # Core configuration (settings, logging, security)
│   │   ├── mcp/                   # MCP related files (FastMCP server, tools)
│   │   ├── models/                # Pydantic models / ORM models
│   │   ├── schemas/               # API schemas (Pydantic / base)
│   │   ├── services/              # Business logic / service layer
│   │   ├── utils/                 # Helpers / utilities
│   ├── tests/                     # Unit / integration tests
│   ├── Dockerfile
│   └── requirements.txt
├── script/                        # Data pipeline and init scripts
├── nginx/                         # Nginx reverse proxy
│   ├── conf.d/
│   │   └── default.conf          # Nginx configuration
│   └── Dockerfile
├── db/
│   ├── docker-entrypoint-initdb.d/ # Init SQL scripts
│   └── script/                    # Migration / seed
├── pgadmin4/
│   └── servers.json               # GUI config
├── docker-compose.yml             # Compose prod
├── docker-compose.override.yml    # Override dev
├── .env.example                   # Env vars
└── README.md

🚨 故障排除

健康检查

# Check all services
curl http://localhost:8100/health

# Check individual components
curl http://localhost:8101/api/v2/heartbeat  # ChromaDB
curl http://localhost:9100/minio/health/live # MinIO
curl http://localhost:8080/health            # Nginx

常见问题:

  1. 无法访问文档(404错误)

- 验证Nginx是否正在运行: docker compose ps nginx - 检查Nginx日志: docker compose logs nginx - 确保 MINIO_SERVER_URL 匹配您的 NGINX_PORT

  1. MinIO连接被拒绝

- 验证MinIO是否正在运行: docker compose ps minio - 检查MinIO日志: docker compose logs minio - 确保正确设置bucket策略(启动时检查应用程序日志)

  1. 浏览器中未加载文档

- 检查URL格式是否正确: http://localhost:8080/minio/documents/... - 验证bucket策略:访问MinIO控制台 http://localhost:9101 并检查bucket权限 - 在中查看Nginx代理配置 nginx/conf.d/default.conf

🤝 贡献

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

开发指南

  • 遵循PEP 8风格指南
  • 为新功能添加测试
  • 更新API变更文档
  • 对提交消息使用常规提交

📄 许可证

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

🆘 支持

  • 问题:在GitHub上打开一个问题
  • 文档:检查 /docs 服务器运行时的终结点
  • 社区:在GitHub讨论中加入我们的讨论

______________________________________________________________________

建于❤️ 使用FastAPI和FastMCP

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

知识管理Python本地部署语义搜索文档存储向量数据库FastAPI

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

读长文档提问

把 PDF、Markdown 和笔记交给模型,按章节追问细节。

整理知识库

把零散资料归档、打标签,检索时更容易命中。

批量出摘要

提取要点,输出能直接引用的段落。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在文档知识场景里让模型直接调用外部能力的人。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Vector Knowledge Base MCP Server

MCP World · 本页

0未说明未标注1 个2026-05-17
Cherry Studio

MCP World

0未说明未标注1 个2026-05-17
Pdf Math Translate

MCP World

0stdio有1 个2026-05-17
report generation

MCP World

0stdio有1 个2026-05-17
Anything To Notebooklm

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Vector Knowledge Base MCP Server 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Vector Knowledge Base MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Vector Knowledge Base MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Vector Knowledge Base MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Vector Knowledge Base MCP Server 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP