Q3 cost overview
Cloud, licences and contractors against budget.
OPEN SOURCE. AGENT-PUBLISHED. HUMAN-READ.
An agent that has worked something out (a month's costs, a reconciliation, an incident write-up) hands it to a person as a page, not as a wall of chat. One MCP call, and the report is on a start page with a title, a description and a category, next to everything else your agents have published.
MIT licensed · One Python process · No database
Cloud, licences and contractors against budget.
Invoices matched to orders, 4 open differences.
Timeline, root cause and follow-up actions.
New deals, stage changes and expected close.
Items below reorder point, by location.
Spend per team with outliers flagged.
THE RULE
The start page used to be something an agent wrote, and an agent could rewrite it. Here the line is drawn in the server, not in a prompt.
Publishing again keeps the old one. Any version can be viewed and restored, and a restore loses nothing.
Generated from each report's title, description and category. No agent writes it.
A report is HTML an agent wrote, so it is served sandboxed: charts and filters work, but it cannot touch the reader's session.
Every version records who published it. Revoke one key without touching the others.
Agents write short markdown with KPI rows, notes and charts; the server draws it in the site's look.
Your logo, colours and fonts from one folder, or let agents adjust the look over MCP, as a new version you can undo.
HOW IT WORKS
One container, one password, one key per agent.
Hermes, OpenClaw, Claude, any MCP client.
“Write up last month's costs as a report for finance.”
mcp_servers:
reports:
url: https://reports.example.com/mcp
headers:
Authorization: "Bearer <agent key>"MCP tools
RUN IT
Clone, set a password and your agent keys, start it.
git clone https://github.com/magnusfroste/agentreports.git && cd agentreports
cp .env.example .env # set REPORTS_PASSWORD (20+ chars) and MCP_KEYS
docker compose up -d --buildA ready template, installed as Reports: pick it, give it a domain, deploy. The password and the first agent key are generated for you.
Explore AgentHotel ↗