files-vector-mcp-server


Namefiles-vector-mcp-server JSON
Version 0.1.14 PyPI version JSON
download
home_pageNone
SummaryA FastMCP server for file vectorization and similarity search
upload_time2025-09-19 00:44:05
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords mcp vector-search embeddings
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # files-vector-mcp-server
**注:本项目完全由 [coze](https://coze.cn) 生成,想法是希望通过小智 AI 等智能体结合 Obsidian 等 Markdown 笔记,实现简单的语音记录和查询,部分功能尚未测试,使用前请务必备份自己的笔记!!!**

一个基于FastMCP协议的文件向量化服务,支持自动目录监控、多格式文件处理和高效向量搜索,帮助你构建个人或团队知识库。

## 🌟 核心功能

- 📂 **自动目录监控**:实时监测指定目录的文件变化,自动处理新增/修改文件
- 📄 **多格式支持**:处理Markdown、PDF、DOCX、PPTX、图片等多种文件类型
- 🧩 **智能分块**:长文本自动分割为语义连贯的块,保留文件路径上下文
- 🔍 **向量搜索**:基于pgvector的高效相似性搜索,支持块级内容定位
- 🛠️ **实用工具**:提供搜索、文件读取、Markdown创建等工具,支持工作流自动化

## 🚀 工作原理

### 处理流程

```
┌─────────────┐    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│  文件监控   │───>│ 内容提取与分块 │───>│ 文本向量化  │───>│ 向量存储与索引│
└─────────────┘    └─────────────┘    └─────────────┘    └─────────────┘
        │                                     │                    │
        │                                     │                    │
        ▼                                     ▼                    ▼
┌─────────────┐                     ┌─────────────┐           ┌─────────────┐
│ 检测文件变化 │                     │生成嵌入向量  │           │ 高效相似性搜索│
└─────────────┘                     └─────────────┘           └─────────────┘
```

### 核心原理

1. **文件监控**:使用`watchdog`库监控目录变化,触发文件处理流程
2. **内容提取**:针对不同文件类型使用相应库提取文本(如python-docx处理DOCX)
3. **智能分块**:
  - 按标题、段落等自然分隔符优先分割
  - 保留完整文件路径和块编号元数据
  - 支持重叠分块,避免语义断裂
4. **向量化**:调用OpenAI Embeddings API生成文本向量
5. **存储索引**:使用PostgreSQL+pgvector存储向量并创建IVFFlat索引
6. **向量搜索**:通过余弦相似度计算找到最相关的文件块

## 📦 安装与配置

### 前置要求

- Python 3.8+
- PostgreSQL 14+ (需安装pgvector扩展)
- OpenAI API密钥(用于向量化)

### 安装方式

#### 使用pip

```bash
pip install files-vector-mcp-server
```

#### 使用uvx(推荐)

```bash
uvx files-vector-mcp-server
```

### 环境配置

创建`.env`文件,配置以下环境变量:

```ini
# OpenAI配置
OPENAI_API_KEY=your_openai_api_key
OPENAI_API_URL=https://api.openai.com/v1
EMBEDDING_MODEL=text-embedding-ada-002
EMBEDDING_DIM=1024

# 数据库配置
DB_CONNECTION_STRING=postgres://user:password@localhost:5432/vector_db

# 监控目录配置(JSON格式)
WATCH_TOPICS={"docs": ["./docs"], "notes": ["./notes"]}

# 分块配置
CHUNK_SIZE=4000
CHUNK_OVERLAP=200

# 可选:MinerU API配置(高级OCR和文档处理)
MINERU_API_KEY=your_mineru_api_key
MINERU_API_URL=https://mineru.net/api/v4
```

## 💻 使用指南

### 启动服务

```bash
files-vector-mcp-server
```

### 核心工具使用

#### 1. 搜索文件内容

```bash
# 基础搜索(返回摘要)
search "Docker安装步骤"

# 搜索并返回完整内容
search "Docker安装步骤" return_content=true top_k=3
```

**返回结果示例**:

```json
{
  "status": "success",
  "data": [
    {
      "chunk_id": 42,
      "file_path": "/docs/install/docker.md",
      "chunk_num": 2,
      "total_chunks": 5,
      "similarity": 0.89,
      "content_preview": "## Docker安装步骤\n\n1. 更新apt包索引...",
      "content": "文件路径: /docs/install/docker.md\n块 2/5\n\n## Docker安装步骤\n\n1. 更新apt包索引...",
      "last_modified": "2025-09-18T10:30:00Z"
    }
  ]
}
```

#### 2. 读取完整文件

```bash
read_file "/docs/install/docker.md" max_chars=10000
```

#### 3. 创建Markdown文件

```bash
create_markdown "/notes/new_note.md" "# 新笔记\n\n这是通过API创建的笔记内容,将自动进行向量化处理。"
```

## ⚙️ 配置参数详解

| 参数名 | 描述  | 默认值                       |
| --- | --- |---------------------------|
| `WATCH_TOPICS` | 监控主题与目录映射(JSON) | `{"默认": ["./watch_dir"]}` |
| `CHUNK_SIZE` | 分块大小(字符) | 4000                      |
| `CHUNK_OVERLAP` | 块重叠字符数 | 200                       |
| `EMBEDDING_MODEL` | 嵌入模型名称 | text-embedding-ada-002    |
| `EMBEDDING_DIM` | 嵌入向量维度 | 1024                      |
| `BATCH_SIZE` | 批处理大小 | 5                         |
| `RETRY_ATTEMPTS` | API调用重试次数 | 3                         |
| `RETRY_DELAY` | 重试延迟(秒) | 5                         |

## 📋 使用场景

### 1. 个人知识库

- **自动索引**:监控笔记目录,新笔记自动加入知识库
- **快速检索**:通过关键词快速找到相关笔记片段
- **上下文保留**:搜索结果包含完整文件路径和块位置

### 2. 团队文档管理

- **统一检索**:跨文档类型搜索团队所有文档
- **版本追踪**:文件修改自动更新向量,保持内容最新
- **知识共享**:通过API集成到内部系统,实现知识共享

### 3. 内容创作辅助

- **素材收集**:快速查找引用资料和灵感
- **自动笔记**:使用`create_markdown`工具自动化笔记创建
- **内容优化**:通过搜索相似内容,优化写作表达

## ❓ 常见问题

### Q: 如何处理大型PDF文件?

A: 系统会自动分块处理,默认每块4000字符,可通过`CHUNK_SIZE`调整。对于扫描PDF,建议配置MinerU API启用OCR。

### Q: 服务启动失败提示"pgvector未安装"?

A: 需要在PostgreSQL中安装pgvector扩展:

```sql
CREATE EXTENSION vector;
```

### Q: 如何提高搜索准确性?

A: 可尝试:

- 减小`CHUNK_SIZE`,提高块粒度
- 使用更具体的搜索关键词
- 调整`top_k`参数获取更多结果

## 📄 许可证

本项目基于Apache License 2.0开源许可证 - 详见[LICENSE](LICENSE)文件

## 🤝 贡献与反馈

- 项目地址:[GitHub](https://github.com/928871247/files-vector-mcp-server)
- 问题反馈:[Issue Tracker](https://github.com/928871247/files-vector-mcp-server/issues)
- 功能建议:欢迎提交PR或Issue

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "files-vector-mcp-server",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "mcp, vector-search, embeddings",
    "author": null,
    "author_email": "Your Name <your.email@example.com>",
    "download_url": "https://files.pythonhosted.org/packages/0b/0c/f6b8396c20b94bd7a52ceb602ac9634735463040dc99a738e9e106669ed7/files_vector_mcp_server-0.1.14.tar.gz",
    "platform": null,
    "description": "# files-vector-mcp-server\r\n**\u6ce8\uff1a\u672c\u9879\u76ee\u5b8c\u5168\u7531 [coze](https://coze.cn) \u751f\u6210\uff0c\u60f3\u6cd5\u662f\u5e0c\u671b\u901a\u8fc7\u5c0f\u667a AI \u7b49\u667a\u80fd\u4f53\u7ed3\u5408 Obsidian \u7b49 Markdown \u7b14\u8bb0\uff0c\u5b9e\u73b0\u7b80\u5355\u7684\u8bed\u97f3\u8bb0\u5f55\u548c\u67e5\u8be2\uff0c\u90e8\u5206\u529f\u80fd\u5c1a\u672a\u6d4b\u8bd5\uff0c\u4f7f\u7528\u524d\u8bf7\u52a1\u5fc5\u5907\u4efd\u81ea\u5df1\u7684\u7b14\u8bb0\uff01\uff01\uff01**\r\n\r\n\u4e00\u4e2a\u57fa\u4e8eFastMCP\u534f\u8bae\u7684\u6587\u4ef6\u5411\u91cf\u5316\u670d\u52a1\uff0c\u652f\u6301\u81ea\u52a8\u76ee\u5f55\u76d1\u63a7\u3001\u591a\u683c\u5f0f\u6587\u4ef6\u5904\u7406\u548c\u9ad8\u6548\u5411\u91cf\u641c\u7d22\uff0c\u5e2e\u52a9\u4f60\u6784\u5efa\u4e2a\u4eba\u6216\u56e2\u961f\u77e5\u8bc6\u5e93\u3002\r\n\r\n## \ud83c\udf1f \u6838\u5fc3\u529f\u80fd\r\n\r\n- \ud83d\udcc2 **\u81ea\u52a8\u76ee\u5f55\u76d1\u63a7**\uff1a\u5b9e\u65f6\u76d1\u6d4b\u6307\u5b9a\u76ee\u5f55\u7684\u6587\u4ef6\u53d8\u5316\uff0c\u81ea\u52a8\u5904\u7406\u65b0\u589e/\u4fee\u6539\u6587\u4ef6\r\n- \ud83d\udcc4 **\u591a\u683c\u5f0f\u652f\u6301**\uff1a\u5904\u7406Markdown\u3001PDF\u3001DOCX\u3001PPTX\u3001\u56fe\u7247\u7b49\u591a\u79cd\u6587\u4ef6\u7c7b\u578b\r\n- \ud83e\udde9 **\u667a\u80fd\u5206\u5757**\uff1a\u957f\u6587\u672c\u81ea\u52a8\u5206\u5272\u4e3a\u8bed\u4e49\u8fde\u8d2f\u7684\u5757\uff0c\u4fdd\u7559\u6587\u4ef6\u8def\u5f84\u4e0a\u4e0b\u6587\r\n- \ud83d\udd0d **\u5411\u91cf\u641c\u7d22**\uff1a\u57fa\u4e8epgvector\u7684\u9ad8\u6548\u76f8\u4f3c\u6027\u641c\u7d22\uff0c\u652f\u6301\u5757\u7ea7\u5185\u5bb9\u5b9a\u4f4d\r\n- \ud83d\udee0\ufe0f **\u5b9e\u7528\u5de5\u5177**\uff1a\u63d0\u4f9b\u641c\u7d22\u3001\u6587\u4ef6\u8bfb\u53d6\u3001Markdown\u521b\u5efa\u7b49\u5de5\u5177\uff0c\u652f\u6301\u5de5\u4f5c\u6d41\u81ea\u52a8\u5316\r\n\r\n## \ud83d\ude80 \u5de5\u4f5c\u539f\u7406\r\n\r\n### \u5904\u7406\u6d41\u7a0b\r\n\r\n```\r\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510    \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510    \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510    \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502  \u6587\u4ef6\u76d1\u63a7   \u2502\u2500\u2500\u2500>\u2502 \u5185\u5bb9\u63d0\u53d6\u4e0e\u5206\u5757 \u2502\u2500\u2500\u2500>\u2502 \u6587\u672c\u5411\u91cf\u5316  \u2502\u2500\u2500\u2500>\u2502 \u5411\u91cf\u5b58\u50a8\u4e0e\u7d22\u5f15\u2502\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518    \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518    \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518    \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n        \u2502                                     \u2502                    \u2502\r\n        \u2502                                     \u2502                    \u2502\r\n        \u25bc                                     \u25bc                    \u25bc\r\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510                     \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510           \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502 \u68c0\u6d4b\u6587\u4ef6\u53d8\u5316 \u2502                     \u2502\u751f\u6210\u5d4c\u5165\u5411\u91cf  \u2502           \u2502 \u9ad8\u6548\u76f8\u4f3c\u6027\u641c\u7d22\u2502\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518                     \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518           \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n```\r\n\r\n### \u6838\u5fc3\u539f\u7406\r\n\r\n1. **\u6587\u4ef6\u76d1\u63a7**\uff1a\u4f7f\u7528`watchdog`\u5e93\u76d1\u63a7\u76ee\u5f55\u53d8\u5316\uff0c\u89e6\u53d1\u6587\u4ef6\u5904\u7406\u6d41\u7a0b\r\n2. **\u5185\u5bb9\u63d0\u53d6**\uff1a\u9488\u5bf9\u4e0d\u540c\u6587\u4ef6\u7c7b\u578b\u4f7f\u7528\u76f8\u5e94\u5e93\u63d0\u53d6\u6587\u672c\uff08\u5982python-docx\u5904\u7406DOCX\uff09\r\n3. **\u667a\u80fd\u5206\u5757**\uff1a\r\n  - \u6309\u6807\u9898\u3001\u6bb5\u843d\u7b49\u81ea\u7136\u5206\u9694\u7b26\u4f18\u5148\u5206\u5272\r\n  - \u4fdd\u7559\u5b8c\u6574\u6587\u4ef6\u8def\u5f84\u548c\u5757\u7f16\u53f7\u5143\u6570\u636e\r\n  - \u652f\u6301\u91cd\u53e0\u5206\u5757\uff0c\u907f\u514d\u8bed\u4e49\u65ad\u88c2\r\n4. **\u5411\u91cf\u5316**\uff1a\u8c03\u7528OpenAI Embeddings API\u751f\u6210\u6587\u672c\u5411\u91cf\r\n5. **\u5b58\u50a8\u7d22\u5f15**\uff1a\u4f7f\u7528PostgreSQL+pgvector\u5b58\u50a8\u5411\u91cf\u5e76\u521b\u5efaIVFFlat\u7d22\u5f15\r\n6. **\u5411\u91cf\u641c\u7d22**\uff1a\u901a\u8fc7\u4f59\u5f26\u76f8\u4f3c\u5ea6\u8ba1\u7b97\u627e\u5230\u6700\u76f8\u5173\u7684\u6587\u4ef6\u5757\r\n\r\n## \ud83d\udce6 \u5b89\u88c5\u4e0e\u914d\u7f6e\r\n\r\n### \u524d\u7f6e\u8981\u6c42\r\n\r\n- Python 3.8+\r\n- PostgreSQL 14+ \uff08\u9700\u5b89\u88c5pgvector\u6269\u5c55\uff09\r\n- OpenAI API\u5bc6\u94a5\uff08\u7528\u4e8e\u5411\u91cf\u5316\uff09\r\n\r\n### \u5b89\u88c5\u65b9\u5f0f\r\n\r\n#### \u4f7f\u7528pip\r\n\r\n```bash\r\npip install files-vector-mcp-server\r\n```\r\n\r\n#### \u4f7f\u7528uvx\uff08\u63a8\u8350\uff09\r\n\r\n```bash\r\nuvx files-vector-mcp-server\r\n```\r\n\r\n### \u73af\u5883\u914d\u7f6e\r\n\r\n\u521b\u5efa`.env`\u6587\u4ef6\uff0c\u914d\u7f6e\u4ee5\u4e0b\u73af\u5883\u53d8\u91cf\uff1a\r\n\r\n```ini\r\n# OpenAI\u914d\u7f6e\r\nOPENAI_API_KEY=your_openai_api_key\r\nOPENAI_API_URL=https://api.openai.com/v1\r\nEMBEDDING_MODEL=text-embedding-ada-002\r\nEMBEDDING_DIM=1024\r\n\r\n# \u6570\u636e\u5e93\u914d\u7f6e\r\nDB_CONNECTION_STRING=postgres://user:password@localhost:5432/vector_db\r\n\r\n# \u76d1\u63a7\u76ee\u5f55\u914d\u7f6e\uff08JSON\u683c\u5f0f\uff09\r\nWATCH_TOPICS={\"docs\": [\"./docs\"], \"notes\": [\"./notes\"]}\r\n\r\n# \u5206\u5757\u914d\u7f6e\r\nCHUNK_SIZE=4000\r\nCHUNK_OVERLAP=200\r\n\r\n# \u53ef\u9009\uff1aMinerU API\u914d\u7f6e\uff08\u9ad8\u7ea7OCR\u548c\u6587\u6863\u5904\u7406\uff09\r\nMINERU_API_KEY=your_mineru_api_key\r\nMINERU_API_URL=https://mineru.net/api/v4\r\n```\r\n\r\n## \ud83d\udcbb \u4f7f\u7528\u6307\u5357\r\n\r\n### \u542f\u52a8\u670d\u52a1\r\n\r\n```bash\r\nfiles-vector-mcp-server\r\n```\r\n\r\n### \u6838\u5fc3\u5de5\u5177\u4f7f\u7528\r\n\r\n#### 1. \u641c\u7d22\u6587\u4ef6\u5185\u5bb9\r\n\r\n```bash\r\n# \u57fa\u7840\u641c\u7d22\uff08\u8fd4\u56de\u6458\u8981\uff09\r\nsearch \"Docker\u5b89\u88c5\u6b65\u9aa4\"\r\n\r\n# \u641c\u7d22\u5e76\u8fd4\u56de\u5b8c\u6574\u5185\u5bb9\r\nsearch \"Docker\u5b89\u88c5\u6b65\u9aa4\" return_content=true top_k=3\r\n```\r\n\r\n**\u8fd4\u56de\u7ed3\u679c\u793a\u4f8b**\uff1a\r\n\r\n```json\r\n{\r\n  \"status\": \"success\",\r\n  \"data\": [\r\n    {\r\n      \"chunk_id\": 42,\r\n      \"file_path\": \"/docs/install/docker.md\",\r\n      \"chunk_num\": 2,\r\n      \"total_chunks\": 5,\r\n      \"similarity\": 0.89,\r\n      \"content_preview\": \"## Docker\u5b89\u88c5\u6b65\u9aa4\\n\\n1. \u66f4\u65b0apt\u5305\u7d22\u5f15...\",\r\n      \"content\": \"\u6587\u4ef6\u8def\u5f84: /docs/install/docker.md\\n\u5757 2/5\\n\\n## Docker\u5b89\u88c5\u6b65\u9aa4\\n\\n1. \u66f4\u65b0apt\u5305\u7d22\u5f15...\",\r\n      \"last_modified\": \"2025-09-18T10:30:00Z\"\r\n    }\r\n  ]\r\n}\r\n```\r\n\r\n#### 2. \u8bfb\u53d6\u5b8c\u6574\u6587\u4ef6\r\n\r\n```bash\r\nread_file \"/docs/install/docker.md\" max_chars=10000\r\n```\r\n\r\n#### 3. \u521b\u5efaMarkdown\u6587\u4ef6\r\n\r\n```bash\r\ncreate_markdown \"/notes/new_note.md\" \"# \u65b0\u7b14\u8bb0\\n\\n\u8fd9\u662f\u901a\u8fc7API\u521b\u5efa\u7684\u7b14\u8bb0\u5185\u5bb9\uff0c\u5c06\u81ea\u52a8\u8fdb\u884c\u5411\u91cf\u5316\u5904\u7406\u3002\"\r\n```\r\n\r\n## \u2699\ufe0f \u914d\u7f6e\u53c2\u6570\u8be6\u89e3\r\n\r\n| \u53c2\u6570\u540d | \u63cf\u8ff0  | \u9ed8\u8ba4\u503c                       |\r\n| --- | --- |---------------------------|\r\n| `WATCH_TOPICS` | \u76d1\u63a7\u4e3b\u9898\u4e0e\u76ee\u5f55\u6620\u5c04\uff08JSON\uff09 | `{\"\u9ed8\u8ba4\": [\"./watch_dir\"]}` |\r\n| `CHUNK_SIZE` | \u5206\u5757\u5927\u5c0f\uff08\u5b57\u7b26\uff09 | 4000                      |\r\n| `CHUNK_OVERLAP` | \u5757\u91cd\u53e0\u5b57\u7b26\u6570 | 200                       |\r\n| `EMBEDDING_MODEL` | \u5d4c\u5165\u6a21\u578b\u540d\u79f0 | text-embedding-ada-002    |\r\n| `EMBEDDING_DIM` | \u5d4c\u5165\u5411\u91cf\u7ef4\u5ea6 | 1024                      |\r\n| `BATCH_SIZE` | \u6279\u5904\u7406\u5927\u5c0f | 5                         |\r\n| `RETRY_ATTEMPTS` | API\u8c03\u7528\u91cd\u8bd5\u6b21\u6570 | 3                         |\r\n| `RETRY_DELAY` | \u91cd\u8bd5\u5ef6\u8fdf\uff08\u79d2\uff09 | 5                         |\r\n\r\n## \ud83d\udccb \u4f7f\u7528\u573a\u666f\r\n\r\n### 1. \u4e2a\u4eba\u77e5\u8bc6\u5e93\r\n\r\n- **\u81ea\u52a8\u7d22\u5f15**\uff1a\u76d1\u63a7\u7b14\u8bb0\u76ee\u5f55\uff0c\u65b0\u7b14\u8bb0\u81ea\u52a8\u52a0\u5165\u77e5\u8bc6\u5e93\r\n- **\u5feb\u901f\u68c0\u7d22**\uff1a\u901a\u8fc7\u5173\u952e\u8bcd\u5feb\u901f\u627e\u5230\u76f8\u5173\u7b14\u8bb0\u7247\u6bb5\r\n- **\u4e0a\u4e0b\u6587\u4fdd\u7559**\uff1a\u641c\u7d22\u7ed3\u679c\u5305\u542b\u5b8c\u6574\u6587\u4ef6\u8def\u5f84\u548c\u5757\u4f4d\u7f6e\r\n\r\n### 2. \u56e2\u961f\u6587\u6863\u7ba1\u7406\r\n\r\n- **\u7edf\u4e00\u68c0\u7d22**\uff1a\u8de8\u6587\u6863\u7c7b\u578b\u641c\u7d22\u56e2\u961f\u6240\u6709\u6587\u6863\r\n- **\u7248\u672c\u8ffd\u8e2a**\uff1a\u6587\u4ef6\u4fee\u6539\u81ea\u52a8\u66f4\u65b0\u5411\u91cf\uff0c\u4fdd\u6301\u5185\u5bb9\u6700\u65b0\r\n- **\u77e5\u8bc6\u5171\u4eab**\uff1a\u901a\u8fc7API\u96c6\u6210\u5230\u5185\u90e8\u7cfb\u7edf\uff0c\u5b9e\u73b0\u77e5\u8bc6\u5171\u4eab\r\n\r\n### 3. \u5185\u5bb9\u521b\u4f5c\u8f85\u52a9\r\n\r\n- **\u7d20\u6750\u6536\u96c6**\uff1a\u5feb\u901f\u67e5\u627e\u5f15\u7528\u8d44\u6599\u548c\u7075\u611f\r\n- **\u81ea\u52a8\u7b14\u8bb0**\uff1a\u4f7f\u7528`create_markdown`\u5de5\u5177\u81ea\u52a8\u5316\u7b14\u8bb0\u521b\u5efa\r\n- **\u5185\u5bb9\u4f18\u5316**\uff1a\u901a\u8fc7\u641c\u7d22\u76f8\u4f3c\u5185\u5bb9\uff0c\u4f18\u5316\u5199\u4f5c\u8868\u8fbe\r\n\r\n## \u2753 \u5e38\u89c1\u95ee\u9898\r\n\r\n### Q: \u5982\u4f55\u5904\u7406\u5927\u578bPDF\u6587\u4ef6\uff1f\r\n\r\nA: \u7cfb\u7edf\u4f1a\u81ea\u52a8\u5206\u5757\u5904\u7406\uff0c\u9ed8\u8ba4\u6bcf\u57574000\u5b57\u7b26\uff0c\u53ef\u901a\u8fc7`CHUNK_SIZE`\u8c03\u6574\u3002\u5bf9\u4e8e\u626b\u63cfPDF\uff0c\u5efa\u8bae\u914d\u7f6eMinerU API\u542f\u7528OCR\u3002\r\n\r\n### Q: \u670d\u52a1\u542f\u52a8\u5931\u8d25\u63d0\u793a\"pgvector\u672a\u5b89\u88c5\"\uff1f\r\n\r\nA: \u9700\u8981\u5728PostgreSQL\u4e2d\u5b89\u88c5pgvector\u6269\u5c55\uff1a\r\n\r\n```sql\r\nCREATE EXTENSION vector;\r\n```\r\n\r\n### Q: \u5982\u4f55\u63d0\u9ad8\u641c\u7d22\u51c6\u786e\u6027\uff1f\r\n\r\nA: \u53ef\u5c1d\u8bd5\uff1a\r\n\r\n- \u51cf\u5c0f`CHUNK_SIZE`\uff0c\u63d0\u9ad8\u5757\u7c92\u5ea6\r\n- \u4f7f\u7528\u66f4\u5177\u4f53\u7684\u641c\u7d22\u5173\u952e\u8bcd\r\n- \u8c03\u6574`top_k`\u53c2\u6570\u83b7\u53d6\u66f4\u591a\u7ed3\u679c\r\n\r\n## \ud83d\udcc4 \u8bb8\u53ef\u8bc1\r\n\r\n\u672c\u9879\u76ee\u57fa\u4e8eApache License 2.0\u5f00\u6e90\u8bb8\u53ef\u8bc1 - \u8be6\u89c1[LICENSE](LICENSE)\u6587\u4ef6\r\n\r\n## \ud83e\udd1d \u8d21\u732e\u4e0e\u53cd\u9988\r\n\r\n- \u9879\u76ee\u5730\u5740\uff1a[GitHub](https://github.com/928871247/files-vector-mcp-server)\r\n- \u95ee\u9898\u53cd\u9988\uff1a[Issue Tracker](https://github.com/928871247/files-vector-mcp-server/issues)\r\n- \u529f\u80fd\u5efa\u8bae\uff1a\u6b22\u8fce\u63d0\u4ea4PR\u6216Issue\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A FastMCP server for file vectorization and similarity search",
    "version": "0.1.14",
    "project_urls": {
        "Bug Tracker": "https://github.com/928871247/files-vector-mcp-server/issues",
        "Homepage": "https://github.com/928871247/files-vector-mcp-server"
    },
    "split_keywords": [
        "mcp",
        " vector-search",
        " embeddings"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "629e5ec445e56e3f9d6ea1f9a16919af3857b2b0a921c7717cf96a66fbddfaa6",
                "md5": "6d7e49cd857e740f78a76eb5c2477d55",
                "sha256": "2c891e144368b2396231c1efdb09ae36b929e9203d597d52baba904a64edc044"
            },
            "downloads": -1,
            "filename": "files_vector_mcp_server-0.1.14-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6d7e49cd857e740f78a76eb5c2477d55",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 28833,
            "upload_time": "2025-09-19T00:44:03",
            "upload_time_iso_8601": "2025-09-19T00:44:03.664141Z",
            "url": "https://files.pythonhosted.org/packages/62/9e/5ec445e56e3f9d6ea1f9a16919af3857b2b0a921c7717cf96a66fbddfaa6/files_vector_mcp_server-0.1.14-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0b0cf6b8396c20b94bd7a52ceb602ac9634735463040dc99a738e9e106669ed7",
                "md5": "d790877bf377c2dded2ae0b94e6417b2",
                "sha256": "54cde2f39dfde0dc9051b19366935a0956e81394c176fd18c8f4cf176488d052"
            },
            "downloads": -1,
            "filename": "files_vector_mcp_server-0.1.14.tar.gz",
            "has_sig": false,
            "md5_digest": "d790877bf377c2dded2ae0b94e6417b2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 27682,
            "upload_time": "2025-09-19T00:44:05",
            "upload_time_iso_8601": "2025-09-19T00:44:05.005603Z",
            "url": "https://files.pythonhosted.org/packages/0b/0c/f6b8396c20b94bd7a52ceb602ac9634735463040dc99a738e9e106669ed7/files_vector_mcp_server-0.1.14.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-19 00:44:05",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "928871247",
    "github_project": "files-vector-mcp-server",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "files-vector-mcp-server"
}
        
Elapsed time: 1.38647s