<a id="39e3160bddf28027a1fbec7a5102e070"></a><a id="39e3160b-ddf2-8027-a1fb-ec7a5102e070"></a>

<a id="39e3160bddf280a989f5dbed3f895b70"></a><a id="39e3160b-ddf2-80a9-89f5-dbed3f895b70"></a>

Connect your AI agent to <strong>Money</strong> to consult and manage your school's financial information through the official PADMA Tools plugin.

<a id="39e3160bddf280f185f1fb47078f935c"></a><a id="39e3160b-ddf2-80f1-85f1-fb47078f935c"></a>

## <a id="antes-de-empezar" data-help-heading="true"></a>Before starting

<a id="77594d06e6774f2081d10ade0f42c46f"></a><a id="77594d06-e677-4f20-81d1-0ade0f42c46f"></a>

You need:

- <a id="61cefe6aad2b4275844f4d6470fa24d3"></a><a id="61cefe6a-ad2b-4275-844f-4d6470fa24d3"></a>A <a href="https://accounts.derose.app/">PADMA</a> user with access to the school.
- <a id="caf6887704b346028abd635b1605cd81"></a><a id="caf68877-04b3-4602-8abd-635b1605cd81"></a>A recent version of Codex or Claude Code with support for remote MCP servers and OAuth.

<a id="26c5f2f4f430430483274ee61dcb78ea"></a><a id="26c5f2f4-f430-4304-8327-4ee61dcb78ea"></a>

## <a id="instalar-el-plugin" data-help-heading="true"></a>Install the plugin

<a id="d50cababad6a4725bb0b33475ae1a45e"></a><a id="d50cabab-ad6a-4725-bb0b-33475ae1a45e"></a>

### Codex

1. <a id="a80ea2fe4a904399a09916bb70656cdf"></a><a id="a80ea2fe-4a90-4399-a099-16bb70656cdf"></a>Add the PADMA Tools marketplace:

<a id="10ff85f69bb244adbae9de5fa2401046"></a><a id="10ff85f6-9bb2-44ad-bae9-de5fa2401046"></a>

```bash
codex plugin marketplace add dwaynemac/padma-tools
```

1. <a id="e31b08ed8d1c47318efe2118dccd83f2"></a><a id="e31b08ed-8d1c-4731-8efe-2118dccd83f2"></a>Open <code>/plugins</code> in Codex CLI or <strong>Plugins</strong> in the Codex app.
1. <a id="98d5ccfa1cb842b8a5d3be545963e9d4"></a><a id="98d5ccfa-1cb8-42b8-a5d3-be545963e9d4"></a>Choose <strong>PADMA Tools</strong> and then install <strong>Money</strong>.
1. <a id="60942180452542139897fab5d05c46e5"></a><a id="60942180-4525-4213-9897-fab5d05c46e5"></a>Start a new task for the agent to load the skill and tools.

<a id="541808c1d37d4d8e9b10aaf6e899c4b0"></a><a id="541808c1-d37d-4d8e-9b10-aaf6e899c4b0"></a>

To update the catalog and installed plugins:

<a id="887605d58e844de796e74df1657bfcbd"></a><a id="887605d5-8e84-4de7-96e7-4df1657bfcbd"></a>

```bash
codex plugin marketplace upgrade padma-tools
```

<a id="7ef5f7ac43c64f57b7989db0fbe66c61"></a><a id="7ef5f7ac-43c6-4f57-b798-9db0fbe66c61"></a>

### Claude Code

<a id="e7a17a6850534ec6b4acf78412f249b4"></a><a id="e7a17a68-5053-4ec6-b4ac-f78412f249b4"></a>

```bash
claude plugin marketplace add dwaynemac/padma-tools
claude plugin install money@padma-tools
```

<a id="f8064b5c2beb40138b6fd2f419274a01"></a><a id="f8064b5c-2beb-4013-8b6f-d2f419274a01"></a>

Start or restart Claude Code to load the skill and tools.

<a id="e0e49e9e0be64e728b8840ae25ccc856"></a><a id="e0e49e9e-0be6-4e72-8b88-40ae25ccc856"></a>

## <a id="autenticar-la-conexión" data-help-heading="true"></a>Authenticate the connection

<a id="3421359b993a4cd79f978f1351a8d1e0"></a><a id="3421359b-993a-4cd7-9f97-8f1351a8d1e0"></a>

Money uses <strong>Dynamic Client Registration (DCR)</strong>. Each installation automatically registers its own OAuth client and opens PADMA Accounts for you to log in and authorize one or more accounts. Money will only show the enabled businesses that you can also use locally.

<a id="b2c16d5729e949c5a9df50e03254a069"></a><a id="b2c16d57-29e9-49c5-a9df-50e03254a069"></a>

### Codex

<a id="946d135a8da54e35a4bf56fe7d112f6f"></a><a id="946d135a-8da5-4e35-a4bf-56fe7d112f6f"></a>

After installing or updating the plugin, start a new task. If Codex does not open the browser automatically, run:

<a id="260f67646cb04cef949a5aeca5808db2"></a><a id="260f6764-6cb0-4cef-949a-5aeca5808db2"></a>

```bash
codex mcp login money --scopes openid,profile,account,money
```

<a id="9eb6ee4632004c3aac1b13574417b04d"></a><a id="9eb6ee46-3200-4c3a-ac1b-13574417b04d"></a>

Complete the login and authorization in PADMA Accounts. Codex receives the result in a local callback and saves the OAuth session in its secure storage.

<a id="aee6a3d547124a6482cc7ac94db2fd91"></a><a id="aee6a3d5-4712-4a64-82cc-7ac94db2fd91"></a>

### Claude Code

1. <a id="45d40205ca4744b0922040ddd0056d1c"></a><a id="45d40205-ca47-44b0-9220-40ddd0056d1c"></a>Open Claude Code and run <code>/mcp</code>.
1. <a id="90e4004d4a2b496fab4e47b7715d4f40"></a><a id="90e4004d-4a2b-496f-ab4e-47b7715d4f40"></a>Select <strong>money</strong> and choose <strong>Authenticate</strong>.
1. <a id="513ce5b01e3b49e887d47a6954616292"></a><a id="513ce5b0-1e3b-49e8-87d4-7a6954616292"></a>Leave empty <strong>Client ID</strong> and <strong>Client Secret</strong>: DCR obtains them automatically.
1. <a id="2e29ec41cf8443298f4d51cb3b856a4b"></a><a id="2e29ec41-cf84-4329-8f4d-51cb3b856a4b"></a>Complete the login and authorization in PADMA Accounts.

<a id="c20fa242934449d4b4058fac33cf7b80"></a><a id="c20fa242-9344-49d4-b405-8fac33cf7b80"></a>

## <a id="verificar-la-conexión" data-help-heading="true"></a>Verify the connection

<a id="a8b2b36706f64b5c83ff365a8989bb13"></a><a id="a8b2b367-06f6-4b5c-83ff-365a8989bb13"></a>

Ask the agent:

<a id="5d12f0c381634c77b0f6c3e27f0de66d"></a><a id="5d12f0c3-8163-4c77-b0f6-c3e27f0de66d"></a>

> List the Money businesses I have authorized.

<a id="552d314cfb744fd085149bc78790650d"></a><a id="552d314c-fb74-4fd0-8514-9bc78790650d"></a>

The agent must execute <code>list\_businesses</code>, which returns only the businesses authorized by OAuth and usable in Money.

- <a id="739badbd618e41aa90e753d84b33f5e6"></a><a id="739badbd-618e-41aa-90e7-53d84b33f5e6"></a>If it returns one, it can select it automatically.
- <a id="17e487c989b1444a8caa60d79819f41e"></a><a id="17e487c9-89b1-444a-8caa-60d79819f41e"></a>If it returns several, the agent should use the business you indicate or ask you which one you want to use; it should not guess.

<a id="2e5f90af68d84c48a3c35fefabfc6363"></a><a id="2e5f90af-68d8-4c48-a3c3-5fefabfc6363"></a>

Then it must execute <code>get\_business\_context</code> for the selected business and report its currency, timezone, capabilities, and limits. In all the following tools it will keep the same <code>business\_id</code> when selection is necessary.

<a id="27a547f583404327beb6d7001381f618"></a><a id="27a547f5-8340-4327-beb6-d7001381f618"></a>

Then test a read-only query:

<a id="f76a098f000c47238c0fd2ca5e43e606"></a><a id="f76a098f-000c-4723-8c0f-d2ca5e43e606"></a>

> List my accounts and their currencies.

<a id="13ca6dedb1604ed7a37afb59c97d2eb0"></a><a id="13ca6ded-b160-4ed7-a37a-fb59c97d2eb0"></a>

Before writing, the agent must show the exact proposed change and ask for confirmation, unless you have already authorized that same operation in the current conversation.

<a id="671ed2c36a8644b78253696a75f85e3e"></a><a id="671ed2c3-6a86-44b7-8253-696a75f85e3e"></a>

## <a id="qué-incluye-el-plugin" data-help-heading="true"></a>What the plugin includes

<a id="55beb037d3424c76b84adaa74d2644df"></a><a id="55beb037-d342-4c76-b84a-daa74d2644df"></a>

The plugin <strong>Money</strong>:

- <a id="3c5a55ade45a41959e50d0694cb668b9"></a><a id="3c5a55ad-e45a-4195-9e50-d0694cb668b9"></a>Configures the remote MCP server <code>https://money.derose.app/mcp</code>.
- <a id="03c6877a3e1c46ca96fcecc91c986327"></a><a id="03c6877a-3e1c-46ca-96fc-ecc91c986327"></a>It authenticates using OAuth and DCR, without credentials shared in prompts, environment variables, or project files.
- <a id="83d8926e248d483b8ac6ecb20f985a43"></a><a id="83d8926e-248d-483b-8ac6-ecb20f985a43"></a>It discovers the authorized businesses through <code>list\_businesses</code> and selects one for each workflow.
- <a id="b0593cf87b904eb48180a1754ab78265"></a><a id="b0593cf8-7b90-4eb4-8180-a1754ab78265"></a>It incorporates the skill <code>padma-money</code>, with the Money financial model, secure workflows, and real tool limitations.
- <a id="21882e399063454f95b9ce62415feb97"></a><a id="21882e39-9063-454f-95b9-ce62415feb97"></a>Queries accounts, categories, contacts, transactions, and reports.
- <a id="44e3e4e9449947a4be3a93be478feaa2"></a><a id="44e3e4e9-4499-47a4-be3a-93be478feaa2"></a>Analyzes expenses, income, periods, subtotals, and possible anomalies.
- <a id="df4c406837c9498393340a3504948347"></a><a id="df4c4068-37c9-4983-9334-0a3504948347"></a>Creates and updates transactions, accounts, categories, recurring transactions, plans, and automation rules.
- <a id="5692942c7f8744ff89f04b35b6100937"></a><a id="5692942c-7f87-44ff-89f0-4b35b6100937"></a>Applies confirmation, idempotency, concurrency control, and verification after each write.

<a id="2d2e337e6a6f429e81f59e257fc91f13"></a><a id="2d2e337e-6a6f-429e-81f5-9e257fc91f13"></a>

OAuth defines the list of allowed businesses. <code>business\_id</code> It functions only as a selector within that list: It does not grant access on its own. A nonexistent or unauthorized ID is rejected without revealing if it belongs to another tenant.

<a id="b3068bce22bb475299831ec56c28ab6e"></a><a id="b3068bce-22bb-4752-9983-1ec56c28ab6e"></a>

## <a id="ejemplos" data-help-heading="true"></a>Examples

- <a id="77c8bf68dbbc4f8cbcd40d7958c8c7d2"></a><a id="77c8bf68-dbbc-4f8c-bcd4-0d7958c8c7d2"></a>"How much did we spend last month, separated by category?"
- <a id="f8f7eccbfc8248e2aa3986fc8da821a8"></a><a id="f8f7eccb-fc82-48e2-aa39-86fc8da821a8"></a>"Search for uncategorized transactions and suggest how to classify them".”
- <a id="9440b1c4fd9947158bf237a1bf13af24"></a><a id="9440b1c4-fd99-4715-8bf2-37a1bf13af24"></a>"Record this expense after showing me exactly what you will create".”
- <a id="45cd612b50804006b1012d2b89bc2654"></a><a id="45cd612b-5080-4006-b101-2d2b89bc2654"></a>"Compare this month with the previous one and explain the relevant variations".”
- <a id="0fd8e84b5c984c1eb97d7dbaf8fa56b5"></a><a id="0fd8e84b-5c98-4c1e-b97d-7dbaf8fa56b5"></a>"Review this account against the statement and list the differences without modifying anything".”

<a id="444441df940245d697f78580255fdf80"></a><a id="444441df-9402-45d6-97f7-8580255fdf80"></a>

## <a id="seguridad" data-help-heading="true"></a>Security

- <a id="42dc786291664ac2a4101feaad300785"></a><a id="42dc7862-9166-4ac2-a410-1feaad300785"></a>Do not paste authorization codes, access tokens, or refresh tokens into prompts, shared documents, repositories, URLs, or logs.
- <a id="2eb0f9510dc945b5acf9f946dce8530a"></a><a id="2eb0f951-0dc9-45b5-acf9-f946dce8530a"></a>Do not share dynamically registered Client IDs between users or teams.
- <a id="eb994dfbf9a449d581771511fa6c6c9d"></a><a id="eb994dfb-f9a4-49d5-8177-1511fa6c6c9d"></a>If the business you need does not appear in <code>list\_businesses</code>, disconnect <strong>money</strong> and reauthorize including the corresponding account.
- <a id="520922d3c4b4479bb355d463f8949e42"></a><a id="520922d3-c4b4-479b-b355-d463f8949e42"></a>Write access does not broaden the request: The agent must modify only the authorized fields and records.
- <a id="83e6d34587f947b095700303395691ae"></a><a id="83e6d345-87f9-47b0-9570-0303395691ae"></a>If you suspect a session was exposed, close it from the MCP client and reauthenticate.

<a id="ffbf95a664df4a918e7abd7f7b533e5b"></a><a id="ffbf95a6-64df-4a91-8e7a-bd7f7b533e5b"></a>

## <a id="solución-de-problemas" data-help-heading="true"></a>Troubleshooting

- <a id="ce3bc7366596492d83b19292509bc301"></a><a id="ce3bc736-6596-492d-83b1-9292509bc301"></a><strong>The plugin does not appear:</strong> update the marketplace with <code>codex plugin marketplace upgrade padma-tools</code> and reopen the catalog.
- <a id="4ef4dc1e67544b7f8b7c5ecf9efbd522"></a><a id="4ef4dc1e-6754-4b7f-8b7c-5ecf9efbd522"></a><strong>The server appears without tools:</strong> update or reinstall the plugin, restart the agent and authenticate <strong>money</strong>.
- <a id="f3a3e678cf56405d9b8040881d4be834"></a><a id="f3a3e678-cf56-405d-9b80-40881d4be834"></a><strong>“The requested redirect URI is malformed or doesn&#39;t match…”:</strong> there is a static or previous OAuth configuration. Delete the connection and add it again so that DCR registers the exact callback. Do not add a callback with <code>\*</code>.
- <a id="3bbcbd343a7040fdbda9ec6b34b87236"></a><a id="3bbcbd34-3a70-40fd-bda9-ec6b34b87236"></a><strong>Error 401:</strong> the OAuth session is missing, expired or revoked. Run login again or <strong>Authenticate</strong>.
- <a id="885d94b9fe23490ea4ba53c43bb79666"></a><a id="885d94b9-fe23-490e-a4ba-53c43bb79666"></a><strong>Error 403:</strong> the authenticated user does not have sufficient access, the authorization does not include the required scopes or the <code>business\_id</code> does not belong to the authorized list. Do not try other IDs randomly.
- <a id="01faf3dbc33c4c42bc4dd5dd4d6c839e"></a><a id="01faf3db-c33c-4c42-bc4d-d5dd4d6c839e"></a><strong>Error business\_required:</strong> there are several authorized businesses and the tool needs you to select one. Run <code>list\_businesses</code> and repeat the operation with one of the returned IDs.
- <a id="dd4cf58288c3401788875931fd268e78"></a><a id="dd4cf582-88c3-4017-8887-5931fd268e78"></a><strong>Error 429 during registration:</strong> more than 10 registrations were exceeded from the same IP in 60 seconds. Wait the time indicated in <code>Retry-After</code> and try again.
- <a id="db007f73a2d14344a27518b920cf212e"></a><a id="db007f73-a2d1-4344-a275-18b920cf212e"></a><strong>The expected business is missing:</strong> Disconnect the session and reauthorize including the corresponding account in PADMA Accounts.
- <a id="6abe4fea2f224521b1c86d3556d4ed15"></a><a id="6abe4fea-2f22-4521-b1c8-6d3556d4ed15"></a><strong>The agent asks for confirmation to write:</strong> this is the expected behavior and helps avoid accidental changes.

<a id="48638c7e68064be298933e761277a71f"></a><a id="48638c7e-6806-4be2-9893-3e761277a71f"></a>

## <a id="más-información" data-help-heading="true"></a>More information

- <a id="bf2150d675bc430d97ee3e14234876ce"></a><a id="bf2150d6-75bc-430d-97ee-3e14234876ce"></a><a href="https://github.com/dwaynemac/padma-tools">PADMA Tools Repository</a>
- <a id="15d651fe068c403e83c53464edbc3383"></a><a id="15d651fe-068c-403e-83c5-3464edbc3383"></a><a href="https://money.derose.app/">PADMA Money</a>
- <a id="f0e2b6d57dcf4668b186cac46b88298d"></a><a id="f0e2b6d5-7dcf-4668-b186-cac46b88298d"></a><a href="https://accounts.derose.app/">PADMA Accounts</a>
