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访问)
快速开始
- 安装依赖项:
pip install -r requirements.txt- 启动桥:
python context7_bridge.py该脚本会自动启动ngrok并显示ChatGPT就绪URL。
- 添加到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、useStaterouting-导航、路线设置authentication-登录、安全、智威汤逊installation-设置、配置api-API参考、方法examples-代码示例、教程
运作原理
ChatGPT → ngrok → Bridge → Context7 MCP Server → Documentation Database- ChatGPT向您的网桥发送搜索/获取请求
- Bridge将这些转换为Context7的解析库id/获取库文档调用
- Context7返回当前文档
- 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