开发者会议CFP服务

一个基于Go语言构建的MCP服务器,提供开发者会议CFP信息的访问服务,适用于本地和云端部署。

  • by shelajev
  • Go
  • 混合部署
  • 2 星标
  • 更新于
在 GitHub 查看 shelajev/developer-events-mcp

使用说明

Developer.events MCP服务器🎯

单二进制MCP服务器,零依赖!

使用Go构建的本地MCP(模型上下文协议)服务器,提供从以下位置访问开发人员会议CFP的权限 开发者事件.

🚀 快速开始

立即尝试-公共实例

无需安装! 连接到公共托管实例:

Claude桌面配置 (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "developer-events": {
      "url": "https://developer-events-mcp-54127830651.europe-west2.run.app"
    }
  }
}

重新启动Claude Desktop并开始询问CFP!


此服务器可以在中运行 两种模式:

模式1:本地(stdio)-适用于克劳德桌面

  1. 配置Claude桌面

添加到您的Claude Desktop配置中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "developer-events": {
      "command": "/full/path/to/mcp-server"
    }
  }
}
  1. 重新启动克劳德桌面

  2. 开始使用!

尝试以下查询:

  • “哪些CFP将在未来7天内关闭?”
  • “向我展示具有开放式CFP的Java相关会议”
  • “查找法国会议的CFP”
  • “列出本周闭幕的人工智能会议CFP”

模式2:HTTP服务器-用于云部署

部署为任何人都可以连接的web服务,而无需安装任何东西!

部署到Google Cloud Run

  1. 构建并推送容器:
# Set your GCP project
gcloud config set project YOUR_PROJECT_ID

# Build and deploy in one command
gcloud run deploy developer-events-mcp \
  --source . \
  --platform managed \
  --region us-central1 \
  --allow-unauthenticated \
  --memory 256Mi
  1. 获取您的服务URL:
gcloud run services describe developer-events-mcp --region us-central1 --format 'value(status.url)'
  1. 从克劳德桌面连接:

更新配置以使用部署的端点(或使用此README顶部的公共实例):

{
  "mcpServers": {
    "developer-events": {
      "url": "https://your-service-url.run.app"
    }
  }
}

本地HTTP模式

以HTTP服务器的身份在本地运行以进行测试:

MODE=http PORT=8080 ./mcp-server
# Or let Cloud Run set PORT automatically
PORT=8080 ./mcp-server

Docker构建

docker build -t developer-events-mcp .
docker run -p 8080:8080 developer-events-mcp

其他云平台

Docker镜像可以在任何支持容器的平台上运行:

  • AWS ECS/Fargate:部署容器
  • Azure容器应用: az containerapp create
  • Fly.io: fly launch
  • 铁路:连接GitHub仓库

⚡ 为什么?

  • ✅ 真正的原生二进制文件 -无需运行时!
  • ✅ 即时启动 -毫秒,而不是秒
  • ✅ 内存占用空间小 -~10-20MB
  • ✅ 单文件分发 -只需下载并运行
  • ✅ 跨平台 -Linux、macOS(英特尔和苹果硅)、Windows

📦 下载并在本地运行

二进制安装

从下载最新版本 发布.

Linux(x86_64):

curl -L https://github.com/shelajev/developer-events-mcp/releases/latest/download/developer-events-mcp_Linux_x86_64.tar.gz | tar xz
./developer-events-mcp

macOS(苹果硅):

curl -L https://github.com/shelajev/developer-events-mcp/releases/latest/download/developer-events-mcp_Darwin_arm64.tar.gz | tar xz
./developer-events-mcp

macOS(英特尔):

curl -L https://github.com/shelajev/developer-events-mcp/releases/latest/download/developer-events-mcp_Darwin_x86_64.tar.gz | tar xz
./developer-events-mcp

窗户: 下载 developer-events-mcp_Windows_x86_64.zip 从 发布 并提取。

🔧 可用工具

1. list_open_cfps

列出所有当前开放的开发者会议论文征集。

参数:

  • limit (可选,默认值:20):最大结果数

例子:

显示下一个10个打开的CFP

2. search_cfps_by_keyword

通过会议名称和CFP链接中的关键字搜索开放的CFP。非常适合查找与技术相关的会议(例如“java”、“python”、“kubernetes”)或会议系列名称。

参数:

  • keywords (必填):在会议名称和链接中搜索的关键字列表
  • limit (可选,默认值:20):最大结果数

示例:

查找名称中包含“Java”或“JVM”的打开的CFP

向我展示标题中包含“AI”或“机器学习”的会议

搜索与Kubernetes相关的CFP

3. find_closing_cfps

查找在指定天数内即将关闭的CFP,可选择按关键字筛选。

参数:

  • daysAhead (可选,默认值:7):展望未来的天数
  • keywords (可选):按会议名称中的关键字筛选

示例:

哪些CFP将在未来7天内关闭?

显示未来14天内关闭的Java相关CFP

查找本周闭幕的人工智能会议CFP

4. search_cfps_by_location

按地点/国家搜索开放的CFP。

参数:

  • location (必填):要搜索的位置(例如,“法国”、“美国”、“柏林”、“在线”)
  • limit (可选,默认值:20):最大结果数

示例:

查找法国会议的CFP

向我展示具有开放式CFP的在线会议

柏林的哪些会议有开放的CFP?

🛠️ 从源头构建

先决条件

  • 转到1.21或更高版本

为当前平台构建

go build -ldflags="-s -w" -o developer-events-mcp main.go

为所有平台构建

./build-all.sh

这将在中创建二进制文件 bin/ 用于:

  • Linux(x86_64,ARM64)
  • macOS(英特尔、苹果硅)
  • Windows(x86_64)

📊 演出

度量 值
二进制大小 ~7MB
启动时间 <10ms
内存使用量 ~10-20MB
运行时依赖关系 无

🏗️ 建筑

  • 语言: 转到1.24
  • MCP-SDK: github/modelcontextprotocol/go-sdk v1.2.0
  • 运输: 双模
    • 用于本地Claude Desktop的stdio(标准输入/输出)
    • 用于云部署的HTTP流(流式HTTP)
  • 缓存: 内存中(1小时TTL)
  • HTTP客户端: 本地Go net/http
  • 集装箱: 多阶段Docker构建(~15MB最终镜像)

📡 数据源

  • APIhttps://developers.events/all-cfps.json
  • 社区驱动,定期更新
  • 目前共有约2785个CFP,约305个开放
  • 缓存1小时以减少API负载

🔒 安全

  • 除了Go标准库和MCP SDK之外,没有外部依赖关系
  • 仅限HTTPS的API调用
  • 没有持久存储的数据
  • 在用户空间中运行(不需要提升权限)
  • 静态编译的二进制文件

🐛 故障排除

二进制文件无法执行(macOS)

macOS可能会隔离下载的二进制文件。删除隔离属性:

xattr -d com.apple.quarantine mcp-server

权限被拒绝(Linux/macOS)

使二进制文件可执行:

chmod +x mcp-server

Claude Desktop看不到服务器

  • 验证您是否正在使用 完全绝对路径 在配置中
  • 配置更改后重新启动Claude Desktop
  • 检查克劳德桌面日志:
    • macOS: ~/Library/Logs/Claude/
    • 窗户: %APPDATA%\Claude\logs\

服务器在第一次请求时似乎很慢

第一个请求从开发者.events API获取并缓存数据。后续请求将是即时的(从1小时缓存中提供)。

📝 用例

每日提醒代理

制定每日例行检查CFP:

早上好!查看未来10天内关闭的Java、Kubernetes或云相关CFP

扬声器配置文件匹配

设置与您的演讲配置文件相匹配的主题过滤器:

查找以下CFP:kubernetes、docker、云、devops、terraform

基于位置的规划

计划会议演讲之旅:

向我展示欧洲所有开放的CFP

查找2026年第二季度在美国举行的会议的CFP

最后一分钟的机会

寻找紧急机会:

哪些CFP将在未来三天内关闭?

🌍 支持的平台

预构建的二进制文件可用于:

  • ✅ Linux x86_64
  • ✅ Linux ARM64(Raspberry Pi、AWS Graviton等)
  • ✅ macOS x86_64(英特尔)
  • ✅ macOS ARM64(苹果硅M1/M2/M3)
  • ✅ Windows x86_64

📚 响应格式

每个CFP结果包括:

{
  "conference": "Conference Name",
  "location": "City (Country)",
  "cfpDeadline": "MMM-DD-YYYY",
  "daysRemaining": 30,
  "conferenceDate": "YYYY-MM-DD",
  "cfpLink": "https://...",
  "conferenceWebsite": "https://...",
  "status": "open"
}

🤝 贡献

欢迎投稿!拜托:

  1. 克隆该仓库
  2. 创建要素分支
  3. 进行更改
  4. 提交拉取请求

📄 许可证

麻省理工学院

🙏 学分

  • MCP协议: Anthropic
  • Go SDK: 模型上下文协议团队和谷歌
  • API数据: developers.events社区
  • 内置: Go,官方MCP SDK

内置于❤️ 使用Go和官方的模型上下文协议SDK

需要帮助?打开问题或查看上面的故障排除部分。