Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Temporal Invoice

FreeNot checked

Enables managing invoice workflows using Temporal, allowing submission, approval, rejection, and status checking of invoices through MCP tools.

GitHubEmbed

About

Enables managing invoice workflows using Temporal, allowing submission, approval, rejection, and status checking of invoices through MCP tools.

README

Video:

Watch the demo

Prerequisites:

1. Clone & install

 git clone https://github.com/your-org/temporal-mcp-invoice-demo.git
 cd temporal-mcp-invoice-demo
 uv venv
 source .venv/bin/activate
 uv pip install temporalio fastmcp

2. Launch Temporal locally

 temporal server start-dev

3. Start the worker

 python worker.py [--fail-validate] [--fail-payment]

Quick demo boot

Instead of starting the server and worker manually you can launch them in a tmux session using the boot-demo.sh helper script:

 ./boot-demo.sh

Claude for Desktop Instructions (Sonnet 4)

1. Follow steps 1-3 above

2. Edit your Claude Config (Claude > Settings > Developer > Edit Config)

{
  "mcpServers": {
    "invoice_processor": {
      "command": "/Path/To/Your/Install/Of/uv",
      "args": [
        "--directory",
        "/Path/To/temporal-invoice-mcp",
        "run",
        "server.py"
      ]
    }
  }
}

3. Restart Claude for Desktop after editing your config

  • If successful you'll see invoice_processor under 'Search & Tools'

4. To kick off processing the mock invoice, run:

trigger <paste: samples/invoice_acme.json>

Use your MCP client (e.g., Claude Desktop) to call the trigger, approve, reject, and status tools. The trigger tool now returns both the workflow_id and run_id of the started workflow. Pass these values to the approve, reject, and status tools. The sample invoice lives at samples/invoice_acme.json. Inspect Temporal Web at http://localhost:8233. Kill and restart the worker at any time to observe deterministic replay.

5. Results

Claude submits the invoice workflow:

Claude MCP Invoice Submission

It can get status:

Claude MCP Status

Claude + MCP can send inputs and updates to the process workflow such as approvals, or even do a combination of actions - all agentically, explaining in human analogies what's going on if you ask it to:

Claude MCP Combo

What's Cool About This:

  1. Agents and applications connected by MCP can provide a powerful way for humans to interact with processes and applications
    • (as long as the applications have an API to interact with)
  2. MCP tools don't have to be just one API call - you can get process status and even send it more information as it proceeds
  3. Temporal makes modeling a long-running, durable, interactive transaction simple to integrate with MCP
Interactive Agentic Applications Powered By Workflows

from github.com/Aslan11/temporal-invoice-mcp

Installing Temporal Invoice

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/Aslan11/temporal-invoice-mcp

FAQ

Is Temporal Invoice MCP free?

Yes, Temporal Invoice MCP is free — one-click install via Unyly at no cost.

Does Temporal Invoice need an API key?

No, Temporal Invoice runs without API keys or environment variables.

Is Temporal Invoice hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Temporal Invoice in Claude Desktop, Claude Code or Cursor?

Open Temporal Invoice on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Temporal Invoice with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All finance MCPs