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