分区代码语义搜索服务

一个用于分区代码PDF语义搜索的模型上下文协议(MCP)服务器,支持ChatGPT集成,提供PDF上传、语义搜索和结构化引用功能。

  • by blakegallagher1
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 blakegallagher1/zoning-mcp-server

使用说明

MCP服务器分区代码

用于对分区代码PDF进行语义搜索的模型上下文协议(MCP)服务器,专为ChatGPT集成而设计。

特性

  • PDF摄入:通过多部分表单数据上传分区代码PDF
  • 语义搜索:使用file_search工具进行OpenAI驱动的搜索
  • 结构化引用:返回文件名、节和文本片段
  • ChatGPT 兼容:用于连接器集成的SSE端点
  • Docker就绪:容器化,便于部署
  • 渲染部署:使用render.yaml进行一键部署

快速开始

地方发展

npm install
cp .env.example .env
# Add your OPENAI_API_KEY to .env
npm start

码头工人

docker build -t zoning-mcp-server .
docker run -p 3030:3030 -e OPENAI_API_KEY=your_key zoning-mcp-server

渲染部署

  1. 在“渲染”仪表板中选择 新建>蓝图部署 并将其指向此存储库。渲染将读取 render.yaml 并创建基于Docker的web服务。
  2. 在渲染UI中,在首次部署之前设置以下环境变量:
    • OPENAI_API_KEY –必填;密钥必须能够访问响应+文件搜索API。
    • (可选) MCP_AUTH_TOKEN –如果要保持身份验证启用,请设置承载令牌。
    • (可选) ALLOW_NO_AUTH=1 –如果您希望从ChatGPT进行未经身份验证的访问,请保留此选项。使用自定义令牌时将其删除。
  3. 点击 部署.Render将构建Docker镜像并启动服务,绑定到 PORT env-var(由Render自动管理)。
  4. 上线后,使用验证部署 curl https://<your-render-domain>/health 它应该会回来 { "ok": true }.
  5. 使用公共URL https://<your-render-domain>/sse 作为ChatGPT内的MCP端点。供应 MCP_AUTH_TOKEN 您配置了是否启用auth。

API终点

  • GET /health -健康检查
  • POST /ingest -上传PDF文件
  • POST /mcp -MCP JSON-RPC端点
  • GET /sse -服务器发送ChatGPT事件
  • POST /sse -替代MCP端点

ChatGPT集成

用作MCP服务器URL: https://your-domain.com/sse 身份验证:无身份验证(ALLOW_No_AUTH=1)

环境变量

  • OPENAI_API_KEY -必需:您的OpenAI API密钥
  • PORT -服务器端口(默认值:3030)
  • HOST -要绑定的接口(默认值:0.0.0.0;如果需要,使用127.0.0.1进行本地测试)
  • ALLOW_NO_AUTH -禁用身份验证(默认值:false)
  • DEBUG_MCP -启用调试日志记录(默认值:false)
  • MCP_AUTH_TOKEN -身份验证的承载令牌(默认:mcp分区令牌)
  • VECTOR_STORE_NAME -OpenAI矢量存储名称(默认:分区代码存储)