Skip to main content
Glama
zackscriven

lemma-banking-mcp

by zackscriven

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LEMMA_API_KEYNoPlatform API key from the Lemma team. Required for live API calls. Alternatively, HD_LEMMA_API_KEY can be used.
LEMMA_BASE_URLNoBase URL of the Lemma API.https://api.getlemma.com/v0
HD_LEMMA_API_KEYNoAlternative environment variable for the Lemma API key.
LEMMA_TIMEOUT_MSNoTimeout in milliseconds for API requests.30000
LEMMA_ENABLE_WRITESNoSet to 'true' to enable write tools that move real money. Leave empty or unset for read-only mode.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
lemma_list_entitiesA

List legal entities this platform API key has been granted access to. Entities are the top-level scope -- most other tools take an entity_id or account_id from here. Do not assume a single entity.

lemma_get_entityB

Get one entity by ID (name, legal structure, NPI, address).

lemma_get_entity_lockboxA

Get an entity's lockbox mailing address (where payers send checks/EOBs).

lemma_list_entity_mailA

List lockbox mail received for an entity, including any checks found in each mail item (amounts in cents, *_dollars annotated).

lemma_list_bank_accountsB

List Lemma bank accounts for an entity, with balances (cents; *_dollars annotated).

lemma_get_bank_accountA

Get one bank account (name, account/routing number, balances).

lemma_get_account_settlement_instructionsA

Download a bank account's settlement instructions as a PDF. Pass save_to (absolute path) to write the file; otherwise small PDFs are returned base64-inline.

lemma_list_transactionsA

List transactions for a bank account (paginated; amounts in cents, *_dollars annotated).

lemma_get_transactionA

Get one transaction (amount, counterparty, source category, linked card if any).

lemma_list_external_accountsA

List saved recipients (external bank accounts) for an entity. These are the only allowed destinations for external transfers.

lemma_get_external_accountA

Get one saved recipient by ID (nickname, routing/account number, holder type, status).

lemma_list_check_depositsB

List check deposits, optionally filtered by account (status, holds, MICR payer details).

lemma_get_check_depositA

Get one check deposit by ID.

lemma_list_remittancesB

List an entity's insurance remittances (payer, payment amount, trace number, whether an 835 ERA is available).

lemma_get_remittance_eraA

Fetch a remittance's 835 Electronic Remittance Advice as raw X12. Returns the X12 text inline (or save_to a file for large ERAs).

lemma_get_cardA

Get an issued virtual debit card by ID (nickname, last 4, status, every authorization control and spending limit).

lemma_get_card_iframeA

SENSITIVE: get a short-lived iframe URL that renders the card's full PAN/CVV. The URL expires quickly and exposes real card credentials -- only fetch it when the user explicitly needs to view card details, never log or store it.

lemma_list_inbound_ach_transfersB

List inbound ACH transfers (money pushed/pulled by outside parties), optionally filtered by account.

lemma_get_inbound_ach_transferA

Get one inbound ACH transfer by ID.

lemma_get_ach_transferA

Get one outbound ACH transfer by ID (status: pending/submitted/settled/returned/canceled/rejected).

lemma_get_book_transferA

Get one internal book transfer by ID.

lemma_get_pdfA

Download a file by file ID (e.g. a scanned lockbox mail item). Pass save_to (absolute path) to write it; small files return base64-inline.

lemma_create_external_accountA

WRITE: save a new external bank account (saved recipient) for an entity -- the required first step before any external transfer. Creates a REAL payment destination. Saved recipients are IMMUTABLE once created: there is no update API, and archiving is done by emailing the Lemma team (contact@getlemma.com), not via API -- so double-check routing/account numbers before confirming.

lemma_move_money_externallyA

WRITE -- MOVES REAL MONEY: send an ACH transfer from a Lemma account to a SAVED RECIPIENT (destination must be an external_account_id from lemma_list_external_accounts; arbitrary bank accounts are rejected). Settles in 1-2 business days; transfers over $100,000 are held for manual review by Lemma. Requires explicit user approval before every call.

lemma_move_money_internallyA

WRITE -- MOVES REAL MONEY: instant, free book transfer between two Lemma accounts owned by this platform's granted entities. Requires explicit user approval before every call.

lemma_create_cardA

WRITE -- CREATES A REAL FINANCIAL INSTRUMENT: issue a virtual debit card drawing on a Lemma bank account. At least one spending limit is REQUIRED (Lemma sets no ceiling of its own -- a card without limits could spend the entire account balance in one transaction). Requires explicit user approval before every call.

lemma_delete_cardA

WRITE -- PERMANENTLY cancels a real card so it can no longer be used. Idempotent by nature (DELETE; no idempotency key needed). Requires explicit user approval before every call.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 27 tools

Disambiguation4/5

For the most part every tool targets a distinct resource (entities, bank accounts, cards, ACH, check deposits, remittances), and get/list pairs are clear. However, lemma_get_ach_transfer and lemma_get_inbound_ach_transfer differ only by one word in the tool name, and the generic 'ach_transfer' name hides that it is the outbound variant; list_transactions also overlaps conceptually with the resource-specific list tools.

Naming Consistency4/5

All tools share the lemma_ prefix and mostly follow lemma_<verb>_<noun>, with get/list/create/delete/move verbs. Minor deviations exist: lemma_get_ach_transfer does not mark outbound while its inbound counterpart does, and lemma_get_account_settlement_instructions breaks the concise noun pattern.

Tool Count4/5

27 tools is above the typical 3-15 range, but the server covers a genuinely broad banking domain: entities, accounts, transactions, cards, transfers, check deposits, remittances, lockbox mail, and external recipients. Each tool maps to a distinct endpoint or resource and none are duplicates, so the size feels justified rather than bloated.

Completeness3/5

Core banking operations are covered well: list/get accounts and transactions, create external accounts, move money internally/externally, and create/delete cards. However, there is no way to list cards or update card spending limits, and outbound ACH/book transfers have get-by-ID but no list endpoint, which are notable lifecycle gaps for a banking surface.

Maintenance

ActivityMaintained
ResponsivenessNo issues