ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

graphify HTTP MCP服务8大高级参数:API Key、无状态模式与会话超时完全指南

graphify HTTP MCP服务8大高级参数:API Key、无状态模式与会话超时完全指南 graphify HTTP MCP服务8大高级参数API Key、无状态模式与会话超时完全指南【免费下载链接】graphifyTurn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.项目地址: https://gitcode.com/GitHub_Trending/graph/graphifygraphify 是一个将代码库、文档、SQL 模式和配置文件转化为可查询知识图谱的工具它还能通过 HTTP 把图谱以 MCP 服务共享给整个团队。本文将完整讲解 graphify HTTP MCP 服务的 8 大高级参数包括 API Key 认证、无状态模式--stateless与会话超时--session-timeout的实战用法。什么是 graphify 的 HTTP MCP 服务graphify 默认通过 stdio 为单个开发者启动一个本地 MCP 服务器每个 IDE 各自起一个进程。加上--transport http后它会切换为 MCP Streamable HTTP 传输协议一个共享进程就能把知识图谱服务给整个团队——所有客户端只需把 IDE 的 MCP 配置指向同一个http://host:8080/mcp地址无需在本地重复运行 graphify。上面的图谱正是 graphify 的查询对象每条边都带关系与置信度标签而 HTTP MCP 服务让团队里每个人都可以通过 AI 助手直接查询这些节点与边。服务的完整实现位于 graphify/serve.py参数总览表见 README.md。8 大参数一览#参数默认值作用1--transport httpstdio切换到 Streamable HTTP 传输2--host127.0.0.1绑定地址0.0.0.0 才可对外暴露3--port8080绑定端口4--api-key环境变量 GRAPHIFY_API_KEY开启 API Key 认证5--path/mcp自定义挂载路径6--json-response关闭用纯 JSON 替代 SSE 流式响应7--stateless关闭无状态模式适配负载均衡/CI8--session-timeout3600回收空闲会话的秒数0 表示禁用一条典型的启动命令python -m graphify.serve graphify-out/graph.json --transport http --host 0.0.0.0 --api-key $SECRET1.--transport http一行命令从本地升级为共享服务这是 8 个参数里的“总开关”。省略时服务器走 stdio 模式指定http后同一套 11 个查询工具query_graph、get_node、shortest_path等就会挂载到 HTTP 端点上。它和 stdio 模式共享同一份服务逻辑因此工具行为完全一致切换零成本。2.--host与--port默认安全显式暴露默认的127.0.0.1仅限本机回环访问别人连不上天然安全要让团队访问必须显式设置--host 0.0.0.0此时程序会在启动日志里打出一条醒目警告没有配 API Key 的 0.0.0.0 绑定等于把图谱裸奔在网络上--port默认为 8080配合 Docker 端口映射时记得同步修改。3.--api-keyAPI Key 认证的正确姿势 这是共享部署中最关键的参数三种使用方式命令行直接传--api-key my-secret环境变量注入推荐设置GRAPHIFY_API_KEY命令行可省略适合容器和 CI客户端两种请求头客户端可发Authorization: Bearer key或X-API-Key: key两种都接受校验采用常量时间比较以防时序攻击。几个容易踩的坑认证失败会返回401和{error: unauthorized}空字符串 Key 不算开启认证——传--api-key 会被规范化为“无认证”避免误以为已加锁开启 Key 后认证在请求进入会话管理器之前就短路拦截不会破坏 SSE 流式响应。相关行为可在 tests/test_serve_http.py 中找到完整的认证测试用例。4.--path自定义挂载路径MCP 端点默认挂载在/mcp客户端配置里就写http://host:8080/mcp。如果服务器上已经有其他服务占用了/mcp可用--path /graph换个位置客户端配置同步修改即可。未知路径会直接返回 404不会误命中。5.--json-responseSSE 还是纯 JSON默认情况下服务器以 SSEServer-Sent Events流式返回响应适合交互式客户端如果你的网关、代理或测试脚本不支持 SSE 解析加上--json-response后每个请求就返回一个标准的 JSON-RPC 响应体排查问题更直观。6.--stateless为负载均衡和 CI 而生的无状态模式 ⚡有状态模式下每个客户端会占据一个会话session无状态模式则不为任何请求保留会话状态任何实例都能独立处理任意请求。它的典型场景负载均衡多个副本放在反向代理后面请求无需粘性会话CI/CD 流水线短命进程起停频繁不需要维护长连接状态无状态模式下会话超时会被自动强制禁用因为没有会话可回收与--session-timeout搭配也不会报错。代价是每次请求都要独立完成初始化握手适合机器对机器的高并发场景而不是长驻的 IDE 客户端。7.--session-timeout会话超时与内存回收 ⏱️有状态模式下IDE 客户端断开时往往不会发送 DELETE 清理请求闲置会话会在共享服务器里慢慢堆积。--session-timeout默认3600 秒会自动回收空闲超时的会话防止长期运行的共享服务内存泄漏取值行为3600默认会话空闲 1 小时后回收更小的值更积极回收适合高流动性的客户端0禁用回收无状态模式自动忽略生产部署建议✅ 对外暴露时--host 0.0.0.0与--api-key必须成对出现✅ 用环境变量GRAPHIFY_API_KEY管理密钥避免明文写在命令行历史里✅ 容器化部署可直接用项目自带的 Dockerfiledocker run -p 8080:8080 -v $(pwd)/graphify-out:/data graphify \ /data/graph.json --transport http --host 0.0.0.0 --api-key $SECRET✅ 多项目服务器每个工具都支持可选的project_path参数指向其他项目的 graph.json服务端用 LRU 缓存最近使用的项目图谱容量由环境变量GRAPHIFY_MAX_CONTEXTS控制默认 8 个启动时配置的默认图谱则常驻缓存不占额度。总结graphify 的 HTTP MCP 服务把“本地个人工具”变成了“团队共享基础设施”--transport http切换传输方式--host/--port控制暴露范围--api-key守住安全大门--path与--json-response适配各种客户端环境而--stateless和--session-timeout则分别解决了负载均衡兼容与长期运行的内存问题。理解这 8 个参数你就掌握了从单机试用到团队级共享部署的全部关键配置。更多细节可参考 docs/how-it-works.md 了解图谱本身的构建流程。【免费下载链接】graphifyTurn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.项目地址: https://gitcode.com/GitHub_Trending/graph/graphify创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表