Sidekiq MCP
](https://badge.fury.io/rb/sidekiq-mcp) 
Sidekiq插件,提供MCP(模型上下文协议)服务器,使LLM能够通过标准化接口与Sidekiq队列、统计数据和失败作业进行交互。
可用工具
MCP服务器提供以下工具:
统计与监控
sidekiq_stats-获取Sidekiq的常规统计数据(已处理、失败、繁忙、排队计数)job_class_stats-按类别细分作业计数、重试次数和错误率workers_count-显示有多少工人正在运行和忙碌queue_health-关于队列是否已备份或是否正常的提示
队列检查
list_queues-列出所有队列及其大小和延迟queue_details-获取特定队列的详细信息,包括作业busy_workers-列出当前繁忙的员工及其工作详细信息
作业管理
failed_jobs-列出失败的作业及其错误详细信息list_retry_jobs-列出重试集中的作业(失败但将重试的作业)list_scheduled_jobs-列出计划集中的作业dead_jobs-显示死集中的作业(已用尽所有重试的作业)job_details-按JID显示作业的参数、错误消息和历史记录
作业操作
retry_job-通过JID重试失败的作业delete_failed_job-通过JID删除失败的作业remove_job-通过JID从任何集合中删除作业(队列/计划/重试/死亡)reschedule_job-将计划集中的作业重新安排到新时间kill_job-将作业从重试/计划集移动到死集clear_queue-清除特定队列中的所有作业(破坏性操作)
实时监控
stream_stats-开始流式传输实时Sidekiq统计数据(与SSE一起使用)process_set-获取所有Sidekiq流程/工人的详细信息
示例提示
配置后,您可以询问您的LLM:
- “Sidekiq的现状如何?”
- “显示失败的作业及其错误消息”
- “列出所有队列及其运行状况”
- “哪些工作类别的错误率最高?”
- “显示作业abc123的详细信息”
- “使用JID abc123重试作业”
- “当前正在运行哪些作业?”
- “队列是否已备份或不健康?”
- “现在有多少工人在忙?”
- “从'low_priority'队列中清除所有作业”
- “将作业abc123重新安排为明天上午9点运行”
- “将此失败的作业移到死集”
- “开始流式传输实时统计数据更新”
安装
将此行添加到应用程序的Gemfile中:
gem 'sidekiq-mcp'然后执行:
bundle install用法
Rails集成
gem会自动与Rails应用程序集成。在初始化器中配置它:
# config/initializers/sidekiq_mcp.rb
Sidekiq::Mcp.configure do |config|
config.enabled = true
config.path = "/sidekiq-mcp"
config.auth_token = Rails.application.credentials.sidekiq_mcp_token
config.sse_enabled = true # Enable Server-Sent Events for real-time updates
endMCP服务器将在配置的路径上可用(默认: /sidekiq-mcp).
手动设置(非Rails)
对于非Rails应用程序,将中间件添加到Rack堆栈中:
require 'sidekiq/mcp'
# Configure
Sidekiq::Mcp.configure do |config|
config.auth_token = "your-secret-token"
end
# Add to your config.ru or middleware stack
use Sidekiq::Mcp::Middleware认证
MCP服务器支持两种身份验证方法:
- 承载令牌:包括
Authorization: Bearer your-token头球 - HTTP基本身份验证:使用带有令牌的任何用户名作为密码
不同MCP客户端的示例配置:
克劳德桌面
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"sidekiq": {
"command": "curl",
"args": [
"-X", "POST",
"-H", "Content-Type: application/json",
"-H", "Authorization: Bearer your-secret-token",
"http://localhost:3000/sidekiq-mcp"
]
}
}
}带Claude扩展名的VS代码
在VS代码设置中配置:
{
"claude.mcpServers": {
"sidekiq": {
"url": "http://localhost:3000/sidekiq-mcp",
"headers": {
"Authorization": "Bearer your-secret-token"
}
}
}
}光标
添加到游标配置中:
{
"mcp": {
"servers": {
"sidekiq": {
"command": ["curl"],
"args": [
"-X", "POST",
"-H", "Content-Type: application/json",
"-H", "Authorization: Bearer your-secret-token",
"http://localhost:3000/sidekiq-mcp"
]
}
}
}
}克劳德代码
通过CLI配置:
claude mcp add --transport http sidekiq-mcp-server http://localhost:3000/sidekiq-mcp或者添加到您的MCP配置中:
{
"sidekiq-mcp": {
"endpoint": "http://localhost:3000/sidekiq-mcp",
"auth": {
"type": "bearer",
"token": "your-secret-token"
}
}
}发展
签出repo后,运行 bin/setup 安装依赖项。然后,跑 rake test 运行测试。
这 example/ 目录中包含一个演示集成的示例Rails应用程序。
贡献
欢迎在GitHub上提交Bug报告和拉取请求,网址为https://github.com/andrew/sidekiq-mcp.
许可证
根据麻省理工学院许可证的条款,gem可以作为开源软件使用。
