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
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)
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.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.Observability with Weave:
We instrumented the server using Weave by WandB to monitor key metrics and events in the toolchain.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.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
- adk
- blockchain
- circle
- fastapi
- fastmcp
- fly.io
- polygon
- stablecoin
- usdc
- weave
Log in or sign up for Devpost to join the conversation.