AI Agent Integration (MCP)
On this page
- How you connect to NP Ledger depends on which AI Assistant you use
- Connect with sign-in (claude.ai, Claude Desktop, Claude Cowork, ChatGPT)
- Connect with a token (Cursor and your own scripts)
- Try recording a donation
- Safeguards
- Stop an AI assistant
- Plan limits
- If something goes wrong
- What your AI assistant can look up
- What your AI assistant can record
How you connect to NP Ledger depends on which AI Assistant you use
There are two ways to connect to NP Ledger's MCP tool. The app you use determines which way you'll connect. This guide has the steps for each.
MCP is short for Model Context Protocol. It is the standard AI assistants use to work with other apps.
| If you use | Connect by |
|---|---|
| claude.ai, Claude Desktop, Claude Cowork or ChatGPT | Signing in |
| Cursor or your own scripts | A token |
Signing in connects through a screen we show you, so there is nothing to copy. A token is for tools where you edit a config file or set a header yourself.
After you connect, you manage everything on the AI Agent Integration page. Choose Settings, then AI Agent Integration. Only an Admin or Owner can open it. The last two sections of this guide list every tool your AI assistant can use.
Connect with sign-in (claude.ai, Claude Desktop, Claude Cowork, ChatGPT)
You sign in to NP Ledger from inside your AI assistant. Your AI assistant calls this a connector. It is how the AI assistant links to another app.
-
Check that you have an NP Ledger account that belongs to an organization. Sign in at npledger.com. If you can open your organization's books, you're ready. If you don't have an account yet, sign up at npledger.com and finish setting up your organization, then come back to this step.
- Any role can connect. Your role sets what your AI assistant can do. Owners, Admins, Accountants and Members can look things up and record transactions. Viewers can only look things up.
- To see or disconnect the connection afterwards, you must be an Admin or Owner. It is under Settings, then AI Agent Integration.
-
Open your AI assistant's connectors.
- claude.ai or Claude Desktop: choose Customize, then Connectors, then + Add.
- Claude Team or Enterprise plan: the Owner of your Claude organization adds the connector first, under Organization settings, then Connectors. You then choose Connect on it.
- ChatGPT: find NP Ledger in the plugin directory and choose Connect. On a ChatGPT Business or Enterprise plan, your ChatGPT admin may need to enable it first. ChatGPT already knows NP Ledger's name and web address, so skip step 3.
-
Type NP Ledger's name and web address. Your AI assistant shows a box for each. In the name box, type NP Ledger. In the web address box, type the address below. Then choose Continue.
https://mcp.npledger.com/v1/If your AI assistant says NP Ledger is already added, open the one in your list and choose Connect. Or remove it and add it again.
-
Leave the sign-in settings as they are. If a second window opens with sign-in settings, including an Advanced area, leave every setting as it is and choose Add. Your AI assistant fills them in. If no second window opens, go on to step 5.
-
Choose Connect when your AI assistant says you are not connected to NP Ledger yet. From here you have about 10 minutes to finish steps 6 and 7.
-
Sign in to NP Ledger when your AI assistant sends you to our sign-in page. Use the email and password you use for NP Ledger.
-
Check the "Connect your AI assistant" screen, then choose Allow access.
- If you belong to one organization, the screen names it.
- If you belong to several, the screen lists them with your role in each. Pick the one your AI assistant should use.
- The screen says whether your AI assistant can only read, or can also record. It gets the permissions of your role, and the screen has no read-only switch. To give an AI assistant read-only access, connect as a user whose role is Viewer, or use a token set to Read-only (see the next section).
-
Test the connection. Ask your AI assistant: "What organization am I connected to?" It answers with your organization's name, fiscal year and plan. If it doesn't, see If something goes wrong, below.
If you see "Let's start that connection again", nothing went wrong. Start again from step 5.
A sign-in connection belongs to one organization and works until you disconnect it. It can't switch organizations. To use a second organization, add a second connector and pick the other organization on the "Connect your AI assistant" screen.
That is everything for signing in. The next section is for Cursor and scripts.
Connect with a token (Cursor and your own scripts)
-
Sign in to NP Ledger as an Admin or Owner. Choose Settings, then AI Agent Integration, or go to npledger.com/settings/integrations/mcp/
-
Name the token. Under Create New Token, enter a Token name, such as "Cursor".
-
Choose an Access scope. Choose Read-only unless you want your AI assistant to record transactions.
- Read-only: view data and run reports.
- Read + Write: also record transactions.
-
Limit what the token can reach (optional). Open Limit this token to specific tools / funds and tick only what the token should reach. Leave everything unticked for full access. A limited token can't call a tool or touch a fund you didn't tick. The last two sections of this guide list the tools.
-
Hold its transactions for approval (optional). To review each transaction before it posts, tick Require admin approval before write actions execute. An Admin or Owner then approves or rejects each one under Pending Approval on the AI Agent Integration page. See Safeguards, below.
-
Choose Generate Token.
-
Copy the token now. We show it once. Store it in a password manager. If you lose it, revoke it and make a new one.
-
Give your AI assistant the address and the token. An app that connects with a token needs two things:
- The web address: https://mcp.npledger.com/v1/ (Streamable HTTP).
- The token, sent in a header named
Authorization, written as the wordBearer, a space, and your token.
A token typed into the web address (
?token=...) is refused, because addresses end up in logs and browser history.Where those two go depends on the app, and the app's own help says where. As an example, Cursor's help shows a settings file shaped like the one below. Save it as
.cursor/mcp.jsonin your project, or~/.cursor/mcp.jsonfor every project. If your project is in git, use~/.cursor/mcp.json, or add.cursor/mcp.jsonto.gitignore, so the token is never committed. We copied this shape from Cursor's help and haven't run it ourselves. If Cursor rejects it, follow Cursor's help and keep the address and header above.{ "mcpServers": { "np-ledger": { "url": "https://mcp.npledger.com/v1/", "headers": { "Authorization": "Bearer YOUR_TOKEN_HERE" } } } } -
Test the connection. Ask your AI assistant: "What organization am I connected to?" It answers with your organization's name, fiscal year and plan. If it doesn't, see If something goes wrong, below.
Try recording a donation
To see the books change, ask your AI assistant: "Record a $500 donation from Jane Smith into the General Fund today. Show me a preview first." The preview shows the exact transaction before anything posts. This needs a connection that can record: a Read + Write token, or a sign-in by a user who can record.
Safeguards
On from the start
- Checks on every transaction. A transaction more than a day in the future is refused. So is one in a locked fiscal year. A date more than two years back comes with a warning to double-check it. Spending from a restricted fund has to go to the project linked to that fund.
- Duplicate protection. A transaction nearly identical to one the same connection posted a moment ago is held until the AI assistant confirms it. A real repeat still goes through.
- Runaway-loop protection. After a burst of transactions, the next one is held until the AI assistant confirms. Normal use never gets there.
- An audit trail. Every transaction an AI assistant records shows in the Audit Log with an MCP badge and the connection's name. A token shows its token name. A sign-in connection shows as "AI connector".
- Corrections. An AI assistant can void a transaction, including one it recorded by mistake. It can't void anything reconciled or in a locked fiscal year.
Settings you control
Admins set these under Write Safeguards on the AI Agent Integration page.
| Setting | Default | What it does |
|---|---|---|
| Hold near-duplicate writes for confirmation | On | Duplicate protection. Duplicate window is 120 seconds, and you can set 10 to 3,600. |
| Hold sudden write bursts for confirmation | On | Runaway-loop protection. Set the number of writes (2 to 1,000) and the seconds (1 to 3,600). The default is 10 writes in 10 seconds. |
| Require admin approval for all agent writes | Off | Holds every transaction until an admin approves it. |
| ...or only above this amount | Blank | Holds transactions at or above a dollar amount. Smaller ones post right away. |
| Hold unusual writes for confirmation | Off | Holds an amount far above your largest prior transaction, or an account or counterparty you haven't used before. Outlier sensitivity defaults to 10 times your largest prior transaction. We learn from your history, so expect a few extra confirmations at first. |
| Email admins a digest of agent writes | Off | A periodic email listing what AI assistants recorded, with a link to review or void each transaction. |
A token also has its own approval box and its own tool and fund limits. You set those when you make the token.
Held transactions
When a safeguard holds a transaction, the AI assistant gets a pending_approval answer with an action_id. It can ask get_pending_action_status whether you approved it.
Admins review held transactions under Pending Approval on the AI Agent Integration page. Each one shows the tool, its details, and who asked: the token's name, or the assistant and the person who signed in. Choose Approve to post it or Reject to drop it. A transaction nobody reviews expires after 30 minutes. A waiting transaction from a sign-in connection can't be approved once that connection is disconnected, or once the person who signed in can no longer record in your organization.
Stop an AI assistant
On the AI Agent Integration page:
- Token: under Active Tokens, choose Revoke.
- Sign-in connection: under AI Assistant Connections, choose Disconnect.
Either one cuts off the AI assistant right away.
Each sign-in connection shows which assistant it is (Claude or ChatGPT, for example), who signed in, whether it can only read or can record too, the date it was first connected, and when it was last used. If the connection was made again after the first time, you also see the date access was last approved.
A user can connect more than one assistant to the same organization, and those share a single row. The row names the first one that signed in, and Disconnect cuts them all off. If the row can't tell which assistant it is, it says so and shows the sign-in's client ID, which is what to quote if you ask us for help.
Plan limits
| Plan | Calls each month | Active tokens |
|---|---|---|
| Starter | 200 | 2 |
| Standard | 2,000 | 5 |
| Professional | 10,000 | 15 |
Each time your AI assistant uses one of our tools counts as one call. Calls are counted for each token, and for each sign-in connection. The count starts over on the first day of each month (UTC). The token limit applies to tokens only. See Billing and plans for what each plan costs.
If something goes wrong
"Unauthorized". On the AI Agent Integration page, look under Active Tokens. If your token isn't listed, it was revoked, so make a new one and replace it in your app. If it is listed, check that the header reads Bearer, a space, then the token, and that the token isn't in the web address. For a sign-in connection, connect again from your AI assistant.
"This tool requires a Standard or higher plan". The tool needs a bigger plan than yours. The Needs column above shows which.
"This action requires accountant access or higher". Your role doesn't allow that tool. An admin can change your role. See Roles and permissions.
"Monthly call limit of 200 reached. Resets 2026-10-31." Your number and date will differ. The connection used its calls for the month. The date shown is the last day of the month, and the count starts over the next day. To raise the limit, change your plan. See Billing and plans.
A tool you expected isn't there. Check the plan, the role, and the token's access scope and tool limits.
"Switching organizations is not available over an OAuth connection". A sign-in connection belongs to one organization. Add another connector for the other one.
Transactions held as duplicate_suspected or burst_suspected. The AI assistant should ask you to confirm. If you meant it, tell it to go ahead.
What your AI assistant can look up
Your AI assistant is only offered the tools it can use. That depends on your plan, on the role of whoever connected it, and, for a token, on its access scope and tool limits. The Needs column shows the lowest plan and role for each tool.
Your organization
| Tool | What it does | Needs |
|---|---|---|
get_organization_summary |
Organization name, fiscal year, plan, and how many funds and accounts you have. | Starter, any role |
list_orgs |
The organizations you belong to. | Professional, any role |
Funds, programs and grants
| Tool | What it does | Needs |
|---|---|---|
list_funds |
Every fund, with its type and balance. | Starter, any role |
get_fund_balance |
The balance of one fund, by name. | Starter, any role |
list_programs |
Your active programs. | Starter, any role |
list_projects |
Your active projects, for all programs or one. | Starter, any role |
list_grants |
Every grant, with budget, spent and remaining. | Starter, any role |
get_grant_status |
Budget, spent and remaining for one grant. | Starter, any role |
list_tags |
Your active tags, grouped by tag group. | Starter, any role |
Accounts and transactions
| Tool | What it does | Needs |
|---|---|---|
list_accounts |
Your accounts, with type and balance. | Starter, any role |
list_bank_accounts |
Your active bank and cash accounts. | Starter, any role |
search_transactions |
Transactions that match a date, fund, contact or amount. Returns up to 50. | Starter, any role |
get_transaction |
One transaction in full, with every line. | Starter, any role |
Supporters, vendors and pledges
| Tool | What it does | Needs |
|---|---|---|
list_supporters |
Supporters, searchable by name or email. Returns up to 100. | Starter, any role |
list_vendors |
Your active vendors. | Starter, any role |
list_pledges |
Pledges, with promised, received and outstanding amounts. Returns up to 200. | Starter, any role |
list_in_kind_categories |
The in-kind categories you can record against. | Starter, any role |
Bills and bank statements
| Tool | What it does | Needs |
|---|---|---|
list_unpaid_bills |
Bills waiting to be paid. | Starter, accountant or higher |
list_bills |
Bills of every status, filterable by status. | Standard, accountant or higher |
list_unmatched_statement_lines |
Bank lines still waiting for a match. | Standard, any role |
Reports and year end
| Tool | What it does | Needs |
|---|---|---|
run_report |
Trial balance, activities, financial position, or fund transactions. | Starter, any role |
list_report_types |
The reports the AI assistant can run, and what each needs. | Starter, any role |
list_fiscal_years |
Your fiscal years, and which are locked. | Starter, any role |
get_close_readiness |
What still stands in the way of closing a fiscal year. | Standard, admin or higher |
get_pending_action_status |
Whether a held transaction has been approved, rejected or has expired. | Starter, any role |
What your AI assistant can record
Recording needs a Read + Write token, or a sign-in by an Owner, Admin, Accountant or Member. Both also need the plan and role in the Needs column.
Each transaction comes back with the lines it posted: account, debit or credit, and fund. It also comes back with the new balances, and a warning if cash is overdrawn or a fund went negative. When a name was close but not exact, the AI assistant is told which record it used, so it can tell you.
Most recording tools can show a preview first. A preview shows the transaction the tool would record and posts nothing. These four cannot: match_bank_statement_line, upsert_supporter, void_transaction and switch_org.
Money in
| Tool | What it does | Needs |
|---|---|---|
record_donation |
A donation you received. | Starter, member or higher |
record_revenue |
Money you earned, such as fees or ticket sales. | Starter, member or higher |
record_in_kind_contribution |
Donated goods or services. No cash moves. | Starter, member or higher |
record_pledge |
A supporter's promise to give. Books the amount you are owed. | Starter, member or higher |
Money out
| Tool | What it does | Needs |
|---|---|---|
record_expense |
A cost you paid on the spot. | Starter, member or higher |
receive_bill |
A vendor bill you will pay later. | Standard, accountant or higher |
pay_bill |
A full or partial payment on a bill. | Standard, accountant or higher |
record_payroll |
A payroll transaction: wages, employer taxes and net pay. | Standard, member or higher |
Moving and matching
| Tool | What it does | Needs |
|---|---|---|
record_transfer |
Money moved between two of your own accounts, such as PayPal to checking. Records no revenue and no expense. Moving money between funds is not available to AI assistants. | Standard, member or higher |
match_bank_statement_line |
Match a bank line to a transaction you already recorded. | Standard, member or higher |
Supporters
| Tool | What it does | Needs |
|---|---|---|
upsert_supporter |
Add a supporter, or fill in missing details on one you have. Never overwrites what is there. | Starter, member or higher |
Fixing a mistake
| Tool | What it does | Needs |
|---|---|---|
void_transaction |
Reverse a posted transaction, including one the AI assistant recorded by mistake. Refuses transactions that are reconciled or in a locked period. | Starter, admin or higher |
Organization
| Tool | What it does | Needs |
|---|---|---|
switch_org |
Change which organization a token works in. Token connections only. | Professional, any role |
Was this page helpful?
Ready to try NP Ledger?
Native fund accounting, Form 990 support, and smarter bookkeeping for nonprofits.