mesa-mcp
tercet
El libro de registro para los pagos entre máquinas. Cada compra de un agente se registra tal como ocurre (solicitud → cotización → autorización firmada), se compara con la liquidación en cadena, y cada diferencia recibe un nombre — entregado-pero-no-cobrado, pagado-sin-entrega, replay, huérfano-de-cadena. tercet nunca toca las claves, los saldos ni la vía de pago: observa y produce evidencia.
Un terceto es una estrofa de tres versos que van juntos — aquí, cada compra es una: la solicitud, la autorización, la liquidación. Dante encadenó sus tercetos para que ninguno pudiera sacarse sin romper el poema; este libro de registro encadena sus entradas de la misma manera.
El paquete de Python todavía se llama mesa (nombre de trabajo); pasará a llamarse
tercet con el primer lanzamiento en PyPI. La documentación del proyecto en docs/
está escrita en portugués — es el diario de construcción y los documentos de diseño
por fases; el código, los esquemas y este README están en inglés.
La aplicación — el libro, en vivo, en seis pantallas
uv run mesa-app # -> http://127.0.0.1:840001 blotter (lo que compraron tus agentes, con el estado derivado y la cadena de eventos de cada compra) · 02 tca (desperdicio, dedupe entre agentes, costo por resultado entregado) · 03 risk (presupuesto por árbol de tareas, aprobaciones humanas, el pasaporte del pagador) · 04 lab (prueba de la política de gasto en cualquier momento, con intervalos de confianza honestos) · 05 books (conciliación de tres vías, períodos sellados con dos sellos de tiempo de terceros, estado por entidad, vista fiscal de Brasil) · 06 operations (ejecutar los motores auditados desde la pantalla — demo, recolectores, exportaciones — solo testnet).
La aplicación es solo de lectura por construcción: su sesión de Postgres se
abre con default_transaction_read_only=on — así que no puede escribir en el libro
de registro ni siquiera queriendo; tests/test_app.py lo demuestra. Datos reales
siempre; las filas de testnet y las sintéticas se etiquetan en la propia pantalla.
Pulsa cualquier píldora para ver su leyenda.
Related MCP server: swarm-at
El servidor MCP — el libro en forma de herramientas para agentes
claude mcp add tercet -- uv run mesa-mcp # then ask: "how much did my agents spend?"Siete herramientas READ (lista cerrada, probada por test): status_do_livro,
gasto, compras (filtrable), compra (una compra + su cadena de eventos),
vereditos, passaportes, fiscal. La misma garantía que la aplicación: la
sesión es estructuralmente de lectura — el servidor MCP no tiene vía de escritura;
tests/test_mcp_livro.py lo demuestra. Transporte: stdio, local.
Las exportaciones — contabilidad universal + vista CARF de la OECD
uv run python scripts/fase13/contabil_build.py # -> contabil/<yyyy-mm>/ (universal CSV, QuickBooks, Xero + per-tx audit detail)
uv run python scripts/fase13/carf_build.py # -> fiscal/carf/<year>/ (OECD CARF view, born as OECD11 test data)Un diario de partida doble por período (débitos == créditos, demostrado; los
micro-pagos se agregan de manera honesta, con un puente de auditoría de 6 decimales
que ata cada céntimo a un hash de transacción), la vista CARF — lo que un proveedor
de servicios de activos digitales tendría que comunicar sobre esas transacciones en
el marco de la OECD (guía oficial de julio de 2025) — etiquetado como demo,
identidades ficticias, números reales. Detalles y advertencias:
docs/fase13-export.md.
Desde cero, con solo este README
Requisitos: uv, Docker, Python 3.11+.
# 1. dependencies + database (Postgres 17 on 127.0.0.1:5433 — your machine only)
uv sync
docker run -d --name mesa-pg -e POSTGRES_USER=mesa -e POSTGRES_PASSWORD=mesa `
-e POSTGRES_DB=mesa -p 127.0.0.1:5433:5432 `
-v mesa-pgdata:/var/lib/postgresql/data postgres:17
uv run python scripts/check_db.py # migrations + hash-chain genesis, idempotent
# 2. TEST wallets (written to a local .env; never committed) + faucet USDC
uv run python scripts/setup_wallets.py
# -> paste the buyer address into https://faucet.circle.com (USDC / Base Sepolia)
uv run python scripts/check_balance.py # balance read on-chain
# 3. a toy seller + 10 REAL x402 payments on testnet
uv run uvicorn mesa.http.seller:app --port 8402 # terminal 1
uv run python scripts/fase1/buyer.py 10 # terminal 2 (writes the ledger)
# 4. the chain is the source of truth: collect and reconcile
uv run python -m mesa.collector # matches (authorizer, nonce) with the ledger
uv run python -m mesa.cli # the verdict table, orphans in red
# 5. the product
uv run mesa-app # -> http://127.0.0.1:8400Cuesta cero dinero real: USDC de la faucet y, bajo el esquema exact, el
facilitador paga el gas.
Qué ha pasado, qué ha demostrado, qué next: docs/DIARIO.md (portugués) — el diario de construcción por tarea; los documentos de diseño de cada fase viven en
docs/faseN.md.Secretos (las llaves privadas que genera
setup_wallets.py) van a un.envlocal (en gitignored, nunca se guardan). Para mantenerlos en otro lugar, apuntaMESA_ENV_FILEa ese archivo — y mantenlo fuera de las carpetas sincronizadas (OneDrive/Dropbox): una llave en una carpeta sincronizada es una llave en la nube.
Mapa del repositorio
Path | Qué se puede descubrir aquí |
| Constanteria (USDC, network, chain id) + |
| Acceso al libro — solo descubría por construcción |
| El corazón: conciliación de todas las partes, en función pura |
| Recolector on-chain: |
|
|
| La vía HTTP: vendedor de juguete (con modos de caos) + comprador instrumentado |
| MCP: vía de herramientas de pago (vendedor/comprador) + |
| La aplicación web (FastAPI + Jinja2, renderizado en servidor, sesión de solo lectura) |
| El pasaporte del pagador: historial de liquidación portátil y autodidiado |
| Los cierres de exportación — contabilidad / CARF OECD / Brasil |
| SQL puro, numerado — schema agnóstico (independiente de la vía) |
| Utilidades de entorno + |
| Los filtros de pytest: entrada sucia → clasificación esperada |
| Diario de construcción + documentación de diseño por fase (portugués) |
| Verificadores autónomos — esto revisa el libro y los pasaportes sin decirnos que confíes en este repo |
Entorno
uv sync
docker run -d --name mesa-pg -e POSTGRES_USER=mesa -e POSTGRES_PASSWORD=mesa `
-e POSTGRES_DB=mesa -p 127.0.0.1:5433:5432 `
-v mesa-pgdata:/var/lib/postgresql/data postgres:17
# 127.0.0.1 is mandatory: without it the ledger is open to any machine on the same
# Wi-Fi (docs/seguranca.md, hole #1). scripts/saude.py checks this, always.
uv run python scripts/setup_wallets.py # generates the EOAs -> .env (NEVER committed)
uv run python scripts/check_db.py # Postgres up + migrations + genesis
uv run python scripts/check_balance.py # USDC balance read on-chain
uv run python scripts/saude.py # ONE command: ruff+mypy+pytest+verifier+ports+secret scan
uv run python scripts/backup_db.py # ledger dump -> backups/ (routine, ~5s)Faucet: https://faucet.circle.com → USDC → Base Sepolia (20 USDC / 2h por dirección). Clave de Anthropic
(solo para la demo del agente de riel de facturas): ANTHROPIC_API_KEY=... en el archivo de entorno con
los secretos.
Ejecuta las pruebas de cada fase
# Phase 1 — the ledger closes on dirty data
uv run uvicorn mesa.http.seller:app --port 8402 # terminal 1: HTTP seller
uv run python scripts/fase1/chaos_run.py # terminal 2: chaos + reconciliation + asserts
# Phase 2 — x402 over MCP
uv run python -m mesa.mcp.seller # terminal 1: MCP seller (port 8403)
uv run python scripts/fase2/mcp_once.py # terminal 2: 1 paid tool call + ledger
# Phase 10 — the payer passport (emits, verifies, gates a seller)
uv run python scripts/fase10/gate10_demo.py
# Any time: sweep the chain and reconcile
uv run python -m mesa.collector # testnet (seller payTo)
uv run python -m mesa.collector --pagador # mainnet (payer-side)
uv run python -m mesa.cliCalidad ("done" tiene una definición)
uv run python scripts/saude.py # ONE command: ruff+mypy+pytest+verifier+ports+secret scanPodestá de amenazas y lo que queda fuera de alcance, por su nombre: docs/seguranca.md.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
AlicenseAqualityDmaintenanceEnables agents to search and inspect live service offerings, generate x402 payment snippets, and understand blockchain-only balance policies.4961MIT- AlicenseNot gradedqualityDmaintenanceEnables agent settlement, trust verification, and ledger operations for multi-agent workflows, with tools for blueprint management, credit tracking, and provenance recording.1MIT
- FlicenseAqualityBmaintenanceExposes 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
- AlicenseNot gradedqualityBmaintenanceEnables agents to perform financial operations including categorization, reconciliation, and reporting on a tamper-evident, self-hosted ledger.AGPL 3.0
Related MCP Connectors
Read-only discovery for exact-commit Agent Skill validation, x402 payment, and signed receipts.
Read-only public financial evidence from LiquiLens, Undertow, Seiche and Palimpsest.
Immutable event logging and audit trail for agent transactions
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/BenyFridY/tercet'
If you have feedback or need assistance with the MCP directory API, please join our Discord server