Expose bundle insights through our MCP server

Tuist supports now analyzing bundles, allowing developers to push the analysis to the server for a visually-rich presentation, and over-time analysis. They can also export it as a JSON:

tuist inspect bundle --json --path MyApp.ipa

Developers can use this feature to get the bundle’s JSON representation and paste it in an LLM chat interface to ask questions about it. But wouldn’t it be better if we got rid of that indirection and developers could easily load that context into the chat application without having to run commands and copy the output?

We have all the foundational pieces to enable that workflow: the business logic to generate the reports, and an MCP server to expose them as resources. Tuist could look up bundles in the derived data directory, and expose them as resources of the MCP server; that way, developers could select an app from Derived data (e.g. MyApp.app (Debug)) and the resource would get loaded right away.

Thoughts? If anyone is interested in taking this on, we can give you the pointers to push this to the finish line. Since most of the foundational pieces are in place, connecting them to shape a new feature is a matter of connecting them.

I’m all for doing this once we can find a workflow where analyzing a JSON representation of a real-world bundle is actually useful and doesn’t overload the LLM with too much context.

I suggest to play with the following file that’s an analyzed bundle of the TradeRepublic app:
TradeRepublic.json.zip (182.0 KB)

I was able to get GPT-4.1 to accept this context, but the suggestions it then provides are way too generic – it basically accepted the context, but it’s not able to actually analyze the bundle properly.

As things stand, the MCP integration for the bundle analysis doesn’t seem like it would be any useful for anything else than bundles of small apps – whereas the bundle analysis is useful primarily for large apps.