Tech
[Python] fastapi-gql-mcp, 将 fastapi 应用转变成 agent 友好的 mcp 服务
FastAPI 的用户许多一定用过 FastAPI-MCP 这个 package 来将自己的 API 转换成 MCP 服务。
在使用的过程中会遇到一些问题,比如 Endpoints 不断上升的时候,会造成的 Context 的大量占用,以及 Response 的 Size 如果过大的话,也会容易造成 Context 过大的问题。比如一个列表页的 API 可能动则上百 K 或者几 MB ,那么这个数据在 Agent 中获取到的话,就容易让 Context 超出上限。
针对这个问题的解决方案,有一个思路是借鉴 GraphQL 的做法。
因为 FastAPI 提供了 return annotation ,所以可以将每一个 endpoint 都当成一个 GraphQL 的节点,然后将它返回的数据类型变成这个节点下的子节点树。 这样子它就可以变成一个 query 和 mutation 的 GraphQL schema 。
再结合强类型的返回类型描述,我们可以实现类似于 GraphQL 中 pick 字段的能力。
前者的话,它解决了 Endpoint 增长的时候 MCP tools 过...
Read the full discussion on V2EX
This article was aggregated from V2EX. Click to join the conversation.
View on V2EX