Manager.io MCP
io.github.flumpiey由 GitHub 帳號 flumpiey 發布v0.2.6更新於 Oct 24, 2026
MCP server for Manager.io bookkeeping: read-first with opt-in scoped task and write tools
概覽
讓 AI 助理讀取自架設的 Manager.io 會計資料,並在開啟作用域後寫入記帳內容。
- 可以做什麼
- 把 MCP 主機連接到 Manager.io 的 HTTP API,提供探索、記錄搜尋,以及帳齡應收、銀行餘額、試算表、損益表、資產負債表和稅務彙總等報表讀取工具。選用的作用域任務工具支援意圖明確的寫入,例如開立發票或報價、登記客戶與供應商付款、帳戶間轉帳、日記帳分錄和訂金。另有已棄用的 CRUD 工具集與 raw 逃生通道,高風險路徑由硬性拒絕清單阻擋。
- 適用情境
- 適合把帳務放在自架設 Manager.io 執行個體、想用自然語言查詢發票、餘額和報表的對象。也適合希望助理登記日常交易、但只開啟所需寫入作用域的團隊。
- 執行需求
- 以 stdio 方式在本機執行,是透過 uvx 啟動的 Python 套件,需要 Python 3.10 以上版本以及 uv。需要可連線的 Manager.io API,以 MANAGER_API_URL 和存取權杖 MANAGER_API_KEY 設定,權杖會以 X-API-KEY 標頭送出。選用的 MANAGER_MCP_WRITE_SCOPES 與 MANAGER_MCP_DELETE_SCOPES 控制寫入與刪除。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Manager.io MCP,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
manager-mcp
MCP server for self-hosted Manager.io: ask your AI about invoices, balances, and books.
[License: MIT] [Python] [MCP] [CI] [PyPI]
What is Manager.io?
Manager.io is free, self-hosted accounting software for Windows, macOS, and Linux (also available as Cloud Edition). It covers sales, purchases, banking, payroll, and the full ledger, with an HTTP API (/api2) for automation.
This project wires that API into the Model Context Protocol so Cursor, Claude, VS Code Copilot, and other MCP hosts can query your live books in natural language.
Useful Manager.io links:
What this server does
Default is read-only. You get:
- 10 read tools - discovery, six searchable collections, seven report shortcuts
- Task tools (opt-in) - intent-shaped writes such as
record_customer_payment,issue_sales_invoice,record_customer_deposit(register when matching write scopes are set) - Deprecated CRUD tools - per-resource
create_*/update_*/delete_*still register under scopes until 0.3.0; prefer task tools rawescape hatch - restores the full CRUD set for advanced use- Hard denylist - access tokens, chart of accounts forms, tax/currency, email templates, and similar high-risk paths stay blocked even when writes are on
Transport is stdio. No HTTP server. No global install required if you use uv / uvx.
Branding / icons
- stdio hosts (Cursor, Claude Desktop via
mcp.json): the server advertises Manager branding in MCPserverInfo.icons(embedded PNG data URI, plus a GitHub raw HTTPS fallback). - Cursor plugin:
.cursor-plugin/plugin.jsonusesdocs/manager-icon.svg. - Claude Desktop Extension: pack
mcpb/(includesicon.png). See Installation → Claude Desktop below. - Claude.ai remote connectors: Claude.ai ignores
serverInfo.iconsand uses the root-domain favicon of the connector URL. If you host a remote MCP later, servedocs/favicon.icoat the registrable domain root (e.g.https://acme.com/favicon.icoforhttps://mcp.acme.com/...).
Requirements
- Python ≥ 3.10 (pulled in automatically by
uvx) - uv (provides
uvx) - A reachable Manager.io API:
MANAGER_API_URL+MANAGER_API_KEY
Access token
- In Manager, open Settings → Access Tokens.
- Create a token and copy the value into
MANAGER_API_KEY. - Set
MANAGER_API_URLto your API base (desktop oftenhttp://127.0.0.1:55667/api2).
manager-mcp sends the token as the X-API-KEY header. Full walkthrough: Access Tokens.
Quick start
Run the PyPI package with uvx:
Paste a client config below, set MANAGER_API_URL / MANAGER_API_KEY, restart the host, then ask: “Who owes me money?” or “Show bank balances.”
From a git clone (dev): uvx --from git+https://github.com/flumpiey/manager-mcp manager-mcp or uv run --directory /path/to/manager-mcp manager-mcp.
Installation
Configs below pull manager-mcp from PyPI. Leave write-scope env vars unset for read-only.
Cursor
Plugin (Configure UI for URL, key, and scopes): this repo is a Cursor plugin via .cursor-plugin/plugin.json + root mcp.json.
- Symlink or copy the clone to
~/.cursor/plugins/local/manager-mcp(Windows:%USERPROFILE%\.cursor\plugins\local\manager-mcp). - Reload the window.
- Open Plugins → Configure on
manager-mcp. Set Manager API URL and Manager API key. Leave Write scopes / Delete scopes empty for read-only, or paste a CSV such asquotesorquotes,orders. - Confirm the
managerMCP server is enabled under Customize / MCP.
Marketplace listing is a separate submit at cursor.com/marketplace/publish.
Manual mcp.json: project .cursor/mcp.json or user-wide ~/.cursor/mcp.json.
From PyPI:
Local editable (dev):
Optional scoped writes in the env block:
Restart Cursor after saving. Confirm manager under MCP settings.
Claude Desktop
Desktop Extension (.mcpb): download mcpb.mcpb from GitHub Releases. Use v0.2.6 or later.
- Open Claude Desktop → Settings → Extensions.
- Open Advanced settings → Install Extension…
- Select
mcpb.mcpb. Review permissions, enter Manager API URL and Manager API key, then click Install. - Leave Write scopes and Delete scopes empty for read-only.
- Restart Claude Desktop if tools do not appear.
Build your own bundle from a clone:
On Windows, double-click often does nothing and dragging the file into chat attaches it to the conversation instead of installing it. Use Install Extension… in Settings.
Manual mcp.json config: edit the Claude Desktop config, then restart the app.
Local clone:
Claude Code
Add via CLI:
Or edit ~/.claude.json / project MCP config:
VS Code / GitHub Copilot
Create .vscode/mcp.json in the project root:
Local editable:
Reload the window. Open Copilot Chat and confirm the manager tools are available.
Windsurf
Edit ~/.codeium/windsurf/mcp_config.json (macOS/Linux) or the Windsurf MCP settings UI:
Restart Windsurf after saving.
Zed
Add under context_servers in Zed settings.json (Agent Panel → settings also works):
Cline
Edit the Cline MCP settings file (cline_mcp_settings.json via the Cline MCP UI):
Continue
In .continue/config.yaml:
Generic / any stdio MCP host
Any host that can spawn a stdio MCP server:
Dev from a clone: uv run --directory /path/to/manager-mcp manager-mcp.
npx only runs npm packages. This is a Python package; use uvx.
Environment
Valid scopes: quotes, orders, parties, items, sales, purchases, banking, payroll, ledger, raw. No wildcards (*, all).
Recommended (covers most bookkeeping without 82 tools):
Default with no scopes: 10 tools. All nine domain scopes plus every CRUD verb: up to 82 tools. Use raw only when you need the full CRUD escape hatch.
Legacy MANAGER_MCP_ALLOW_WRITES / ALLOW_WRITES / MANAGER_MCP_WRITES hard-fail if set. Use the scoped vars instead.
See .env.example. Prefer a secret manager for the API key in production configs.
Write scopes and task tools
When a scope is listed in MANAGER_MCP_WRITE_SCOPES, the server registers task tools for that domain plus deprecated CRUD twins. MANAGER_MCP_DELETE_SCOPES enables void_document and delete_* per domain.
Task tools (preferred)
Bodies for composite tools use Manager-native JSON where noted. Clone get_record templates; do not invent field names.
Deprecated CRUD (0.2.0, removed 0.3.0)
Per-resource create_* / update_* / delete_* still register when their domain scope is enabled. Descriptions are prefixed [DEPRECATED in 0.2.0; use task tools] except create_customer / create_supplier. Set raw in MANAGER_MCP_WRITE_SCOPES to register CRUD without deprecation prefixes.
Example with recommended scopes only:
Denylist (always blocked): access-token forms, chart-of-accounts / *-account-form (except bank-or-cash), bank reconciliation, customer portal, starting balances, tax codes, exchange rates, currencies, custom fields/buttons, themes, email templates/settings.
Customer deposit workflow
A deposit is not revenue. Money received before delivery must not be booked to an income account. Confirm tax/VAT treatment with your accountant.
- Ensure a Customer deposits bank/cash account exists in Manager (Settings → Bank and Cash Accounts).
record_customer_deposit- posts cash to that account. If the account is missing, the tool returnsprecondition_failedwith exact setup steps (Option A: guide only, no auto-create).issue_deposit_invoice(optional) - quote styled as a deposit document for the customer.issue_sales_invoicewhen the real invoice is raised.apply_deposit_to_invoice- journal entry moving deposit balance to the invoice (clone an existing journal viaget_record).
Required scopes: banking, quotes (deposit doc), ledger (apply), sales (final invoice via MCP).
Migration from 0.1.x
- 0.2.0: Task tools added; CRUD tools deprecated but still present under scopes.
- 0.3.0: CRUD tools removed (except
create_customer/create_supplier). Use task tools orrawscope. - Update
MANAGER_MCP_WRITE_SCOPESto the recommended narrow set above instead of enabling all domains.
Tools
Read tools
Collections for list_records / get_record: customers, suppliers, sales_invoices, purchase_invoices, chart_of_accounts, bank_accounts.
chart_of_accounts is list/search only (no single-form GET).
Bank dual path (intentional): bank_balances answers “what are my balances?”; list_records / get_record on bank_accounts answers “find account X and show detail.”
Write tools (deprecated)
Registered only for resources in enabled scopes. Prefer task tools above.
Agent Skill
Companion skill: skills/manager-accounting/SKILL.md.
The Cursor plugin discovers this skill from skills/. Without the plugin, copy or symlink that folder into your agent skills path. It tells the model to call list_resources first, verify after writes, and which report tools to prefer.
Development
Offline tests only (respx). No live Manager required:
GitHub Actions matrix: Python 3.10 and 3.12.
Caveats
- One process ↔ one
MANAGER_API_URL. Multi-instance routing is out of scope. - Multi-business disambiguation on a shared host is unverified. Do not claim multi-business support until validated against a live multi-business setup.
- Vendored
src/manager_mcp/spec/api2.jsonis provenance only; runtime always hits the live URL. - ChatGPT Apps need a hosted HTTP MCP endpoint. This package is stdio-only.
License
MIT. See LICENSE.
來源:README.md,提交 c50c4d7
工具
0版本歷史
1- v0.2.6最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分