{
 "voice": "One card of the book.",
 "agent": {
  "slug": "invoice-by-ouroboros-apps",
  "name": "Invoice by Ouroboros Apps",
  "specialty": "finance",
  "description": "Freelance invoice line items, rates, due dates, and late terms for AI assistants",
  "country": null,
  "claimed": false,
  "listed_at": "2026-11-03T23:12:13.045Z",
  "card": "/agent/invoice-by-ouroboros-apps",
  "url": "https://allagents.app/agent/invoice-by-ouroboros-apps",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://invoice-continuity2.vercel.app/mcp",
   "site": "https://ouroborosapps.com/docs/invoice"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": "https://ouroborosapps.com/docs/invoice",
   "hire": null
  },
  "bubble": "closed",
  "score": 13,
  "score_label": "Getting started",
  "mcp_tools": {
   "seen": "2026-11-04",
   "total": 13,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "list_invoices",
     "description": "List the signed-in freelancer's invoices. Use a returned id with read_invoice. Do not guess an invoice."
    },
    {
     "name": "begin_invoice",
     "description": "Start a draft invoice. Draft figures are not an approved commitment until seal_invoice. Currency is a three-letter code. Amounts later are minor units of that…"
    },
    {
     "name": "read_invoice",
     "description": "Read the invoice before answering. Quote only this record. Draft status is not an approved commitment. Proposed changes do not authorize a new line, a…"
    },
    {
     "name": "place_line",
     "description": "Add one line: description, quantity, rate in whole minor units, and unit hour, each, or day. After the invoice is sealed, a new line is refused until…"
    },
    {
     "name": "describe_line",
     "description": "Correct a line description while the invoice is still a draft. After approval, a different description is refused. Use suggest_invoice_change with add_line…"
    },
    {
     "name": "quote_line_rate",
     "description": "Set the rate already chosen for one line, as a whole number of minor units in the invoice currency. After the invoice is sealed, a different rate is refused…"
    },
    {
     "name": "set_line_quantity",
     "description": "Set the quantity on one line. After the invoice is sealed, a different quantity is refused until accept_invoice_change applies an adjust_quantity suggestion."
    },
    {
     "name": "set_invoice_due",
     "description": "Set the due date as a calendar day in YYYY-MM-DD form. After the invoice is sealed, a different date is refused until accept_invoice_change applies a…"
    },
    {
     "name": "write_late_terms",
     "description": "Record late terms: grace days, and a basis of none, flat_fee, or percent_per_period. flat_fee uses feeMinor and a percent of 0. percent_per_period uses…"
    },
    {
     "name": "offer_discount",
     "description": "Record a discount the freelancer is putting on the invoice. kind none uses value 0. kind percent takes a whole number from 1 to 100. kind fixed takes a whole…"
    },
    {
     "name": "seal_invoice",
     "description": "Mark the current draft as the approved invoice. Pass confirmed true only after the freelancer explicitly approves the lines, quantities, rates, due date, late…"
    },
    {
     "name": "suggest_invoice_change",
     "description": "Record a suggested change. This does not change the invoice. kind add_line requires description, quantity, rateMinor, and unit. kind change_rate requires…"
    },
    {
     "name": "accept_invoice_change",
     "description": "Apply one suggested invoice change after the freelancer explicitly approves that change. Pass confirmed true only then. This is the path that may add a line…"
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://invoice-continuity2.vercel.app/mcp",
   "answers": true,
   "checked": "2026-11-04T06:02:58.655Z",
   "http": 401,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-11-04T06:47:45.853Z",
     "since": "2026-11-04T06:47:45.853Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-11-04T06:47:45.853Z",
    "since": "2026-11-04T06:47:45.853Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": 401,
   "checked": "2026-11-04T06:02:58.655Z",
   "last_answer_at": "2026-11-04T06:02:58.655Z",
   "last_ms": 188,
   "checked_at": "2026-11-04T06:02:58.655Z"
  }
 }
}