Setting up the MCP server
The server is started by the client as a child process. It is therefore enough to put the path to the executable into the client’s configuration — no service, no port, no sign-in.
Build it first
Section titled “Build it first”dotnet publish src/Invoiceflair.Mcp/Invoiceflair.Mcp.csproj -c Release -o <target folder>Claude Desktop
Section titled “Claude Desktop”The file claude_desktop_config.json — on Windows %APPDATA%\Claude\, on macOS
~/Library/Application Support/Claude/:
{ "mcpServers": { "invoiceflair": { "command": "C:\\Programme\\Invoiceflair MCP\\Invoiceflair.Mcp.exe", "env": { "INVOICEFLAIR_MCP_ROOT": "C:\\Rechnungen", "INVOICEFLAIR_MCP_OUTPUT": "C:\\Rechnungen\\_ergebnisse" } } }}VS Code
Section titled “VS Code”The file .vscode/mcp.json in the workspace:
{ "servers": { "invoiceflair": { "type": "stdio", "command": "C:\\Programme\\Invoiceflair MCP\\Invoiceflair.Mcp.exe" } }}Claude Code
Section titled “Claude Code”The file .mcp.json in the project folder — the same shape as for VS Code.
Instead of the .exe, the executable without an extension:
/Applications/Invoiceflair MCP/Invoiceflair.McpChecking that it runs
Section titled “Checking that it runs”Invoiceflair.Mcp.exe --helpThis prints the list of switches along with the values currently in effect — and therefore also
tells you whether your env block arrived.