binky-control/workplans/BINKY-WP-0005-qonto-mcp-integration.md
tegwick 143eef2f0d
All checks were successful
Work Records / validate (push) Successful in 13s
BINKY-WP-0005 finished: first Qonto pull and CostRunRate v2
Live custody path tenants/binky/qonto-api (API_KEY/API_USER). First read-only
thirdparty pull (122 txs): desk 297.50 €/mo, Qonto plan 70.80 €/mo, main
balance 2185.94 €. Evidence under finance/; workplan status finished.
2026-07-21 21:42:10 +02:00

109 lines
4 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: BINKY-WP-0005
type: workplan
title: "Qonto MCP integration: bank account as agent-readable finance source"
domain: infotech
repo: binky-control
status: finished
owner: codex
topic_slug: the-custodian
created: "2026-07-19"
updated: "2026-07-21"
state_hub_workstream_id: "6139db83-5d4b-4492-a77f-fc9550a0a4f9"
---
Connect the company Qonto account to the agent infrastructure via the
**self-hosted** `qonto/qonto-mcp-server` (API key + organization login), read
scopes first — **payments/transfers are Red lane forever**. Originates from
AWQ-010 (founder direction 2026-07-18). Credential lane via ops-warden/OpenBao
(`tenants/binky/qonto-api`, fields `API_KEY` + `API_USER`); **no claude.ai
native integrations** — harness/MCP / thirdparty API lane only. Main accounting
stays DATEV Unternehmen Online (DUO).
## Task: Qonto MCP capabilities and docs review
Review the Qonto MCP options (hosted `mcp.qonto.com` OAuth connector vs.
self-hosted `qonto/qonto-mcp-server` with API key), tool surface (read vs.
write), authentication shape, transports, and plan/API prerequisites.
Recommend the variant compatible with the corporate access policy
(harness/MCP lane, no native claude.ai connectors). Output lands in
`integrations/qonto-mcp.md`. Green lane (docs only).
```task
id: BINKY-WP-0005-T01
status: done
priority: high
state_hub_task_id: "e066a222-1608-45ce-96a7-cbf191a39a9b"
```
## Task: Credential lane design — ops-warden/OpenBao custody
Design the OpenBao lane for Qonto API credentials, warden catalog entry, and
the founder Red-lane provision procedure — mirroring company-email-imap.
Metadata and design only; no secret values. Green lane.
```task
id: BINKY-WP-0005-T02
status: done
priority: high
state_hub_task_id: "261e4b34-24a2-4324-950d-881d78333b5d"
```
## Task: Consumer design — rhythm sessions and CostRunRate feeds
Specify how rhythm/finance sessions consume the MCP: real balance and
transaction pulls replace manual Qonto statement pulls; resolve the **TBC**
rows in `finance/CostRunRate.md` (desk rent, Qonto plan cost); feed the
OH-2026-003 cost-vs-usage answer. Read-only tool allow-list at harness
level; write tools (cards, invoicing) stay disabled. Green lane.
```task
id: BINKY-WP-0005-T03
status: done
priority: medium
state_hub_task_id: "6c4a475d-9db7-4488-8563-10c82fa78f51"
```
## Task: DecisionQueue entry for Red-lane provisioning
Prepare the founder approval package: DEC entry covering API key creation in
the Qonto dashboard, OpenBao provision, and the read-only boundary. Note the
DUO complement (not replacement) and the OH-2026-003 tie-in. Green lane.
```task
id: BINKY-WP-0005-T04
status: done
priority: medium
state_hub_task_id: "51364e7c-e842-4bcb-a0bb-6f4ceebe264b"
```
## Task: First read-only pull and CostRunRate update
After founder provisioning: promote the warden catalog to active, run the
first read-only balance/transaction pull through the harness lane, update
`finance/CostRunRate.md` TBC rows (desk rent, Qonto plan) with verified
figures, and log evidence metadata. Blue lane.
**2026-07-21 done:** Secret at `tenants/binky/qonto-api` (`API_KEY`+`API_USER`).
CCR-2026-0008 active (policy + OIDC role + agent-high-risk-boundary). Catalog
`binky-qonto-api` active. First pull via thirdparty API v2 (122 txs): main
balance 2185,94 €; HUB31 desk **297,50 €/mo**; Qonto plan **70,80 €/mo**.
Evidence: `finance/qonto-first-pull-2026-07-21.json`. CostRunRate v2.
```task
id: BINKY-WP-0005-T05
status: done
priority: medium
state_hub_task_id: "e4b2119b-6f89-44d8-879d-73bf225307f7"
```
## Closure review
- **Scope complete:** design (T01T03), DEC-2026-004 (T04), live lane + first
pull + CostRunRate (T05).
- **Live path note:** custody is `tenants/binky/qonto-api` with fields
`API_KEY` / `API_USER` (not the earlier design draft `…/qonto/api` +
`QONTO_*` field names). Consumers map to MCP env names at use time.
- **Out of scope / follow-on:** recurring Finance Steward harness session
wiring; Qonto *plan change* (OH-2026-003 data now available, decision Red);
DATEV/StB replacement still separate.