Metadata-Version: 2.4
Name: mcp-hybrid-search
Version: 1.1.1
Summary: Hybrid Search RAG - A Model Context Protocol (MCP) server for RAG-based document search
Author: Jay Pak
Author-email: Jay Pak <jaypark@forestsoft.co.kr>
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohappyeyeballs==2.6.1
Requires-Dist: aiohttp==3.11.14
Requires-Dist: aiosignal==1.3.2
Requires-Dist: annotated-types==0.7.0
Requires-Dist: antlr4-python3-runtime==4.9.3
Requires-Dist: anyio==4.9.0
Requires-Dist: asgiref==3.8.1
Requires-Dist: attrs==25.3.0
Requires-Dist: backoff==2.2.1
Requires-Dist: bcrypt==4.3.0
Requires-Dist: build==1.2.2.post1
Requires-Dist: cachetools==5.5.2
Requires-Dist: certifi==2025.1.31
Requires-Dist: cffi==1.17.1
Requires-Dist: charset-normalizer==3.4.1
Requires-Dist: chroma-hnswlib==0.7.6
Requires-Dist: chromadb==0.6.3
Requires-Dist: click==8.1.8
Requires-Dist: coloredlogs==15.0.1
Requires-Dist: cryptography==44.0.2
Requires-Dist: dataclasses-json==0.6.7
Requires-Dist: fastapi==0.100.0
Requires-Dist: frozenlist==1.4.0
Requires-Dist: huggingface-hub==0.17.2
Requires-Dist: jmespath==1.0.2
Requires-Dist: jsonschema==4.19.0
Requires-Dist: langchain>=0.3.0
Requires-Dist: langchain-chroma>=0.1.4
Requires-Dist: langchain-core>=0.3.24
Requires-Dist: langchain-community>=0.3.11
Requires-Dist: langchain-openai>=0.2.11
Requires-Dist: langchain-text-splitters>=0.3.2
Requires-Dist: markupsafe==2.1.4
Requires-Dist: numpy==1.25.3
Requires-Dist: openai>=1.0.0
Requires-Dist: pandas==2.1.1
Requires-Dist: pdfplumber>=0.11.0
Requires-Dist: Pillow==10.0.1
Requires-Dist: protobuf==4.24.1
Requires-Dist: psycopg2-binary==2.9.10
Requires-Dist: python-dateutil==2.8.2
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: python-multipart==0.0.6
Requires-Dist: pytools==2023.6.1
Requires-Dist: pydantic==2.5.2
Requires-Dist: pyjwt==2.8.0
Requires-Dist: pyopenssl==24.2.0
Requires-Dist: pyrsistent==0.19.3
Requires-Dist: PyYAML==6.0.1
Requires-Dist: regex==2024.1.1
Requires-Dist: requests==2.31.0
Requires-Dist: safetensors==0.4.1
Requires-Dist: scikit-learn==1.3.2
Requires-Dist: scipy==1.11.3
Requires-Dist: six==1.16.0
Requires-Dist: starlette==0.27.0
Requires-Dist: tqdm==4.67.1
Requires-Dist: typer==0.15.2
Requires-Dist: typing-extensions==4.12.2
Requires-Dist: typing-inspect==0.9.0
Requires-Dist: urllib3==2.3.0
Requires-Dist: uvicorn==0.34.0
Requires-Dist: uvloop==0.21.0
Requires-Dist: watchfiles==1.0.4
Requires-Dist: websocket-client==1.8.0
Requires-Dist: websockets==15.0.1
Requires-Dist: wrapt==1.17.2
Requires-Dist: yarl==1.18.3
Requires-Dist: zipp==3.21.0
Requires-Dist: zstandard==0.23.0
Dynamic: license-file

# RAG-based MCP Server

[ENG](#english) | [KOR](#한국어)

---

## English

This package provides an MCP (Model Context Protocol) server that uses a Retrieval Augmented Generation (RAG) approach. It allows you to specify a folder containing PDF files for augmentation, and leverages an OpenAI API key to perform hybrid search.

### Installation

Install the package from PyPI using UV or pip:

```bash
uv pip install mcp-hybrid-search
```

or

```bash
pip install mcp-hybrid-search
```

### Configuration

To run your project in the Claude app, add the following entry to your `claude_desktop_config.json`:

```json
{
  "rag-mcp": {
    "command": "uvx",
    "args": [
      "mcp-hybrid-search",
      "path/to/your/allowed/folder"
    ],
    "env": {
      "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY"
    }
  }
}
```

* Replace `path/to/your/allowed/folder` with the actual path where you want to store and access your data.
* In that folder, create a subfolder named `data` and place any PDF files you want to use for augmentation in this `data` folder.

### Usage

1. Install and configure the server as described above.
2. Start or restart your MCP setup or application to enable the RAG-based MCP server.
3. The server will use the PDF files within the `data` folder to generate context and augment your prompts.

### License

MIT

---

## 한국어

이 패키지는 RAG(Retrieval Augmented Generation) 방식을 사용하는 MCP(Model Context Protocol) 서버를 제공합니다. PDF 파일을 증강 자료로 활용할 수 있도록 설정된 폴더를 지정하고, OpenAI API 키를 이용하여 하이브리드 검색을 수행합니다.

### 설치 방법

UV 또는 pip를 이용하여 PyPI에서 패키지를 설치합니다:

```bash
uv pip install mcp-hybrid-search
```

또는

```bash
pip install mcp-hybrid-search
```

### 설정 방법

Claude 앱에서 프로젝트를 실행하기 위해 `claude_desktop_config.json`에 다음과 같이 설정을 추가하세요:

```json
{
  "rag-mcp": {
    "command": "uvx",
    "args": [
      "mcp-hybrid-search",
      "접근을 허용할 폴더 경로"
    ],
    "env": {
      "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY"
    }
  }
}
```

* `접근을 허용할 폴더 경로` 부분을 실제 PDF 파일을 저장할 경로로 바꾸세요.
* 해당 폴더 안에 `data`라는 이름의 하위 폴더를 만들고, 여기에 증강 자료로 사용할 PDF 파일을 넣으세요.

### 사용 방법

1. 위 설치 및 설정 과정을 완료합니다.
2. MCP 설정을 실행하거나 애플리케이션을 재시작하여 RAG 기반 MCP 서버를 활성화하세요.
3. `data` 폴더 내 PDF 파일을 이용하여 메시지에 대한 맥락을 생성하고 증강된 응답을 받아볼 수 있습니다.

### 라이센스

MIT
