CSV嵌入处理服务器

一个基于代理的现代MCP服务器,通过Web聊天界面处理CSV文件,生成嵌入向量,存储在PostgreSQL的pgvector中,并提供语义搜索和基于Web搜索的上下文增强功能。

  • by flaminshinjan
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 flaminshinjan/mcp_client

使用说明

CSV到嵌入MCP服务器

一个现代的、基于代理的MCP服务器,具有一个网络聊天界面,可以处理CSV文件,创建嵌入,将它们与pgvector一起存储在PostgreSQL中,并通过网络搜索提供具有基础功能的语义搜索。

建筑

  • 基于代理:用于不同职责的模块化代理
  • 可扩展的:关注点清晰分离,易于扩展
  • 类型安全:具有严格类型检查的完整TypeScript
  • 矢量数据库:PostgreSQL,带pgvector用于嵌入存储和搜索
  • 网页用户界面:现代React/Next.js聊天界面

特性

  • 📊 CSV摄取和解析
  • 🧠 OpenAI嵌入生成
  • 🔍 PostgreSQL pgvector存储和语义搜索
  • 🌐 网络搜索基础
  • 🤖 基于代理的体系结构
  • 💬 现代网络聊天界面
  • 📝 综合录井

快速开始

1.安装所有依赖项

npm run install:all

或单独安装:

npm install          # Backend dependencies
npm run frontend:install  # Frontend dependencies

2.配置环境

创建一个 .env 根目录下的文件:

# PostgreSQL Configuration
PG_HOST=localhost
PG_PORT=5432
PG_DATABASE=vector_db
PG_USER=postgres
PG_PASSWORD=postgres
PG_TABLE_NAME=embeddings

# OpenAI Configuration
OPENAI_API_KEY=your_openai_key_here
SERPER_API_KEY=your_serper_key_here  # Optional

# Server Configuration
PORT=3030
LOG_LEVEL=info

# Embedding Configuration
EMBEDDING_MODEL=text-embedding-3-small
EMBEDDING_DIMENSIONS=512

⚠️ 重要:你需要安装PostgreSQL pg向量 扩展已启用。

3.建造

npm run build
npm run frontend:build

4.跑步

开发模式 (热重新加载):

# Terminal 1: Start HTTP backend server
npm run dev:http

# Terminal 2: Start frontend
npm run frontend:dev

生产模式:

npm run start:http  # Backend on port 3030
npm run frontend:build && cd frontend && npm start  # Frontend on port 3000

5.打开浏览器

导航至 http://localhost:3000

用法

  1. 上传CSV:点击“上传CSV”并选择您的文件
  2. 提出问题:键入有关数据的问题
  3. 获取AI答案:系统搜索嵌入并提供上下文感知响应
  4. 查看源代码:查看哪些记录提供了答案
  5. Web接地:来自网络搜索的其他上下文(如果启用)

项目结构

  • src/ -后端TypeScript源代码
    • services/ -核心服务(CSV、嵌入、PostgreSQL等)
    • agents/ -代理编排
    • httpServer.ts -HTTP API服务器
    • index.ts -MCP服务器(可选)
  • frontend/ -Next.js React前端
    • app/ -页面和API路线
    • page.tsx -聊天界面
  • example-data/ -CSV文件示例

API终点

  • POST /api/chat -与知识库聊天
  • POST /api/ingest -上传和摄取CSV
  • POST /api/search -语义搜索
  • GET /api/stats -获取索引统计信息

建筑细部

看 建筑.md 详细的系统设计。

许可证

麻省理工学院