Skip to main content

MCP Performance: What Slow Tools Cost You

· 7 min read
MCPBundles

Our bundle search tool was taking 12 seconds at P95. Users would ask Claude to "find the Slack integration," watch nothing happen, then ask again. Claude would make the same call twice, wait 24 seconds total, and users would close the tab thinking our service was down.

The tool worked perfectly. It just worked slowly. And in the world of AI assistants, slow might as well be broken.

Cartoon illustration of a person monitoring MCP performance and observability, dashboard showing metrics, happy expression
Our MCP server's P95 latency was 12 seconds and users thought it was broken. Here's how we fixed it for fast agent interactions.

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.

Writing great tool schemas for MCP

· 3 min read
MCPBundles

Here's the thing about schemas: they're basically the contract your model learns from. Get them right, and your tools are easy to find, hard to break, and simple to fix when something goes wrong.

Get them wrong, and you'll spend way too much time debugging why the model keeps calling your tool incorrectly.

Cartoon illustration of a person writing great tool schemas for MCP, happy expression
Learn JSON Schema patterns that make MCP tools discoverable, easy to use reliably, and help models recover from errors gracefully.

How to Add MCP Servers to Claude Desktop — Setup & Troubleshooting Guide

· 12 min read
MCPBundles

I spent two hours staring at Claude Desktop wondering why my MCP server wouldn't connect. The config looked perfect. The server ran fine standalone. But Claude showed no tools. The problem? A single trailing comma in my JSON config that Claude silently ignored. This is everything I wish the docs had told me upfront.

There are two ways to add MCP servers to Claude Desktop: .mcpb files (one-click install) or manual JSON config (full control). This guide covers both, plus the debugging steps you'll inevitably need.

Config file location (if that's all you need):

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Or open it directly: Claude Desktop → Settings → Developer → Edit Config.

New to MCP? Start with Introduction to MCP to understand what it is and how it works.

Claude Desktop MCP setup guide with .mcpb file installation and manual config
Add MCP servers to Claude Desktop using .mcpb files or manual config. Includes troubleshooting for missing tools and silent config errors.

Setting Up Your First MCP Server

· 6 min read
MCPBundles

My first MCP server took three hours to get working because I made every possible mistake: no logging, broke stdio with print statements, forgot to restart Claude Desktop, and wondered why nothing worked. Your first one should take 30 minutes.

This is what actually works, with the debugging steps I wish I'd known upfront.

Cartoon illustration of a person setting up their first MCP server, happy expression
Build and test your first MCP server in 30 minutes—with hot reload, proper logging, and real Claude Desktop integration. Learn what actually works.

Introduction to MCP: What You Need to Know

· 7 min read
MCPBundles

For the first month or two of building agents on Claude, I spent most of my debugging time staring at hallucinated API endpoints. The model would confidently POST to URLs that didn't exist, invent function names, and produce JSON that wouldn't parse. Switching the integration over to the Model Context Protocol (MCP) didn't fix everything, but it removed the entire class of "the model made up an endpoint" failures, which were the bulk of what we were chasing.

The rest of this post is the explanation I wish I'd had on day one.

Cartoon illustration of a person learning about MCP Model Context Protocol introduction, happy expression
A practical introduction to the Model Context Protocol (MCP) with real examples, common pitfalls, and why it matters for building AI agents that actually work.