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
            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
            318
            53
            TypeScript
            MIT License
            • Apple
          • A
            security
            A
            license
            A
            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 -
            3
            914
            13
            MIT License
            • Apple
          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol server that enables Claude to perform web research by integrating Google search, extracting webpage content, and capturing screenshots in real-time.
            Last updated -
            4
            914
            4
            JavaScript
            MIT License
            • Apple
            • Linux
          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol server that enables Claude to perform advanced web research with intelligent search queuing, enhanced content extraction, and deep research capabilities.
            Last updated -
            3
            8
            1
            TypeScript
            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