Skip to main content
Glama

Parquet MCP Server

by DeepSpringAI

parquet_mcp_server

웹 검색을 수행하고 유사한 콘텐츠를 찾는 도구를 제공하는 강력한 MCP(모델 제어 프로토콜) 서버입니다. 이 서버는 Claude Desktop과 함께 작동하도록 설계되었으며 두 가지 주요 기능을 제공합니다.

  1. 웹 검색 : 웹 검색을 수행하고 결과를 스크래핑합니다.
  2. 유사 검색 : 이전 검색에서 관련 정보 추출

이 서버는 특히 다음과 같은 경우에 유용합니다.

  • 웹 검색 기능이 필요한 애플리케이션
  • 검색 쿼리를 기반으로 유사한 콘텐츠를 찾아야 하는 프로젝트

설치

Smithery를 통해 설치

Smithery를 통해 Claude Desktop용 Parquet MCP 서버를 자동으로 설치하려면:

지엑스피1

이 저장소를 복제하세요

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