Releases: NikiforovAll/hangfire-mcp-dotnet
Releases · NikiforovAll/hangfire-mcp-dotnet
v0.2.1
v0.2.0
What's Changed
Features
- feat: authorization filter pipeline + [Authorize] support (#11) @NikiforovAll
- feat: honor [Description] on jobs and parameters (#9) @NikiforovAll
- feat: MCP prompts for Hangfire admin/run discovery (#8) @NikiforovAll
- feat: OAuth/Keycloak auth sample (#7) @NikiforovAll
- feat: built-in hangfire_* maintenance tools (#6) @NikiforovAll
Maintenance
- feat: authorization filter pipeline + [Authorize] support (#11) @NikiforovAll
- feat: MCP prompts for Hangfire admin/run discovery (#8) @NikiforovAll
- feat: OAuth/Keycloak auth sample (#7) @NikiforovAll
Documentation
- feat: authorization filter pipeline + [Authorize] support (#11) @NikiforovAll
- feat: OAuth/Keycloak auth sample (#7) @NikiforovAll
- feat: built-in hangfire_* maintenance tools (#6) @NikiforovAll
Full Changelog: v0.1.0...v0.2.0
v0.1.0
🎉 Initial Release
Nall.Hangfire.Mcp exposes Hangfire background jobs as MCP tools via a streamable HTTP endpoint, running in-process with the ASP.NET host.
Features
Zero-ceremony MCP server for Hangfire
- Mounts a Streamable HTTP MCP endpoint (
/mcp) on top of any existing Hangfire app with three lines of setup - No attributes, no shim interfaces — discovery reads what you already register with Hangfire
- Compatible with any MCP client: VS Code, Claude Desktop, custom agents
Flexible job discovery
| Source | What it sees |
|---|---|
RecurringStorage (default) |
Recurring jobs from Hangfire storage |
StaticManifest |
Compile-time scan via the optional Roslyn source generator |
All |
Union of both, deduped |
JSON Schema from MethodInfo
- Schema generated per method signature — no manual tool definitions
- Required vs. optional respects C# defaults and nullable annotations (
int?,string?, NRT) - Complex types, enums, collections, and overloads all supported
Source generator (Nall.Hangfire.Mcp.Generator)
- Roslyn incremental generator (
netstandard2.0) scansAddOrUpdate/Enqueue/Schedulecall sites at compile time - Emits a static
JobManifestRegistry— enables MCP tools for one-shot jobs not registered as recurring
Dynamic scheduling
HangfireDynamicSchedulerenqueues any discovered job viaIBackgroundJobClientwith a dynamically-builtJob— no generated shims needed- Supports optional queue override per call
Getting Started
dotnet add package Nall.Hangfire.Mcpbuilder.Services.AddHangfireMcp();
app.MapHangfireMcp("/mcp");Full Changelog: https://github.com/NikiforovAll/hangfire-mcp-dotnet/commits/main