- TalkEventsToMe
TalkEventsToMe
TalkEventsToMe
A learning project focused on integrating with EventCatalog via MCP (Model Context Protocol) server to explore event-driven architecture questions and insights.
🎯 Project Purpose
This project demonstrates how to leverage the EventCatalog MCP Server to interact with our organization's EventCatalog instance and get insights about our event-driven architecture directly from AI assistants like Claude, Cursor, and Windsurf.
🏗️ Architecture Overview
- EventCatalog Instance: https://eventcatalog.compassdigital.org/ (Google OAuth protected)
- MCP Server: @eventcatalog/mcp-server
- Client: Cursor IDE with MCP integration
- Authentication: Requires EventCatalog Scale license key
🚀 Setup Instructions
Prerequisites
-
EventCatalog Scale License: You'll need a license key for EventCatalog Scale
- Get a 14-day trial from EventCatalog Cloud
- Replace
YOUR_EVENTCATALOG_SCALE_LICENSE_KEYin.mcp.json
-
Access to EventCatalog Instance: Ensure you have access to https://eventcatalog.compassdigital.org/
Installation
- Configure MCP Server: The
.mcp.jsonfile is already configured for this project - Install Dependencies: The MCP server will be installed automatically via npx
- Restart Cursor: After updating
.mcp.json, restart Cursor to load the MCP server
Verification
Once configured, you should see the EventCatalog MCP server available in Cursor. You can verify by asking questions about your event catalog.
🤖 Available MCP Tools
The EventCatalog MCP server provides the following tools:
Tools
find_resources- Find resources available in EventCatalogfind_resource- Get detailed information about services, domains, events, commands, queries, or flowsfind_producers_and_consumers- Get producers and consumers for a serviceget_schema- Returns schema for services, events, commands, or queriesreview_schema_changes- Reviews schema changes for breaking changesexplain_ubiquitous_language_terms- Explain domain-specific terminology
Resources
eventcatalog://all- All messages, domains and serviceseventcatalog://events- All eventseventcatalog://domains- All domainseventcatalog://services- All serviceseventcatalog://queries- All querieseventcatalog://commands- All commandseventcatalog://flows- All flowseventcatalog://teams- All teamseventcatalog://users- All users
🔍 Learning Questions
Here are the key questions this project aims to explore:
Menu Publishing Events
- Is there an event when a new menu gets published?
- Which team owns that event?
- How can I subscribe to that event?
- What do I need to know in order to process that event?
- What other menu service related events exist?
Event Registration & Discovery
- I have my own service, how can I register a new event with the eventcatalog?
- Do I need to notify someone when I register the new event and how would they be able to subscribe to my event?
Architecture Insights
- Is there any information on our event driven architecture?
- Is there an event flow you could create that shows when a menu is being published and who are all the subscribers of that event?
Error Handling & Reliability
- What if an event fails to be delivered, how would a subscriber get to know about that situation?
🎓 Learning Objectives
Through this project, you'll learn:
- How to configure MCP servers for EventCatalog integration
- How to query event-driven architecture documentation programmatically
- How to discover events, schemas, and relationships in your architecture
- How to understand team ownership and responsibilities
- How to identify event flows and dependencies
- How to explore error handling and reliability patterns
📚 Resources
- EventCatalog MCP Server GitHub
- EventCatalog MCP Documentation
- Our EventCatalog Instance
- MCP Protocol Documentation
🔧 Troubleshooting
Common Issues
- License Key Issues: Ensure your EventCatalog Scale license key is valid and not expired
- Network Access: Verify you can access the EventCatalog instance from your network
- OAuth Issues: Make sure you're authenticated with Google OAuth for the EventCatalog instance
- MCP Server Not Loading: Restart Cursor after modifying
.mcp.json
Debug Commands
# Test MCP server installation
npx -y @eventcatalog/mcp-server --help
# Verify EventCatalog accessibility
curl -I https://eventcatalog.compassdigital.org/
📝 Notes
- This project is designed for learning and exploration
- The EventCatalog instance is protected by Google OAuth
- Requires EventCatalog Scale license for full functionality
- MCP integration works with Claude, Cursor, Windsurf, and other MCP-compatible clients
🤝 Contributing
This is a personal learning project, but feel free to:
- Add more example questions
- Document interesting discoveries
- Share insights about event-driven architecture patterns
- Improve the setup documentation
📄 License
This project is for educational purposes. Please respect the licensing terms of EventCatalog and related tools.