OpenAI Vector Store MCP Server

OpenAI Vector Store MCP Server

Enables semantic search and document retrieval from OpenAI Vector Store, allowing users to search documents using natural language queries and fetch complete document contents through ChatGPT.

Category
访问服务器

README

Sample MCP Server

이 프로젝트는 Model Context Protocol (MCP) 을 활용하여 ChatGPT와 연동되는 검색(Search)문서 조회(Fetch) 기능을 제공하는 샘플 서버입니다.
OpenAI Vector Store를 사용하여 문서 검색 및 전체 내용을 조회할 수 있으며, ChatGPT의 Deep Research 및 Chat Connectors 기능과 함께 사용할 수 있습니다.


✨ Features

  • Semantic Search
    OpenAI Vector Store를 사용한 벡터 기반 문서 검색
    자연어 쿼리를 지원하며 연관 문서를 스니펫 형태로 반환합니다.

  • Document Fetch
    검색된 문서의 ID로 전체 내용을 조회
    파일명, 본문 텍스트, URL, 메타데이터 포함

  • FastMCP 기반 MCP 서버
    ChatGPT MCP 표준에 맞춰 작성된 경량 서버
    SSE(Server-Sent Events)를 사용하여 ChatGPT와 통신

  • 환경 변수 기반 설정
    .env 파일로 API Key, Vector Store ID 관리


📁 Project Structure

.
├── server.py
├── requirements.txt
└── .env  (사용자가 직접 생성)

🔧 Requirements

Python 3.9+

설치 패키지는 requirements.txt 에 정의되어 있습니다.

예시:

fastmcp
openai
python-dotenv

⚙️ Setup

1. Repository 설치

git clone <your-repo-url>
cd <project-folder>

2. 가상환경 생성(선택)

python3 -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate

3. Dependencies 설치

pip install -r requirements.txt

4. .env 파일 생성

프로젝트 루트에 .env 파일을 만들고 아래 내용을 추가합니다:

OPENAI_API_KEY=your_openai_api_key
VECTOR_STORE_ID=your_vector_store_id

🚀 Running the Server

아래 명령어로 MCP 서버를 실행합니다.

python server.py

서버는 기본적으로 다음 주소에서 SSE 기반 MCP 서버로 동작합니다:

http://0.0.0.0:8000

ChatGPT(또는 Deep Research mode)에서 MCP 서버를 등록하면 Search 및 Fetch 도구를 사용할 수 있습니다.


🛠️ Tools

🔍 search(query: str)

벡터 스토어에서 쿼리와 관련된 문서를 검색합니다.

Response 예시:

{
  "results": [
    {
      "id": "file-xxxxx",
      "title": "example.pdf",
      "text": "문서의 앞부분 200자...",
      "url": "https://platform.openai.com/storage/files/file-xxxxx"
    }
  ]
}

📄 fetch(id: str)

문서의 ID를 받아 전체 내용을 반환합니다.

Response 예시:

{
  "id": "file-xxxxx",
  "title": "example.pdf",
  "text": "문서 전체 내용...",
  "url": "https://platform.openai.com/storage/files/file-xxxxx",
  "metadata": {}
}

📚 How It Works

  1. Search

    • openai.vector_stores.search() 호출
    • 연관 문서 목록 반환
  2. Fetch

    • vector_stores.files.content() 로 전체 텍스트 조각 가져오기
    • vector_stores.files.retrieve() 로 메타데이터 조회
    • 하나의 문서로 병합해 반환
  3. Server

    • FastMCP로 MCP-compliant 서버 생성
    • ChatGPT MCP 연결 모드에서 사용 가능

📝 Logging

기본 로그 레벨은 INFO로 설정되어 있으며, 검색/조회 요청과 서버 시작 정보를 출력합니다.


📄 License

이 프로젝트는 자유롭게 수정 및 확장하여 사용할 수 있는 샘플 코드입니다.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选