Skip to main content

6 posts tagged with "technical"

Technical implementation details

View All Tags

MCP Tool Parameter Design: Teaching AI Agents Through Descriptions

· 11 min read
MCPBundles

When you're building MCP tools, there's a moment where you realize something counterintuitive: the description field isn't just documentation—it's instruction. Every parameter description you write is a teaching moment where the AI learns not just what a parameter is, but when to use it, why it matters, and how it impacts the operation.

This shift in thinking—from documenting to teaching—changes how you design tools. Let me show you what that looks like in practice.

Cartoon illustration of a person teaching AI agents through tool parameter descriptions, happy expression
Design MCP tool parameters that teach AI agents through comprehensive descriptions for self-documenting and intuitive AI integrations.

The Six-Tool Pattern: MCP Server Design That Scales

· 16 min read
MCPBundles

Here's a problem I kept running into: when you're building an MCP server, you face this weird tension between giving AI agents enough control and not drowning them in options. Build 20 different tools and you're burning context window on redundant functionality. Build 3 tools with no parameters and the AI can't do anything useful.

After shipping dozens of MCP integrations, I found something that actually works: six core tools that balance OpenAI's single-string requirements with rich, parameter-driven operations. It's not arbitrary—there's a reason this number keeps working.

Cartoon illustration of a person designing MCP tools using the six-tool pattern that scales, happy expression
Design MCP servers with the right number of tools: OpenAI-compliant search and fetch, rich list operations, and unified write operations that scale.

OpenAI's MCP Integration Requirements: Why Search and Fetch Matter

· 18 min read
MCPBundles

When OpenAI integrated support for Anthropic's Model Context Protocol (MCP) into ChatGPT's deep research feature, they documented something elegant: a two-tool pattern that gives AI agents a consistent way to engage with any data source. If your MCP server implements search and fetch with their specific signatures, ChatGPT knows exactly how to explore your data without custom integration code.

Both tools accept only a single string parameter. That constraint isn't a limitation—it's what makes the pattern universal.

Cartoon illustration of a person using OpenAI search and fetch standard for MCP integration, happy expression
Implement search and fetch with single-string parameters to create better agent interfaces that work with ChatGPT's deep research feature.

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.

MCP Is Not Your REST API: 5 Principles

· 6 min read
MCPBundles

Most "MCP integrations" ship as thin wrappers over existing REST endpoints because it's the fastest way to get something working, but that convenience often fights how agents actually reason and act. If you want MCP that agents can use reliably, design it like an action‑oriented RPC interface rather than a collection of CRUD‑style endpoints.

Cartoon illustration of a person explaining MCP is not REST API, showing differences, happy expression
Five practical design rules that make MCP servers agent-first instead of REST wrappers. Learn action-oriented RPC patterns for reliable agent use.

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.