🚀 parquet_mcp_server
parquet_mcp_server 是一个强大的 MCP(模型控制协议)服务器,它提供了用于执行网络搜索和查找相似内容的工具。该服务器专为 Claude Desktop 设计,能为需要网络搜索功能以及根据搜索查询查找类似内容的应用程序和项目提供支持。
🚀 快速开始
parquet_mcp_server 是专为 Claude Desktop 设计的 MCP 服务器,可执行网络搜索并查找相似内容。下面将为您介绍如何安装、配置和使用该服务器。
✨ 主要特性
- 网络搜索:执行网络搜索并抓取结果。
- 相似性搜索:从之前的搜索中提取相关信息。
📦 安装指南
通过 Smithery 安装
要通过 Smithery 自动安装 Parquet MCP Server for Claude Desktop,可使用以下命令:
npx -y @smithery/cli install @DeepSpringAI/parquet_mcp_server --client claude
克隆此仓库
git clone ...
cd parquet_mcp_server
创建并激活虚拟环境
uv venv
.venv\Scripts\activate
source .venv/bin/activate
安装依赖项
安装项目所需的 Python 包:
pip install -r requirements.txt
📚 详细文档
配置
更新 config.py
文件,设置以下环境变量:
属性 |
详情 |
DB_HOST |
数据库主机地址(默认:localhost) |
DB_PORT |
数据库端口(默认:5432) |
DB_NAME |
数据库名称(默认:postgres) |
DB_USER |
数据库用户名(默认:postgres) |
DB_PASSWORD |
数据库密码 |
VECTOR_SIZE |
向量大小(默认:1024) |
使用
初始化数据库
运行以下 SQL 命令初始化 PostgreSQL 数据库:
CREATE EXTENSION IF NOT EXISTS pgvector;
插入数据
使用 insert_data.py
脚本将搜索结果插入到数据库中:
python insert_data.py --metadata "{'source': 'example.com', 'timestamp': '2023-10-01'}" --text "这是一个示例文本。"
搜索数据
使用 search_data.py
脚本根据向量相似性搜索数据库中的内容:
python search_data.py --query_embedding "0.5, 0.3, ..., 0.2" --threshold 0.7
测试
运行以下命令测试服务器:
uvicorn main:app --reload
访问 http://localhost:8000/docs
查看 API 文档。
故障排除
网络搜索失败
数据库连接问题
- 确保 PostgreSQL 服务正在运行。
- 检查数据库凭据是否正确。
- 查看 PostgreSQL 日志文件以获取更多信息。
向量相似性搜索性能差
- 优化 PostgreSQL 查询。
- 增加向量索引。
- 减少结果限制或降低相似性阈值。
PostgreSQL 函数用于向量相似性搜索
要使用 PostgreSQL 执行向量相似性搜索,可以使用以下函数:
CREATE OR REPLACE FUNCTION match_web_search(
query_embedding vector(1024),
match_threshold float,
match_count int
)
RETURNS TABLE (
id bigint,
metadata jsonb,
text TEXT,
date TIMESTAMP,
similarity float
)
LANGUAGE plpgsql
AS $$
BEGIN
RETURN QUERY
SELECT
web_search.id,
web_search.metadata,
web_search.text,
web_search.date,
1 - (web_search.embedding <=> query_embedding) as similarity
FROM web_search
WHERE 1 - (web_search.embedding <=> query_embedding) > match_threshold
ORDER BY web_search.date DESC,
web_search.embedding <=> query_embedding
LIMIT match_count;
END;
$$;
此函数允许您在 PostgreSQL 数据库中执行向量相似性搜索,返回满足指定相似性阈值的结果,并根据用户输入限制结果数量。结果按日期和相似性进行排序。
PostgreSQL 表创建
CREATE TABLE web_search (
id SERIAL PRIMARY KEY,
text TEXT,
metadata JSONB,
embedding VECTOR(1024),
date TIMESTAMP DEFAULT NOW()
);
此表结构用于存储网络搜索结果,包括文本内容、元数据和向量表示。