Dev.Tools 0.0.5

dotnet add package Dev.Tools --version 0.0.5
                    
NuGet\Install-Package Dev.Tools -Version 0.0.5
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Dev.Tools" Version="0.0.5" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Dev.Tools" Version="0.0.5" />
                    
Directory.Packages.props
<PackageReference Include="Dev.Tools" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Dev.Tools --version 0.0.5
                    
#r "nuget: Dev.Tools, 0.0.5"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Dev.Tools@0.0.5
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Dev.Tools&version=0.0.5
                    
Install as a Cake Addin
#tool nuget:?package=Dev.Tools&version=0.0.5
                    
Install as a Cake Tool

Dev Tools

CI Release GitHub Release .NET License: MIT Live Demo

A growing collection of developer utility tools — available as a CLI, REST API, and MCP server, all powered by a single .NET library.

Dev Tools is built around one idea: write a tool once, expose it everywhere. Every tool is a single C# class decorated with [ToolDefinition]. At build time, Roslyn source generators automatically produce a CLI command, an API endpoint, and an MCP tool definition - no boilerplate, no duplication.

The library covers everyday developer tasks: encoding and decoding (Base64, URL, case formats), cryptographic operations (hashing, encryption, JWT parsing), identifier generation (UUID v3-v7, ULID, tokens, passphrases), data formatting (JSON, XML), and more. Tools are independently installable and usable across all four frontends:

  • CLI: a dotnet global tool, fully pipeable
  • REST API: an ASP.NET Core service with interactive Scalar docs
  • Web UI: a Blazor WebAssembly app (MudBlazor)
  • MCP Server: plugs directly into Claude, Cursor, and other AI assistants
  • NuGet: embed the tools directly in your .NET application

Tools are localized (English and Ukrainian), multi-arch Docker images are published on every release.

Try the live demo - no installation needed.


Table of Contents


Features

  • Write once, expose everywhere — CLI, REST API, and MCP server all auto-generated from a single [ToolDefinition] attribute via Roslyn source generators
  • Growing tool library — encoding, hashing, encryption, UUID/ULID generation, JWT parsing, formatters, and more
  • Pipeable CLI — compose tools with Unix pipes: echo "hello" | dev-tools base64-encoder
  • AI assistant integration — MCP server works with Claude, Cursor, and any MCP-compatible host
  • Localization — English and Ukrainian
  • Multi-arch Docker imageslinux/amd64 and linux/arm64, published on every release
  • Extensible — add a new tool in a single .cs file and UI component; the rest is wired up at build time

Available Tools

See docs/tools.md for the full categorized reference with aliases and descriptions.


Usage

Web UI

Run locally with Docker:

docker run -p 8080:8080 ghcr.io/dobermanch/dev-tools-web

Open http://localhost:8080 in your browser.


CLI

Install as a dotnet global tool:

dotnet tool install --global Dev.Tools.Console
# Encode to Base64
dev-tools base64-encoder "Hello, World!"
# → SGVsbG8sIFdvcmxkIQ==

# Pipe tools together
echo "Hello, World!" | dev-tools base64-encoder | dev-tools base64-decoder

# Format JSON (sort keys)
echo '{"b":2,"a":1}' | dev-tools json-formatter --sort-keys Ascending

# Get help
dev-tools --help
dev-tools hash --help

Or run without installing via Docker:

docker run --rm ghcr.io/dobermanch/dev-tools-console base64-encoder "Hello, World!"
# → SGVsbG8sIFdvcmxkIQ==

# Pipe into the container
echo "Hello, World!" | docker run --rm -i ghcr.io/dobermanch/dev-tools-console base64-encoder

REST API

Run as a Docker container:

docker run -p 8080:8080 ghcr.io/dobermanch/dev-tools-api

Call an endpoint:

# Encode to Base64
curl -X POST http://localhost:8080/tools/base64-encoder \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello, World!"}'

Interactive API documentation (Scalar UI) is available at http://localhost:8080/ui.


MCP Server (AI assistants)

Once registered, your assistant can use any tool directly — e.g., "hash this text with SHA-256" or "generate 5 UUIDs".

Run via DotNet Tool

Install the MCP server as a global tool and register it in your AI assistant configuration.

dotnet tool install --global Dev.Tools.Mcp

Add to AI agent MCP config

"dev-tools": {
  "type": "stdio",
  "command": "dev-tools-mcp"
}
Run via Docker

Use Docker dev-tools-mcp image and register it in your AI assistant configuration.

Using stdio transport:

"dev-tools": {
  "type": "stdio",
  "command": "docker",
  "args": ["run", "--rm", "-i", "-e", "MCP_TRANSPORT=stdio", "ghcr.io/dobermanch/dev-tools-mcp"]
}

Using HTTP transport:

"dev-tools": {
  "type": "http",
  "command": "docker",
  "args": ["run", "--rm", "-i", "ghcr.io/dobermanch/dev-tools-mcp"]
}

NuGet Library

Embed the tools directly in your .NET application.

dotnet add package Dev.Tools
// Base64 encode
var encoded = await new Base64EncoderTool().RunAsync(
    new Base64EncoderTool.Args("Hello, World!"),
    CancellationToken.None);

Console.WriteLine(encoded.Output); // SGVsbG8sIFdvcmxkIQ==

All-in-one Docker Image

The dev-tools image bundles the Web UI, REST API, and MCP server into a single container — useful for self-hosting or quick local demos.

docker run -p 80:80 -p 8080:8080 -p 8081:8081 ghcr.io/dobermanch/dev-tools
Port Service Urls
80 Web UI http://localhost
8080 REST API http://localhost:8080, http://localhost:8080/ui
8081 MCP server (HTTP transport) http://localhost:8081

Building Locally

Prerequisites

  • .NET 10 SDK
  • Docker (optional — for container builds)
  • Make (optional — for convenience targets)

Clone And Build

git clone https://github.com/dobermanch/dev-tools.git
cd dev-tools

dotnet restore
dotnet build
dotnet test

Run a specific test class:

dotnet test --filter "ClassName=Base64EncoderToolTests"

Make Targets

make tool      # Pack and install Dev.Tools.Console globally
make mcp       # Pack and install Dev.Tools.Mcp globally
make nuget     # Pack the Dev.Tools NuGet package
make docker    # Build all Docker images locally
make clean     # Remove build artifacts and Docker images

License

MIT

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.0.5 93 2/24/2026
0.0.4 88 2/24/2026
0.0.3 96 2/24/2026