About the Project: Coin MCP

🚀 Inspiration

We were inspired by the growing need to safely connect large language models (LLMs) with real-world actions—especially in high-stakes environments like finance. With Circle.com’s crypto wallet APIs becoming increasingly powerful, we saw an opportunity to bridge the gap between LLMs and blockchain wallets using a secure, agent-friendly interface. We wanted to explore the future of agent-to-agent (A2A) and model-context protocol (MCP) systems, while solving a real security problem: how can agents initiate financial actions without compromising user control?

🧠 What We Learned

  • Model Context Protocols (MCP): We deepened our understanding of MCP as a standardized way for LLM agents to communicate with external tools and APIs.
  • Circle.com APIs: We learned how to manage wallets, view balances, and create transactions using Circle’s developer-friendly infrastructure.
  • Security Patterns for AI Agents: We explored best practices for keeping agents powerful but constrained, especially when handling sensitive operations like financial transactions.
  • Observability with Weave: Integrating Weave from Weights & Biases helped us track requests, responses, and latency across the full agent-tool loop.
  • Agent Dev Kit: We got hands-on with Google’s Agent Development Kit, creating a full local pipeline from user input → Gemini → Coin MCP → secure user confirmation.

🛠️ How We Built It

  1. MCP Server:
    We built a custom MCP-compliant server that translates agent requests into Circle API calls. It supports two main actions:

    • Viewing wallet balances
    • Creating transactions (pending user confirmation)
  2. Smart Agent Integration:
    LLMs (like Gemini) can call our server using natural language. The server fills in missing fields (like wallet IDs) using context, reducing the friction for users.

  3. Human-in-the-Loop Security:
    To prevent agents from directly sending funds, our server responds to transaction requests with a confirmation link. The user must click this link to approve or reject the transaction.

  4. Observability with Weave:
    We instrumented the server using Weave by WandB to monitor key metrics and events in the toolchain.

  5. Deployment on Fly.io:
    We deployed our MCP server using Fly.io, which made it fast and easy to get a globally available, low-latency endpoint.

  6. Gemini Interface with Agent Dev Kit:
    Finally, we created a local interface using Google’s Agent Dev Kit, connecting a Gemini agent to our MCP server for full end-to-end testing.

🧗 Challenges We Faced

  • Security vs Usability: Giving LLMs financial power is risky. Designing a workflow where agents stay helpful but users stay in control was the trickiest part.
  • MCP Spec Understanding: MCP is still evolving, and mapping its structure to Circle's API required some design experimentation.
  • Observability in Agent Chains: Integrating Weave for full visibility across agents, tools, and humans took iteration and debugging.
  • Latency + Deployment: Hosting with Fly.io worked well, but syncing agent latency with human confirmation introduced timing issues we had to carefully manage.

In the end, Coin MCP gave us a glimpse into the future of LLM agents safely controlling real-world APIs—especially in sensitive areas like crypto.

Loom demo: https://www.loom.com/share/c8d924fbda7d41bbae30bd9048bbfb4f

Built With

Share this project:

Updates