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
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。