编程文档桥接服务

该服务作为ChatGPT与Context7文档数据库之间的桥梁,提供编程库的搜索和获取功能,使ChatGPT能够访问最新的编程文档。

  • by salah9003
  • Python
  • 本地部署
  • 14 星标
  • 更新于
在 GitHub 查看 salah9003/Context7-ChatGPT-Bridge

使用说明

Context7聊天GPT桥

为什么存在

ChatGPT需要访问当前的编程文档,但需要特定的 search 和 fetch 工具。Context7提供了出色的最新文档,但使用了不同的工具(resolve-library-id 和 get-library-docs).这座桥在它们之间进行转换,使ChatGPT能够访问Context7的文档数据库。

它做什么

一个允许ChatGPT通过Context7 MCP服务器访问最新编程文档的桥。实现所需的ChatGPT search 和 fetch 在内部使用Context7的文档数据库时。

需求

  • Node.js >= 18.0.0
  • python >= 3.8
  • ngrok (用于ChatGPT访问)

快速开始

  1. 安装依赖项:

    pip install -r requirements.txt
    
  2. 启动桥:

    python context7_bridge.py
    

    该脚本会自动启动ngrok并显示ChatGPT就绪URL。

  3. 添加到ChatGPT: 将显示的URL复制到ChatGPT的MCP连接器:

    https://abc123.ngrok-free.app/sse
    

可用工具

search

搜索编程库和框架。支持库名称(例如“React”、“MongoDB”)和直接的Context7库ID(例如“/reactjs/React.dev”)。

fetch

获取特定库的全面文档。支持高级参数:

  • 基础: library_id
  • 主题聚焦: library_id|topic:hooks
  • 自定义令牌: library_id|tokens:15000
  • 组合: library_id|topic:authentication|tokens:12000

示例主题

  • hooks -React钩子、useEffect、useState
  • routing -导航、路线设置
  • authentication -登录、安全、智威汤逊
  • installation -设置、配置
  • api -API参考、方法
  • examples -代码示例、教程

运作原理

ChatGPT → ngrok → Bridge → Context7 MCP Server → Documentation Database
  1. ChatGPT向您的网桥发送搜索/获取请求
  2. Bridge将这些转换为Context7的解析库id/获取库文档调用
  3. Context7返回当前文档
  4. ChatGPT的桥接格式响应

配置

命令行选项:

python context7_bridge.py --help
  • --port -要运行的端口(默认值:8000)
  • --host -要绑定的主机(默认值:127.0.0.1)
  • --no-ngrok -禁用自动ngrok隧道

环境变量:

  • LOG_LEVEL -日志记录级别(默认值:INFO)

手动设置

如果您更喜欢手动ngrok控制:

# Start without ngrok
python context7_bridge.py --no-ngrok

# In another terminal
ngrok http 8000

测试

不使用ChatGPT的测试:

# Health check
curl http://localhost:8000/health

# Test search
curl -X POST http://localhost:8000/sse \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search","arguments":{"query":"react"}}}'

故障排除

“无法从Context7服务器获取响应”

  • 确保Node.js和npx已安装并位于PATH中

“未知文档ID”

  • 总是打电话 search 之前 fetch 获取有效ID
  • 或者使用直接的Context7库ID(以开头 /)
  • 注意:ChatGPT的工具描述可能需要改进,以便更好地理解搜索优先的工作流程——目前可以工作,但ChatGPT偶尔会出现顺序问题

调试模式:

LOG_LEVEL=DEBUG python context7_bridge.py