← Writing

MCPs Aren't for Everything

After hitting reliability walls with a Bluesky MCP, switching to direct SDK integration turned out to be faster, more reliable, and more reusable — and it changed how I think about when to reach for an MCP.

Published · April 10, 2025 By · Brandon Wu
aimcpdeveloper-toolsblueskyclaudesocial-media

Diagram comparing MCP tool use with direct SDK integration

Model Context Protocol (MCP) has clear limitations for certain applications. I experimented with adding a Bluesky MCP to Claude for reviewing followed accounts, but encountered reliability issues where the model does not finish the job, or simply fails to execute on specific asks.

Generating Bluesky SDK code directly in the IDE instead of using an MCP

Rather than continue troubleshooting the MCP approach, I pivoted to a hybrid solution using Visual Studio Code with CLINE. By adding the Bluesky SDK directly to a project folder and requesting code generation instead of MCP tool usage, the outcome improved significantly.

Key Advantages of Direct SDK Integration

The direct coding approach offers several benefits:

  • Reliability: Code execution removes uncertainty present in MCP interactions
  • Error Resolution: Issues are properly addressed within the development environment
  • Reusability: Generated code persists in the project for future implementation
  • Simplicity: The experience remains conversational — still chatting with Claude 3.7 Sonnet through the IDE interface
  • Functionality: CLINE’s memory bank feature supports enhanced context management

Broader Implications

AI-powered IDEs are evolving beyond traditional coding environments. With agent capabilities integrated into tools like Visual Studio Code, the IDE increasingly functions as my everything-app, not just my coding environment.

This shift suggests developers should evaluate whether MCPs or direct SDK integration better suits their specific use cases. MCPs shine for interactive, real-time tool use within a conversation. But when you need something reliable, repeatable, and persistent — write the code.