77 schema-validated MCP tools that give Claude, GPT, Gemini, n8n, and custom agents structured, role-gated access to your accounting data. Agents can query portfolios, extract lease terms, run the engine, and draft disclosures — but cannot approve journal entries without human sign-off. This is enforced at the API layer, not by convention.
The key rule: AI agents can propose actions via MCP tools, but journal entry approval (journal_approve) requires ADMIN or OWNER role — a human in the loop. This is enforced at the API layer. An agent with a PREPARER token will receive a 403 error if it attempts to approve, regardless of what instructions its prompt contains.
Revenue Recognition — Advanced is live. The tools below are new or materially extended — agents already authenticated to the MCP endpoint can call them immediately (subject to role / scope).
Confirming a revenue contract auto-runs INITIAL_RECOGNITION per configured standard. Use revenue_contract_recalculate to replay the engine after policy or input changes. revenue_engine_monthly_close runs the batch close idempotently per (entity, standard, period).
Summary rollup, single + batch approve, void, reversal, and external posting-reference stamp for revenue journals. Combine with revenue_journal_search + revenue_journal_detail for end-to-end journal workflows.
revenue_disclosures_pack returns a single structured payload covering all 7 revenue disclosure sections; COMBINED scope merges IFRS 15 + ASC 606 side-by-side. Auditor narrative overrides are available on both revenue and lease disclosure packs, with independent APPROVER+ gating.
First-class period-lock state for lease: reads return a synthetic OPEN record when no lock exists; upsert requires APPROVER and confirm=true. The lease engine enforces the lock at entry — locked adjustments return 409 LEASE_PERIOD_LOCKED unless the caller opts into allow_locked_period_adjustment + confirm_locked_period_adjustment.
Read-only business-rule checker that flags missing payment streams, IBR / FX rate gaps (when context rows are supplied), short-term exemption hints, unusual discount rates, and missing restoration costs. Use before lease_confirm to gate on zero errors; warnings are advisory.
Patch core contract fields post-confirm. Contract extraction accepts uploaded PDF / DOCX / XLSX files directly, mirroring lease_extract_file.
Add the Ledger Layer MCP server to your Claude Desktop configuration file (claude_desktop_config.json). Provide your Bearer token. Claude will immediately have access to all tools — scoped to your role. No additional setup, no SDK, no code.
In Claude Desktop: Settings → Developer → Edit Config. Add the Ledger Layer MCP server URL and your Bearer token. Restart Claude. You can now ask Claude to "show me a summary of my lease portfolio" or "extract the lease terms from this Excel file" and it will use the appropriate Ledger Layer tools automatically.
Add the Ledger Layer MCP server to your Claude Code settings (project or global). The tools appear in Claude Code's tool list immediately. Use them to query your portfolio, review journal entries, or trigger engine runs — all from your terminal.
In your project's .claude/settings.json or ~/.claude/settings.json, add the Ledger Layer MCP server configuration. Claude Code discovers the tools automatically and makes them available in your coding session.
Every tool call is validated against a JSON Schema before the request reaches the engine. Invalid inputs are rejected at the MCP layer with a structured error message that describes exactly which field failed validation and why. The engine never receives malformed data.
Tool schemas are embedded in the MCP server manifest and returned during the tools/list handshake. AI agents use these schemas to construct valid requests. If a required field is missing, a type is wrong, or a value is out of range, the error response includes the field name, expected type, and constraint that was violated.
Agents authenticate with the same Bearer token format as human users. The role carried by the token gates every tool call. An agent with a PREPARER token can extract leases, run the engine, and query journals — but cannot approve. An agent with a VIEWER token can query but cannot modify anything. This is enforced server-side.
Role hierarchy: OWNER > ADMIN > PREPARER > VIEWER. Each tool in the catalog has a minimum required role. The MCP server returns a 403 error with a clear message when a tool call exceeds the token's role. This prevents prompt injection from escalating agent privileges — no matter what an AI agent is instructed to do, the API enforces the role boundary.
Ledger Layer MCP tools are designed for multi-agent workflows. One agent can extract lease data, another can review the extraction, and a human can approve the final journal entries. Each agent operates within its role boundary. The audit trail captures which agent (by token identity) performed each action.
For complex workflows, use n8n, LangChain, or your own orchestration layer to chain Ledger Layer MCP calls. The engine is stateless per request — agents don't need to maintain session state. Idempotency keys prevent duplicate operations when agents retry failed calls.
Combine MCP tools with webhooks for event-driven agent workflows. An agent can subscribe to engine events (journal.created, close.completed) and trigger follow-up actions — like generating a portfolio summary after monthly close completes, or alerting a Slack channel when a lease modification is detected.
Webhooks deliver events to any HTTP endpoint. The payload includes the full resource representation and metadata (event_id, event_type, timestamp, actor). Agents can process webhook payloads and use MCP tools to respond — creating a closed-loop automation pattern with human approval gates at critical points.
Ask Claude "what's my total lease liability by entity?" and it queries portfolio_summary, formats the answer, and explains the breakdown — from engine-verified data.
Upload a lease contract PDF. The agent calls lease_extract_file, reviews the extracted terms, and presents them for your confirmation before anything hits the engine.
Ask the agent to draft a disclosure summary from disclosures_get output. It reads engine-verified numbers and produces human-readable disclosure language — without computing anything.
An n8n workflow calls portfolio_analytics daily, checks for leases expiring within 90 days, and sends a Slack notification to the lease manager with renewal options.
Before monthly close, an agent runs portfolio_search for all active leases, verifies IBR rates are current, and generates a pre-close readiness report for the controller.
An agent queries journal_search and audit_list to compile a complete audit package — every journal entry with its source lease, approval actor, and modification history.
MCP server credentials, tool manifest, and quickstart guides available in the dashboard after signup. Works with Claude, GPT, Gemini, n8n, and any MCP-compatible agent.