MCP Meetup-Claude Integration Server
A Model Communication Protocol server that connects Meetup.com's event discovery APIs with Anthropic's Claude LLM, enabling intelligent event discovery and natural language querying for Meetup events.
README
MCP Meetup-Claude Integration Server
Overview
This is a production-quality Model Communication Protocol (MCP) server that seamlessly integrates Meetup.com's event discovery APIs with Anthropic's Claude LLM. The server enables intelligent event discovery, natural language querying, and AI-powered recommendations for Meetup events.
Architecture
Core Components
-
MCP Protocol Handler (
MeetupClaudeMCPServer)- Manages client connections and tool definitions
- Handles resource management and server lifecycle
- Provides standardized MCP interface
-
Authentication Manager (
AuthenticationManager)- OAuth2 flow implementation for Meetup.com
- Token lifecycle management and refresh
- Secure credential handling
-
Event Discovery Engine (
EventDiscoveryEngine)- Natural language query parameter extraction
- Dual API support (REST and GraphQL)
- Intelligent event filtering and ranking
-
Prompt Augmentation Service (
PromptAugmentationService)- Context-aware prompt enhancement
- Event data formatting for LLM consumption
- Smart relevance filtering
-
Claude Integration (
ClaudeIntegration)- Anthropic API client management
- Response generation and error handling
- Configurable model parameters
Data Flow
User Query → Parameter Extraction → Event Discovery → Data Augmentation → Claude Processing → Response
Quick Start
Prerequisites
- Python 3.8+
- Meetup.com account
- Anthropic API account
Installation
# Clone or download the project
cd /home/daniel/work/mcp-meetup
# Install dependencies
pip install -r requirements.txt
# Configure environment
cp .env.example .env
# Edit .env with your credentials
# Run the server
python meetup_claude_mcp_server.py
API Setup Instructions
1. Meetup.com OAuth Setup
-
Visit Meetup OAuth Consumers
-
Click "Create New Consumer"
-
Fill in application details:
- Application Name: Your app name
- Application Website: Your website or GitHub repo
- Redirect URI:
http://localhost:8080/oauth/callback - Application Description: Brief description of your use case
-
Save the generated:
- Client ID
- Client Secret
2. Anthropic API Setup
- Visit Anthropic Console
- Create account or sign in
- Navigate to API Keys section
- Generate new API key
- Copy the API key securely
3. Environment Configuration
Required environment variables in .env:
MEETUP_CLIENT_ID=your_meetup_client_id_here
MEETUP_CLIENT_SECRET=your_meetup_client_secret_here
ANTHROPIC_API_KEY=your_anthropic_api_key_here
Optional configuration:
MEETUP_ACCESS_TOKEN=your_access_token_if_available
MEETUP_REDIRECT_URI=http://localhost:8080/oauth/callback
LOG_LEVEL=INFO
MAX_EVENTS_PER_QUERY=20
DEFAULT_RADIUS=25
MCP Tools
1. search_meetup_events
Search for Meetup events using natural language queries.
Parameters:
query(string, required): Natural language search querymax_results(integer, optional): Maximum events to return (default: 20)
Example:
{
"query": "Python programming events near San Francisco this week",
"max_results": 10
}
2. augment_prompt_with_events
Enhance a user prompt with relevant event data for context.
Parameters:
prompt(string, required): User prompt to augment
Example:
{
"prompt": "What programming events should I attend this weekend?"
}
3. get_event_recommendations
Get AI-powered event recommendations using Claude with event context.
Parameters:
query(string, required): Natural language query for recommendationspreferences(string, optional): Additional preferences or constraints
Example:
{
"query": "I'm interested in machine learning and networking events",
"preferences": "Prefer free events, willing to travel up to 30 miles"
}
4. get_oauth_url
Get Meetup OAuth authorization URL for authentication setup.
Parameters: None
MCP Resources
1. meetup://config
Current server configuration and status information.
2. meetup://auth/status
Authentication status with Meetup.com including token validity.
Natural Language Query Examples
The server intelligently extracts parameters from natural language:
Time-based queries:
- "events today"
- "what's happening tomorrow"
- "events this week"
Location-based queries:
- "events near me"
- "meetups in San Francisco"
- "remote events only"
Topic-based queries:
- "Python programming meetups"
- "data science events"
- "startup networking"
- "AI and machine learning"
Combined queries:
- "Python events near me today"
- "remote data science meetups this week"
- "free networking events in San Francisco"
Error Handling
The server includes comprehensive error handling for:
- Authentication errors: Missing credentials, expired tokens
- API errors: Rate limiting, network failures, invalid queries
- Data processing errors: Malformed events, empty results
Security Considerations
- Environment variable configuration prevents credential exposure
- OAuth2 flow implementation follows security best practices
- No persistent storage of user queries or personal data
- Configurable logging levels to control information exposure
Development
Project Structure
mcp-meetup/
├── meetup_claude_mcp_server.py # Main server implementation
├── requirements.txt # Python dependencies
├── .env.example # Environment configuration template
├── README.md # This documentation
├── docs/ # Additional documentation
│ └── adr/ # Architecture decision records
└── tests/ # Test files (future)
Testing
Basic testing can be done by running the server and using MCP client tools:
# Start the server
python meetup_claude_mcp_server.py
# In another terminal, test with MCP client
# (MCP client implementation would go here)
Extending the Server
The modular design makes it easy to extend:
- Additional APIs: Add other event platforms in
EventDiscoveryEngine - Enhanced filtering: Extend
extract_query_parametersmethod - Caching: Add Redis or memory caching in
PromptAugmentationService - Additional tools: Add new MCP tools in
_setup_toolsmethod
Troubleshooting
Common Issues
-
Authentication failures
- Verify client ID and secret are correct
- Check redirect URI matches OAuth consumer settings
- Ensure access token hasn't expired
-
No events found
- Try broader search terms
- Check location spelling and format
- Verify time parameters are reasonable
-
API rate limiting
- Reduce query frequency
- Implement request caching
- Check API quota usage
-
Claude integration errors
- Verify Anthropic API key is valid
- Check API quota and billing status
- Review prompt length and complexity
Debug Mode
Enable debug logging:
export LOG_LEVEL=DEBUG
python meetup_claude_mcp_server.py
Health Checks
Check server status using MCP resources:
# Check configuration
# Use MCP client to read meetup://config
# Check authentication status
# Use MCP client to read meetup://auth/status
Contributing
Development Workflow
- Fork repository
- Create feature branch
- Implement changes with tests
- Update documentation
- Submit pull request
Code Standards
- Follow PEP 8 style guidelines
- Use type hints throughout
- Maintain comprehensive docstrings
- Include unit tests for new features
License
MIT License - see LICENSE file for details.
Support
For issues and questions:
- Check troubleshooting section
- Review configuration and setup
- Create detailed bug report with logs
- Include reproduction steps and environment details
Version: 1.0.0
Last Updated: 2025-07-27
Author: Generated for Dan Shields
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.