Skip to main content
Glama
temporal-invoice-mcp

temporal-invoice-mcp

by Aslan11

Invoice Demo with Temporal + MCP

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

Related MCP server: agent-invoice

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:

It can get 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:

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

Available Tools

4 tools
approve_invoiceC

Signal approval for the invoice workflow.

Inputs: workflow_id (required), run_id (required). Returns: result

invoice_statusC

Return current status of the workflow.

Inputs: workflow_id (required), run_id (required). Returns: result

process_invoiceC

Start the InvoiceWorkflow with the given invoice JSON.

Inputs: invoice (required). Returns: result

reject_invoiceD

Signal rejection for the invoice workflow.

Inputs: workflow_id (required), run_id (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.9/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: starting the workflow, checking status, approving, or rejecting. No overlap or ambiguity among the four tools.

    Naming Consistency4/5

    Three tools follow a verb_noun pattern (approve_invoice, process_invoice, reject_invoice), while invoice_status is noun_noun. However, all use consistent snake_case and are clear and descriptive.

    Tool Count5/5

    Four tools is perfectly appropriate for a simple invoice approval workflow: start, approve, reject, and check status. The scope is well-scoped without being too sparse or excessive.

    Completeness4/5

    The tools cover the core lifecycle of an invoice workflow (create, approve, reject, status). Minor gaps like update or cancel are not critical for a basic approval process.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables agents to generate, track, and manage invoices via MCP tools, with CLI support for payment tracking and earnings summaries.
      1
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Exposes a ledger system (invoice queue, duplicate control, VAT register, contractor history, decision journal) as MCP tools for AI agents, enabling accurate invoice processing with deterministic validation.
      7
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      Hosted MCP server that enables AI assistants to manage clients, invoices, and expenses via the Invox API, supporting actions like drafting, sending, cancelling, and marking invoices as paid, as well as logging expenses and updating client information.
      -