Backroom

io.github.pardhuparimi由 GitHub 帳號 pardhuparimi 發布v0.1.1更新於 Nov 3, 2026

Invoice extraction for agents: submit a PDF, get verified structured data — never a guess.

已驗證STDIO僅桌面金融資料與分析

概覽

AI 產生的概覽

Backroom 從發票 PDF 擷取經過核驗的結構化資料:助理可提交 PDF、輪詢工作並一次性取得擷取結果。

可以做什麼
  • 從本機路徑提交發票 PDF 進行擷取,可選擇立即返回或等待工作完成
  • 查詢擷取工作的狀態與最終結果,包括掃描檔無法辨識等原因
  • 取得工作的擷取提案,無法核驗的欄位標示為 unclear 而非猜測
  • 查詢當月用量額度與剩餘文件數
  • 不需金鑰即可檢查 API 健康狀態與模型供應商可用性
適用情境
適合需要把發票 PDF 轉成結構化資料用於記帳、報帳或應付帳款流程,並希望無法核驗的欄位被標示而不是被編造的情況。也可在批次處理前查看當月剩餘文件額度。
執行需求
以 Python 套件形式透過 uvx 在本機以 stdio 執行。需在 BACKROOM_API_KEY 提供 Backroom API 金鑰,可向服務取得免費測試金鑰。需要連線至 Backroom API 的網路,可用 BACKROOM_API_BASE 覆寫基礎位址。僅支援桌面端。
安裝前請注意
API 金鑰屬機密,會傳送給第三方服務,用量受每月文件上限限制。提交的 PDF 會上傳至 Backroom,發票內容會離開本機。get_proposal 只能取得一次:首次成功取得後結果即被清除,再次取得會回傳 404,因此必須保存回傳的資料。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Backroom,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

該儲存庫沒有 README。

工具

6

submit_invoice

Submit an invoice PDF for extraction. Reads the local file at pdf_path and uploads it to Backroom. Returns the intake receipt: job_id (null when the submission was deduplicated against an earlier identical document), invoice_id, the deduped flag, and the caller's updated usage meter. Poll the job with get_job, then read the result with get_proposal.

輸入參數pdf_path必填

submit_invoice_and_wait

Submit an invoice PDF and wait for the job to finish. Submits the PDF, then polls the job with backoff until it reaches a terminal state (done or failed) or timeout_seconds elapse. Returns {"status", "intake", "job"}: on "completed", job carries the terminal payload — its outcome ("proposal", "needs_human", "failed", "duplicate"), its reason_code when the job ended without a proposal, and proposal_id when one was issued. This tool deliberately does NOT fetch the proposal itself: proposal fetches are exactly-once, so the fetch is left as an explicit get_proposal call whose result the caller keeps. On "timed_out", job holds the last seen state; keep polling with get_job.

輸入參數pdf_path必填timeout_secondspoll_interval_seconds

get_job

Get an extraction job's state and terminal payload. While running, returns the job's state. When done, includes the outcome ("proposal", "needs_human", "failed", "duplicate"), the reason_code when the job ended without a proposal (for example NO_EXTRACTABLE_TEXT for a scan with no readable text), and the proposal_id when a proposal was issued.

輸入參數job_id必填

get_proposal

Fetch an extraction proposal by id. FETCH EXACTLY ONCE. WARNING: the API purges the result on the first successful fetch (zero retention) — a second fetch of the same id returns 404. Keep everything this call returns; you cannot fetch it again. The proposal is returned exactly as the API serves it: every field is an object {value, status, confidence, provenance, reason} where status is "verified", "extracted", or "unclear". An unclear field has a null value — it was not guessed.

輸入參數proposal_id必填

get_usage

Get the caller's usage meter for the current calendar month. Returns documents_used, the monthly cap, remaining documents, and the period covered, for the API key in BACKROOM_API_KEY.

無需輸入參數。

check_health

Check the Backroom API's health (no API key required). Returns the service status object, including model-provider availability, exactly as the API reports it.

無需輸入參數。

版本歷史

1
  1. v0.1.1最新Oct 29, 2026

評分

已滿足適用檢查項的 65%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分

    請宣告包含 README 的 GitHub 儲存庫,或在 OAuth 受保護資源後設資料中提供 resource_documentation。

  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。