fastapi-gql-mcp:用 GraphQL 固定 MCP 工具面,省下万级 token 目录开销
tangkikodo · reddit · 2026-10-05
作者针对 FastAPI 应用做 MCP server 时遇到的两类上下文开销提出新方案,开源了 fastapi-gql-mcp:
- 工具目录膨胀:fastapimcp 式的「每端点一个工具」在 100 路由的应用上要吃约 10,950 token 的工具定义。
- 返回值爆炸:列表端点一次返回 1-2 MB,一个调用就榨干会话;社区已有「MCP 工具浪费 40% Claude 上下文」的讨论,常见修法是截断,但截断是服务端决定丢什么,agent 无法说「我只要 id 和 name」。
方案:从 FastAPI 应用自动推导 GraphQL schema(无需装饰器、不改模型),对外只暴露固定的小工具面——getschema + graphqlquery,大应用可用四层下钻(listdomains → listqueries → getqueryschema → graphqlquery)。实测:工具目录约 2,480/1,480 token 且不再随 API 增长;字段投影让基准应用上返回从 2,875 B 降到 610 B,大端点上三个字段就是「会话存活」与「三行答案」的差别。另有深度限制、有界扇出、超时、文档缓存(1.52ms→0.69ms)等默认护栏,鉴权走进程内真实 ASGI 应用,Depends、中间件与 JWT 行为与 HTTP 一致。仓库附 benchmark 与复现脚本。
「编程与Agent」频道最新
- 智能体主动发消息翻车:Dots 子代理拒收用户明确批准 — xeophon · 2026-10-05
- 黑客松评审百个个人Agent项目:基础设施已就绪将迎爆发 — jamdac · 2026-10-05
- 浏览器 Agent 最大痛点不是幻觉,而是「假成功」 — Comfortable_Oven6576 · 2026-10-05
- 重度用户实测 ChatGPT Dots:200 美元套餐仍撞上滥用防护限速 — invertednz · 2026-10-05
- dots 开发者征集用户访谈:找个人助手重度用户聊改进方向 — pvncher · 2026-10-05
- FDE 方法论:Agent 应嵌入客户现有系统而非迁移到 AI 原生栈 — vasuman · 2026-10-05