Meetup-Claude集成服务器

一个生产级的模型通信协议(MCP)服务器,无缝集成Meetup.com的事件发现API和Anthropic的Claude LLM,实现智能事件发现、自然语言查询和AI驱动的推荐。

  • by d4nshields
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 d4nshields/mcp-meetup

使用说明

MCP Meetup克劳德集成服务器

概述

这是一个生产质量的模型通信协议(MCP)服务器,它将Meetup.com的事件发现API与Anthropic的Claude LLM无缝集成。该服务器支持智能事件发现、自然语言查询和基于AI的Meetup事件推荐。

建筑

核心组件

  1. MCP协议处理程序 (MeetupClaudeMCPServer)

    • 管理客户端连接和工具定义
    • 处理资源管理和服务器生命周期
    • 提供标准化的MCP接口
  2. 认证管理器 (AuthenticationManager)

    • Meetup.com的OAuth2流实现
    • 令牌生命周期管理和刷新
    • 安全的凭证处理
  3. 事件发现引擎 (EventDiscoveryEngine)

    • 自然语言查询参数提取
    • 双重API支持(REST和GraphQL)
    • 智能事件过滤和排名
  4. 快速扩展服务 (PromptAugmentationService)

    • 上下文感知提示增强
    • LLM消费的事件数据格式
    • 智能相关性过滤
  5. 克劳德集成 (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设置

  1. 访问 会见OAuth消费者

  2. 点击“创建新消费者”

  3. 填写申请详情:

    • 应用程序名称:您的应用程序名称
    • 应用网站:您的网站或GitHub仓库
    • 重定向URI: http://localhost:8080/oauth/callback
    • 用途说明:用例的简要描述
  4. 保存生成的:

    • 客户端ID
    • 客户端密钥

2.人类学API设置

  1. 访问 拟人控制台
  2. 创建帐户或登录
  3. 导航到API密钥部分
  4. 生成新的API密钥
  5. 安全复制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)

扩展服务器

模块化设计使其易于扩展:

  1. 其他API:在中添加其他活动平台 EventDiscoveryEngine
  2. 增强过滤:扩展 extract_query_parameters 方法
  3. 缓存:在中添加Redis或内存缓存 PromptAugmentationService
  4. 附加工具:在中添加新的MCP工具 _setup_tools 方法

故障排除

常见问题

  1. 身份验证失败

    • 验证客户端ID和密码是否正确
    • 检查重定向URI是否与OAuth使用者设置匹配
    • 确保访问令牌未过期
  2. 未找到事件

    • 尝试更广泛的搜索词
    • 检查位置拼写和格式
    • 验证时间参数是否合理
  3. API速率限制

    • 减少查询频率
    • 实现请求缓存
    • 检查API配额使用情况
  4. 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

贡献

开发工作流程

  1. Fork存储库
  2. 创建特征分支
  3. 通过测试实施更改
  4. 更新文档
  5. 提交拉取请求

代码规范

  • 遵循PEP 8风格指南
  • 全程使用类型提示
  • 维护全面的文档
  • 包括新功能的单元测试

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

支持

对于问题和疑问:

  1. 检查故障排除部分
  2. 检查配置和设置
  3. 使用日志创建详细的错误报告
  4. 包括复制步骤和环境细节

版本: 1.0.0
最后更新: 2025-07-27
作者:为Dan Shields制作