BancaVoz
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@BancaVozRecord a sale: 3 mangoes at 5.50 each, paid in full"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
BancaVoz
BancaVoz is a voice-first bookkeeping MVP for informal market sellers. A seller can record sales, expenses, customer credit, payments, summaries, and reversals through a FastAPI service, the official MCP Streamable HTTP surface, or the browser simulator.
The design is deliberately safety-first: money enters the service as decimal input and is stored as integer minor units; writes are idempotent; ledger rows are append-only; and the deterministic simulator works without AWS credentials.
Quick start
PowerShell
py -3.12 -m venv .venv
.venv\Scripts\python -m pip install -e ".[dev]"
$env:BANCAVOZ_BEARER_TOKEN = "change-me"
uvicorn bancavoz.api:app --reloadBash
python3.12 -m venv .venv
. .venv/bin/activate
pip install -e '.[dev]'
export BANCAVOZ_BEARER_TOKEN='change-me'
uvicorn bancavoz.api:app --reloadOpen http://127.0.0.1:8000/ for the landing page, /app for the merchant
console, /sim for the simulator, or /docs for the OpenAPI documentation.
The frontend uses semantic HTML, a compiled Tailwind utility layer, a small
theme layer, and dependency-free ES-module JavaScript served from
bancavoz/web. Console authentication is token-in-memory only. The console
reads summary, stock, credits, and entries, and sends authenticated commands
through the API.
Related MCP server: postledger
Architecture
flowchart LR
U[Seller voice or text] --> A[Simulator / HTTP / MCP adapter]
A --> S[LedgerService]
S --> M[Decimal to integer minor units]
S --> I[Idempotency and merchant scope]
S --> L[(Append-only ledger)]
L --> D[Verified digest facts]
D --> B[Optional Bedrock narrative]SQLite is supported for local/test use and PostgreSQL is the production backend.
The pinned official MCP SDK is mounted at /mcp and /mcp/. The repository
includes render.yaml for a managed PostgreSQL deployment.
Authentication
GET /healthz is public. Other API routes require:
Authorization: Bearer $BANCAVOZ_BEARER_TOKENThe default development token is dev-token; production refuses to start with
that value. Production startup applies the schema, creates the configured
merchant token hash, and exposes /readyz only after the database is reachable.
Endpoints and tools
Surface | Purpose |
| Liveness check |
| Record a sale ( |
| Record an expense |
| Record credit |
| Record a payment |
| Reverse the latest live entry |
| Return ledger facts and a digest |
| List recent authenticated ledger entries |
| Return authenticated customer credit balances |
| Parse and execute an authenticated text command |
| Show or set stock levels; |
| Rank items by quantity, optionally |
| Official MCP SDK Streamable HTTP tools |
| Browser simulator with microphone fallback |
| Deterministic simulator command endpoint |
See docs/MCP_TOOLS.md, docs/RUNBOOK.md, and docs/GAPS.md for the verified boundary.
Testing
python -m pytest -q
python -m compileall -q bancavozLatest local run: python -m pytest -q → 36 passed.
The tests cover money conversion, idempotency conflicts, merchant scoping, undo,
authentication, health, simulator handling, isolated factories, both MCP paths
with the official client, Tailwind asset wiring, and deployment configuration
contracts. Live PostgreSQL and external HTTPS smoke testing remain unverified.
Docker
docker compose up --buildThe compose file includes a health-checked PostgreSQL service and the image runs
bancavoz-migrate before Uvicorn. Do not put real credentials in .env files
committed to Git; use the hosting provider's secret store.
Production deployment
Render is the supported deployment path:
render blueprint launchSet a strong random BANCAVOZ_BEARER_TOKEN, then verify:
curl -fsS https://<service>.onrender.com/healthz
curl -fsS https://<service>.onrender.com/readyz
curl -fsS -H "Authorization: Bearer $BANCAVOZ_BEARER_TOKEN" \
https://<service>.onrender.com/summaryRecord the actual URL and raw command output in docs/RUNBOOK.md.
Live URL
Live URL: not deployed.
Screenshots
Add verified screenshots of /, /app, /sim, and the MCP tools panel here
after a hosted deployment or a local capture run.
Project status
This is an honest hackathon MVP rather than a claim of verified production or Alexa+ connectivity. See docs/GAPS.md for the requirement-by- requirement status and FRICTION_LOG.md for observed issues.
License
MIT. See LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Headless API-first double-entry accounting & bookkeeping engine. 84 MCP tools over HTTP.
- OrlaOAuthfinance.orla
Personal, family and business books over fiat and crypto. Reads and records; it cannot pay.
Host any HTTP API as MCP tools with a tamper-evident cross-agent settlement ledger.
Agent-native MCP for governed commerce, x402 payments, paid capabilities, and verifiable receipts.
Related MCP Servers
- FlicenseAqualityDmaintenanceProvides double-entry accounting ledger creation, transaction recording, and financial reporting capabilities via MCP.7-
- AlicenseNot gradedqualityBmaintenanceMCP server for double-entry bookkeeping with idempotent writes, immutable entries, and audit trail. Enables trustworthy financial recording and verification through natural language.10 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to operate a self-hosted financial platform over MCP, managing books, expenses, revenues, settlements, payments, accounts, categories, transfers, positions, and cash flow with idempotent and audited writes.MIT
- AlicenseNot gradedqualityCmaintenanceEnables assistants to answer spoken questions about a cash trader's sales, expenses, stock levels, and outstanding debts from an append-only ledger, with deterministic figures for speech.MIT