Skip to main content
Glama

Parquet MCP Server

by DeepSpringAI

parquet_mcp_server

一个强大的 MCP(模型控制协议)服务器,提供执行网页搜索和查找类似内容的工具。该服务器旨在与 Claude Desktop 配合使用,并提供两项主要功能:

  1. 网络搜索:执行网络搜索并抓取结果
  2. 相似性搜索:从之前的搜索中提取相关信息

该服务器特别适用于:

  • 需要 Web 搜索功能的应用程序
  • 需要根据搜索查询查找类似内容的项目

安装

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 Parquet MCP 服务器:

npx -y @smithery/cli install @DeepSpringAI/parquet_mcp_server --client claude

克隆此存储库

git clone ... cd parquet_mcp_server

创建并激活虚拟环境

uv venv .venv\Scripts\activate # On Windows source .venv/bin/activate # On macOS/Linux

安装包

uv pip install -e .

环境

使用以下变量创建.env文件:

EMBEDDING_URL=http://sample-url.com/api/embed # URL for the embedding service OLLAMA_URL=http://sample-url.com/ # URL for Ollama server EMBEDDING_MODEL=sample-model # Model to use for generating embeddings SEARCHAPI_API_KEY=your_searchapi_api_key FIRECRAWL_API_KEY=your_firecrawl_api_key VOYAGE_API_KEY=your_voyage_api_key AZURE_OPENAI_ENDPOINT=http://sample-url.com/azure_openai AZURE_OPENAI_API_KEY=your_azure_openai_api_key

与 Claude Desktop 一起使用

将其添加到您的 Claude Desktop 配置文件( claude_desktop_config.json ):

{ "mcpServers": { "parquet-mcp-server": { "command": "uv", "args": [ "--directory", "/home/${USER}/workspace/parquet_mcp_server/src/parquet_mcp_server", "run", "main.py" ] } } }

可用工具

该服务器提供两个主要工具:

  1. 搜索网页:执行网页搜索并抓取结果
    • 必需参数:
      • queries :搜索查询列表
    • 可选参数:
      • page_number :搜索结果的页码(默认为 1)
  2. 从搜索中提取信息:从以前的搜索中提取相关信息
    • 必需参数:
      • queries :要合并的搜索查询列表

示例提示

以下是您可以与代理一起使用的一些示例提示:

对于网页搜索:

"Please perform a web search for 'macbook' and 'laptop' and scrape the results from page 1"

从搜索中提取信息:

"Please extract relevant information from the previous searches for 'macbook'"

测试 MCP 服务器

该项目在src/tests目录中包含一个全面的测试套件。您可以使用以下命令运行所有测试:

python src/tests/run_tests.py

或者运行单独的测试:

# Test Web Search python src/tests/test_search_web.py # Test Extract Info from Search python src/tests/test_extract_info_from_search.py

您还可以直接使用客户端测试服务器:

from parquet_mcp_server.client import ( perform_search_and_scrape, # New web search function find_similar_chunks # New extract info function ) # Perform a web search perform_search_and_scrape(["macbook", "laptop"], page_number=1) # Extract information from the search results find_similar_chunks(["macbook"])

故障排除

  1. 如果出现 SSL 验证错误,请确保.env文件中的 SSL 设置正确
  2. 如果未生成嵌入,请检查:
    • Ollama 服务器正在运行并可访问
    • 您的 Ollama 服务器上有指定的模型
    • 文本列存在于输入的 Parquet 文件中
  3. 如果 DuckDB 转换失败,请检查:
    • 输入 Parquet 文件存在且可读
    • 您对输出目录有写入权限
    • Parquet 文件未损坏
  4. 如果 PostgreSQL 转换失败,请检查:
    • .env文件中的 PostgreSQL 连接设置正确
    • PostgreSQL 服务器正在运行并可访问
    • 您具有创建/修改表所需的权限
    • pgvector 扩展已安装在您的数据库中

用于向量相似性搜索的 PostgreSQL 函数

要在 PostgreSQL 中执行向量相似性搜索,可以使用以下函数:

-- Create the function for vector similarity search CREATE OR REPLACE FUNCTION match_web_search( query_embedding vector(1024), -- Adjusted vector size match_threshold float, match_count int -- User-defined limit for number of results ) RETURNS TABLE ( id bigint, metadata jsonb, text TEXT, -- Added text column to the result date TIMESTAMP, -- Using the date column instead of created_at similarity float ) LANGUAGE plpgsql AS $$ BEGIN RETURN QUERY SELECT web_search.id, web_search.metadata, web_search.text, -- Returning the full text of the chunk web_search.date, -- Returning the date timestamp 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, -- Sort by date in descending order (newest first) web_search.embedding <=> query_embedding -- Sort by similarity LIMIT match_count; -- Limit the results to the match_count specified by the user END; $$;

此函数允许您对存储在 PostgreSQL 数据库中的向量嵌入执行相似性搜索,返回满足指定相似度阈值的结果,并根据用户输入限制结果数量。结果按日期和相似度排序。

Postgres 表创建

CREATE TABLE web_search ( id SERIAL PRIMARY KEY, text TEXT, metadata JSONB, embedding VECTOR(1024), -- This will be auto-updated date TIMESTAMP DEFAULT NOW() );
-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

模型控制协议服务器为 Claude Desktop 提供网络搜索功能和相似性搜索功能,允许用户执行网络搜索并从以前的搜索结果中提取相关信息。

  1. 安装
    1. 通过 Smithery 安装
    2. 克隆此存储库
    3. 创建并激活虚拟环境
    4. 安装包
    5. 环境
  2. 与 Claude Desktop 一起使用
    1. 可用工具
      1. 示例提示
        1. 对于网页搜索:
        2. 从搜索中提取信息:
      2. 测试 MCP 服务器
        1. 故障排除
      3. 用于向量相似性搜索的 PostgreSQL 函数
        1. Postgres 表创建

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            An MCP server that enables Claude to perform web searches using Perplexity's API with intelligent model selection based on query intent and support for domain and recency filtering.
            Last updated -
            6
            JavaScript
            MIT License
            • Apple
          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol server that provides DuckDuckGo search functionality for Claude, enabling web search capabilities through a clean tool interface with rate limiting support.
            Last updated -
            1
            60
            15
            TypeScript
            MIT License
            • Apple
          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server that enables Claude to perform Google Custom Search operations by connecting to Google's search API.
            Last updated -
            Python
            • Linux
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that enables Claude to perform web research by integrating Google search, extracting webpage content, and capturing screenshots.
            Last updated -
            854
            4
            MIT License
            • Apple

          View all related MCP servers

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/DeepSpringAI/search_mcp_server'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server