🔍

Exploring mCP Challenges and Alternatives

Apr 6, 2025

Lecture Notes on mCP and Serverless Functions

Introduction

  • Recent exploration of mCP (Modular Component Protocol) and its implementation.
  • Initial success with running mCP on a local computer using standard IO transport.
  • Desire to implement mCP as a REST API for easier deployment and invocation.

Discovery of mCP Limitations

  • Stateful Protocol: mCP requires a stateful server connection, unsuitable for simple REST APIs.
    • Needs Server-Sent Events (SSSE) and a long-lived connection.
  • Serverless Environment Challenges: Incompatible with serverless environments, which are ideal for quick, scalable functions.
  • Deployment Complexity: Stateless REST APIs are common; mCP complicates deployment by requiring stateful configurations.

mCP Features and Issues

  • Sampling Feature: Allows server requests for AI tasks, but introduces security concerns.
    • Potential risk with AI agents having access to API keys.
    • No existing mCP clients support this feature due to lack of incentive.
  • State Requirement Justification: Mainly for sampling and notifying clients of changes.
    • Alternatives: Client polling and error handling for changed resources.

Criticism of mCP

  • Over-engineered: Protocol deemed too complex for intended use.
  • Suggested Simplification: One-way communication preferred, with AI agents making requests and servers responding.

Alternative Solutions

  • Wildcard AI's agents.json: Proposes a simpler method using JSON atop Open API specs.
    • Provides endpoint descriptions without changing server deployments.
  • Adoption Potential: Lightweight, leverages existing technologies, and standardizes AI-agent interactions.

Community Feedback and Observations

  • Context Window Overload: Registering many tools with AI agents can overwhelm and confuse the agent.
  • Routing Component Suggestion: Enables dynamic tool listing based on relevance to task.

Personal Outlook

  • Future Work: Unlikely to pursue mCP further unless a stateless version is developed.
  • Interest in Alternatives: Open to exploring alternatives like agents.json for better integration with serverless functions.

Conclusion

  • Call to action for community suggestions on alternatives.
  • Emphasis on finding transactional exchange solutions that fit serverless models.