https://github.com/andrew/sidekiq-mcp
A Sidekiq plugin that provides an MCP (Model Context Protocol) server for LLMs to interact with Sidekiq queues, stats, and failed jobs
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.1%) to scientific vocabulary
Repository
A Sidekiq plugin that provides an MCP (Model Context Protocol) server for LLMs to interact with Sidekiq queues, stats, and failed jobs
Basic Info
- Host: GitHub
- Owner: andrew
- Language: Ruby
- Default Branch: main
- Homepage: https://rubygems.org/gems/sidekiq-mcp
- Size: 50.8 KB
Statistics
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Sidekiq MCP
A Sidekiq plugin that provides an MCP (Model Context Protocol) server, enabling LLMs to interact with Sidekiq queues, statistics, and failed jobs through a standardized interface.
Available Tools
The MCP server provides the following tools:
Statistics & Monitoring
sidekiq_stats- Get general Sidekiq statistics (processed, failed, busy, enqueued counts)job_class_stats- Breakdown of job counts, retries, and error rates by classworkers_count- Show how many workers are running and busyqueue_health- Heuristics on whether queues are backed up or healthy
Queue Inspection
list_queues- List all queues with sizes and latencyqueue_details- Get detailed info about a specific queue including jobsbusy_workers- List currently busy workers and their job details
Job Management
failed_jobs- List failed jobs with error detailslist_retry_jobs- List jobs in the retry set (jobs that failed but will be retried)list_scheduled_jobs- List jobs in the scheduled setdead_jobs- Show jobs in the dead set (jobs that have exhausted all retries)job_details- Show args, error message, and history for a job by JID
Job Actions
retry_job- Retry a failed job by JIDdelete_failed_job- Delete a failed job by JIDremove_job- Remove a job from any set (queue/schedule/retry/dead) by JIDreschedule_job- Reschedule a job in the scheduled set to a new timekill_job- Move a job from retry/scheduled set to the dead setclear_queue- Clear all jobs from a specific queue (destructive operation)
Real-time Monitoring
stream_stats- Start streaming real-time Sidekiq statistics (use with SSE)process_set- Get detailed information about all Sidekiq processes/workers
Example Prompts
Once configured, you can ask your LLM:
- "What's the current status of Sidekiq?"
- "Show me the failed jobs and their error messages"
- "List all queues and their health status"
- "Which job classes have the highest error rates?"
- "Show me details for job abc123"
- "Retry the job with JID abc123"
- "What jobs are currently running?"
- "Are any queues backed up or unhealthy?"
- "How many workers are busy right now?"
- "Clear all jobs from the 'low_priority' queue"
- "Reschedule job abc123 to run tomorrow at 9 AM"
- "Move this failed job to the dead set"
- "Start streaming live stats updates"
Installation
Add this line to your application's Gemfile:
ruby
gem 'sidekiq-mcp'
And then execute:
bash
bundle install
Usage
Rails Integration
The gem automatically integrates with Rails applications. Configure it in an initializer:
```ruby
config/initializers/sidekiq_mcp.rb
Sidekiq::Mcp.configure do |config| config.enabled = true config.path = "/sidekiq-mcp" config.authtoken = Rails.application.credentials.sidekiqmcptoken config.sseenabled = true # Enable Server-Sent Events for real-time updates end ```
The MCP server will be available at the configured path (default: /sidekiq-mcp).
Manual Setup (Non-Rails)
For non-Rails applications, add the middleware to your Rack stack:
```ruby 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 ```
Authentication
The MCP server supports two authentication methods:
- Bearer Token: Include
Authorization: Bearer your-tokenheader - HTTP Basic Auth: Use any username with your token as the password
Example configuration for different MCP clients:
Claude Desktop
Add to your claude_desktop_config.json:
json
{
"mcpServers": {
"sidekiq": {
"command": "curl",
"args": [
"-X", "POST",
"-H", "Content-Type: application/json",
"-H", "Authorization: Bearer your-secret-token",
"http://localhost:3000/sidekiq-mcp"
]
}
}
}
VS Code with Claude Extension
Configure in your VS Code settings:
json
{
"claude.mcpServers": {
"sidekiq": {
"url": "http://localhost:3000/sidekiq-mcp",
"headers": {
"Authorization": "Bearer your-secret-token"
}
}
}
}
Cursor
Add to your Cursor configuration:
json
{
"mcp": {
"servers": {
"sidekiq": {
"command": ["curl"],
"args": [
"-X", "POST",
"-H", "Content-Type: application/json",
"-H", "Authorization: Bearer your-secret-token",
"http://localhost:3000/sidekiq-mcp"
]
}
}
}
}
Claude Code
Configure via CLI:
bash
claude mcp add --transport http sidekiq-mcp-server http://localhost:3000/sidekiq-mcp
Or add to your MCP configuration:
json
{
"sidekiq-mcp": {
"endpoint": "http://localhost:3000/sidekiq-mcp",
"auth": {
"type": "bearer",
"token": "your-secret-token"
}
}
}
Development
After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests.
The example/ directory contains a sample Rails application demonstrating the integration.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/andrew/sidekiq-mcp.
License
The gem is available as open source under the terms of the MIT License.
Owner
- Name: Andrew Nesbitt
- Login: andrew
- Kind: user
- Location: Bristol, UK
- Company: @ecosyste-ms and @octobox
- Website: https://nesbitt.io
- Twitter: teabass
- Repositories: 357
- Profile: https://github.com/andrew
Working on mapping the world of open source software @ecosyste-ms and empowering developers with @octobox
GitHub Events
Total
- Watch event: 1
- Push event: 3
- Create event: 1
Last Year
- Watch event: 1
- Push event: 3
- Create event: 1
Committers
Last synced: 11 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Andrew Nesbitt | a****z@g****m | 8 |
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- rubygems 275 total
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 2
- Total maintainers: 1
rubygems.org: sidekiq-mcp
A Sidekiq plugin that provides an MCP (Model Context Protocol) server for LLMs to interact with Sidekiq queues, stats, and failed jobs
- Homepage: https://github.com/andrew/sidekiq-mcp
- Documentation: http://www.rubydoc.info/gems/sidekiq-mcp/
-
Latest release: 0.2.0
published 12 months ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v4 composite
- ruby/setup-ruby v1 composite
- base latest build
- docker.io/library/ruby $RUBY_VERSION-slim build
- irb >= 0
- minitest ~> 5.16
- rake ~> 13.0
- base64 0.3.0
- bigdecimal 3.2.2
- bundler 2.7.1
- concurrent-ruby 1.3.5
- connection_pool 2.5.3
- date 3.4.1
- dry-configurable 1.3.0
- dry-core 1.1.0
- dry-inflector 1.2.0
- dry-initializer 3.2.0
- dry-logic 1.6.0
- dry-schema 1.14.1
- dry-types 1.8.3
- erb 5.0.2
- io-console 0.8.1
- irb 1.15.2
- json 2.13.2
- logger 1.7.0
- minitest 5.25.5
- pp 0.6.2
- prettyprint 0.2.0
- psych 5.2.6
- rack 3.2.0
- rack-test 2.2.0
- rake 13.3.0
- rdoc 6.14.2
- redis-client 0.25.1
- reline 0.6.2
- sidekiq 8.0.6
- sidekiq-mcp 0.2.0
- stringio 3.1.7
- zeitwerk 2.7.3
- brakeman >= 0 development
- rubocop-rails-omakase >= 0 development
- bootsnap >= 0
- kamal >= 0
- puma >= 5.0
- rails ~> 8.0.2
- sidekiq >= 0
- sidekiq-mcp >= 0
- solid_cable >= 0
- solid_cache >= 0
- solid_queue >= 0
- sqlite3 >= 2.1
- thruster >= 0
- rack-test >= 0 development
- base64 >= 0
- dry-schema ~> 1.13
- rack >= 2.0
- sidekiq >= 6.0