Skip to main content

2 posts tagged with "guide"

How‑to guidance

View All Tags

MCP Batch Get: Consolidating Tool Retrieval

· 6 min read
MCPBundles

Following our prior post on wiring up an MCP server for our Django app — see How We Integrated Model Context Protocol (MCP) into Our Django App — we went back and revisited the architecture. "Too many tools" is still a huge problem for LLM productivity, which has continued into GPT5 and the latest Claude models so probably won't be solved toon. Cursor and Claude both work better when they have fewer tools to choose from, and our original setup exposed too many single-purpose GET tools. So we consolidated everything into a single, strongly-typed batch tool.

Cartoon illustration of a person consolidating MCP tool retrieval with batch operations, happy expression
Consolidate many single GET tools into one unified batch getter for cleaner schemas, fewer tools, and better client UX.

The result: one get tool, clearer schema, faster concurrent fetches, and less model confusion.

Integrating MCP into Our Django App

· 10 min read
MCPBundles

MCPs work like magic. Internally we use them relentlessly inside Cursor, for Linear issues in particular. We decided to ship an MCP server with MCP Bundles mainly because it made sense for us to have it on our own product for testing, before we even provided it to our customers. We built it quickly and made choices-of-least-resistance so there may be better ways to do everything. This is why we wanted to share our experience, would love to hear your feedback.

Cartoon illustration of a person integrating MCP into Django app, happy expression
How we integrated Model Context Protocol (MCP) into our Django application—practical patterns, lessons learned, and what actually works in production.

So the headline is we decided to implement an MCP server, Model Context Protocol (MCP), in our Django application, built on top of our existing API endpoints, and get it working with Cursor and Claude 3.7.