使用说明
MCP Meetup克劳德集成服务器
概述
这是一个生产质量的模型通信协议(MCP)服务器,它将Meetup.com的事件发现API与Anthropic的Claude LLM无缝集成。该服务器支持智能事件发现、自然语言查询和基于AI的Meetup事件推荐。
建筑
核心组件
-
MCP协议处理程序 (
MeetupClaudeMCPServer)- 管理客户端连接和工具定义
- 处理资源管理和服务器生命周期
- 提供标准化的MCP接口
-
认证管理器 (
AuthenticationManager)- Meetup.com的OAuth2流实现
- 令牌生命周期管理和刷新
- 安全的凭证处理
-
事件发现引擎 (
EventDiscoveryEngine)- 自然语言查询参数提取
- 双重API支持(REST和GraphQL)
- 智能事件过滤和排名
-
快速扩展服务 (
PromptAugmentationService)- 上下文感知提示增强
- LLM消费的事件数据格式
- 智能相关性过滤
-
克劳德集成 (
ClaudeIntegration)- 无烟煤API客户管理
- 响应生成和错误处理
- 可配置的模型参数
数据流
User Query → Parameter Extraction → Event Discovery → Data Augmentation → Claude Processing → Response
快速开始
先决条件
- Python 3.8+
- Meetup.com帐户
- API无烟煤账户
安装
# 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设置说明
1.Meetup.com OAuth设置
-
访问 会见OAuth消费者
-
点击“创建新消费者”
-
填写申请详情:
- 应用程序名称:您的应用程序名称
- 应用网站:您的网站或GitHub仓库
- 重定向URI:
http://localhost:8080/oauth/callback - 用途说明:用例的简要描述
-
保存生成的:
- 客户端ID
- 客户端密钥
2.人类学API设置
- 访问 拟人控制台
- 创建帐户或登录
- 导航到API密钥部分
- 生成新的API密钥
- 安全复制API密钥
3.环境配置
中所需的环境变量 .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
可选配置:
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工具
1. search_meetup_events
使用自然语言查询搜索Meetup活动。
参数:
query(字符串,必填):自然语言搜索查询max_results(整数,可选):要返回的最大事件数(默认值:20)
例子:
{
"query": "Python programming events near San Francisco this week",
"max_results": 10
}
2. augment_prompt_with_events
使用相关事件数据增强用户提示的上下文。
参数:
prompt(string,必填):用户提示增加
例子:
{
"prompt": "What programming events should I attend this weekend?"
}
3. get_event_recommendations
使用带有事件上下文的Claude获取基于AI的事件推荐。
参数:
query(字符串,必填):推荐的自然语言查询preferences(字符串,可选):其他首选项或约束
例子:
{
"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
获取Meetup OAuth授权URL以进行身份验证设置。
参数: 无
MCP资源
1. meetup://config
当前服务器配置和状态信息。
2. meetup://auth/status
Meetup.com的身份验证状态,包括令牌有效性。
自然语言查询示例
服务器智能地从自然语言中提取参数:
基于时间的查询:
- “今日事件”
- “明天会发生什么”
- “本周事件”
基于位置的查询:
- “我附近的事件”
- “旧金山聚会”
- “仅限远程事件”
基于主题的查询:
- “Python编程聚会”
- “数据科学事件”
- “创业网络”
- “人工智能和机器学习”
组合查询:
- “今天我附近的Python事件”
- “本周远程数据科学会议”
- “旧金山免费网络活动”
错误处理
该服务器包括全面的错误处理功能,用于:
- 身份验证错误:缺少凭据、令牌过期
- API错误:速率限制、网络故障、无效查询
- 数据处理错误:事件格式错误,结果为空
安全考虑
- 环境变量配置可防止凭据暴露
- OAuth2流实现遵循安全最佳实践
- 没有持久存储用户查询或个人数据
- 可配置的日志记录级别,以控制信息泄露
发展
项目结构
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)
测试
基本测试可以通过运行服务器和使用MCP客户端工具来完成:
# Start the server
python meetup_claude_mcp_server.py
# In another terminal, test with MCP client
# (MCP client implementation would go here)
扩展服务器
模块化设计使其易于扩展:
- 其他API:在中添加其他活动平台
EventDiscoveryEngine - 增强过滤:扩展
extract_query_parameters方法 - 缓存:在中添加Redis或内存缓存
PromptAugmentationService - 附加工具:在中添加新的MCP工具
_setup_tools方法
故障排除
常见问题
-
身份验证失败
- 验证客户端ID和密码是否正确
- 检查重定向URI是否与OAuth使用者设置匹配
- 确保访问令牌未过期
-
未找到事件
- 尝试更广泛的搜索词
- 检查位置拼写和格式
- 验证时间参数是否合理
-
API速率限制
- 减少查询频率
- 实现请求缓存
- 检查API配额使用情况
-
Claude集成错误
- 验证Anthropic API密钥是否有效
- 检查API配额和计费状态
- 审查提示长度和复杂性
调试模式
启用调试日志记录:
export LOG_LEVEL=DEBUG
python meetup_claude_mcp_server.py
健康检查
使用MCP资源检查服务器状态:
# Check configuration
# Use MCP client to read meetup://config
# Check authentication status
# Use MCP client to read meetup://auth/status
贡献
开发工作流程
- Fork存储库
- 创建特征分支
- 通过测试实施更改
- 更新文档
- 提交拉取请求
代码规范
- 遵循PEP 8风格指南
- 全程使用类型提示
- 维护全面的文档
- 包括新功能的单元测试
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
支持
对于问题和疑问:
- 检查故障排除部分
- 检查配置和设置
- 使用日志创建详细的错误报告
- 包括复制步骤和环境细节
版本: 1.0.0
最后更新: 2025-07-27
作者:为Dan Shields制作