Skip to content

Proposal: optional, off-by-default governed AI (MCP) access #215

Description

@sandeepshekhar26

Hi @madisvain — Upcount's local-first / "your data belongs to you" stance is exactly why I think it's
a great fit for a governed AI integration, and your CONTRIBUTING asks to check first, so here goes.

Because Upcount is local-first with no API, there's no safe way today for a user's AI assistant to
do things in it. I'd like to contribute an optional, off-by-default integration that exposes
Upcount's existing actions to an assistant (e.g. Claude Desktop) as a governed MCP server: reads
(clients/invoices/reports) flow freely, routine writes are audited, and money/destructive actions
(create/issue an invoice, deletes) pause for one-click human approval — every action signed into an
audit log.

It adds no dependency and no change to the app: a second kriya_exec binary reuses the same async
Database methods your Tauri commands already call, so an agent call runs identical code to a human
one. Governance lives in a separate open-source process. Shape: a kriya-mcp/ folder + a one-line
[[bin]] in src-tauri/Cargo.toml, inert unless a user wires it in. I have already opened a PR to make things easier. let me know your thoughts on same.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions