---
title: "Pleo MCP server for AI agents - actionlake"
description: "Give Claude 121 Pleo actions through one MCP server: tags, tag groups, vendor import jobs. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/pleo
updated: 2026-10-23
---

Connectors · Accounting & finance

# Pleo MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Pleo and the rest of your systems. It gives your agent 121 Pleo actions (63 reads, 43 writes and 15 that wait for a confirmation) and holds the Pleo credential itself, so the agent never does. It paces Pleo's limits and records every call.

[Connect Pleo free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "pleo.export_items.list",
  intent: "check which Pleo account is connected"
}
# List export items · read · 1 upstream call
```

- 121 actions in one signed file
- 63 read look, never change
- 43 write create and update
- 15 wait for a yes destructive, confirmed first

Set up

## Connect Pleo in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Pleo.
   Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `api_key` Pleo Standalone API Key (Pleo Web App > Settings > API keys; admin or bookkeeper)
   - `environment` Your Pleo environment
   ```
   account { op: "connections.requirements", service: "pleo" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "pleo.export_items.list" }
   # list export items · read · 1 upstream call
   check { action: "pleo.accounts.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Pleo at a glance

**Sign-in**

Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`api_key`

**Setup fields**

`environment`

**Limits we pace to**

600 calls a minute, per connection

**API covered**

Pleo External API (external.pleo.io; per-product OpenAPI 3.0.1 documents), at your region's pleo.io address, set when you connect

**Built from**

Pleo's documentation, read 23 October 2026[developers.pleo.io](https://developers.pleo.io/reference/Oberon%20API.json) [developers.pleo.io](https://developers.pleo.io/reference/App%20Marketplace%20API.json) [developers.pleo.io](https://developers.pleo.io/reference/Chart%20of%20Accounts%20API.json)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

60 of 63 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

6, so ask can line Pleo up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Pleo.

121 actions in 27 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **63** read look, never change
- **43** write create and update
- **15** destructive wait for a confirmation

1. ### Tags
   10
   5 read · 3 write · 2 destructive
   List the tags in a tag group · Create a tag in a tag group · Update a tag · Get a tag
2. ### Tag groups
   8
   5 read · 2 write · 1 destructive
   Create a tag group · List tag groups · List tag groups in aggregated format · Get a tag group
3. ### Vendor import jobs
   8
   4 read · 4 write · 0 destructive
   Create a vendor CSV import job · List a vendor CSV import job's errors · Search vendor CSV import jobs · Get a vendor CSV import job
4. ### Teams
   7
   2 read · 3 write · 2 destructive
   Create a team · Get a team · Delete a team · Update a team
5. ### Webhook subscriptions
   7
   4 read · 2 write · 1 destructive
   Create a webhook subscription · List webhook subscriptions · List a webhook subscription's delivery activities · Get a webhook subscription
6. ### Accounts
   6
   2 read · 3 write · 1 destructive
   Create a ledger account · Get a ledger account · Update a ledger account · Search ledger accounts
7. ### Installations
   6
   1 read · 4 write · 1 destructive
   Create the client installation · Activate the client installation · Complete a client installation · Get the client installation
8. ### Tag dimension values
   6
   3 read · 2 write · 1 destructive
   Create a tag dimension value · List a tag's dimension values · Get a tag dimension value · Update a tag dimension value

**19 more areas · 63 actions**

- Tax codes **6**
- Vendors **6**
- Accounting entries **5**
- Beta accounts **5**
- Bookkeeping categories **5**
- Bookkeeping category groups **5**
- Export jobs **5**
- Export jobs V2 **5**
- Tag group dimensions **5**
- Companies **3**
- Receipts **3**
- Employees **2**
- Export job items **2**
- Auth **1**
- Bookkeeping category aggregations **1**
- Export items **1**
- Export items V2 **1**
- Export job events **1**
- Export job events V2 **1**

Top actions

## The Pleo API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 24 of Pleo's 26 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `pleo.accounts.create` Create a ledger account | Create a ledger account. | write | `finance.ledger_account.create` 32 connectors |
| `pleo.accounting_entries.get` Get an accounting entry | Get an accounting entry. | read | `finance.expense.get` 42 connectors |
| `pleo.tags.list_in_group` List the tags in a tag group | List the tags in a tag group. | read | `finance.tracking_category.list` 15 connectors |
| `pleo.companies.search` Search companies | Search companies. | read | `crm.company.search` 36 connectors |
| `pleo.accounts.get` Get a ledger account | Get a ledger account. | read | `finance.ledger_account.get` 35 connectors |
| `pleo.tags.create` Create a tag in a tag group | Create a tag in a tag group. | write | `finance.tracking_category.create` 12 connectors |
| `pleo.employees.search` Search employees | Search employees. | read | `hr.employee.search` 7 connectors |
| `pleo.accounting_entries.search` Search accounting entries (expenses) | Search accounting entries (expenses). | read | this connector |
| `pleo.employees.get` Get an employee | Get an employee. | read | `hr.employee.get` 58 connectors |
| `pleo.accounts.delete` Delete a ledger account | Delete a ledger account. | destructive | `finance.ledger_account.delete` 21 connectors |
| `pleo.tax_codes.create` Create a tax code | Create a tax code. | write | `finance.tax_rate.create` 25 connectors |
| `pleo.vendors.create` Create a vendor | Create a vendor. | write | `asset.supplier.create` 31 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Pleo actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   List the companies in Pleo and flag likely duplicates by name or domain.
   calls `pleo.companies.search`
2. Write write
   Create a ledger account in Pleo. Show me exactly what you will send before you save it.
   calls `pleo.accounts.create`
3. Across systems read
   Which Pleo companies have invoices in ConnectWise PSA, and how many each?
   calls `pleo.companies.search` `connectwise_manage.invoices.list`

Across your systems

## Pleo, joined to the rest of your business.

One `ask` fetches from Pleo and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

- Which Pleo companies have invoices in ConnectWise PSA, and how many each?
  `pleo.companies.search` + `connectwise_manage.invoices.list`, on `crm.company` · [ConnectWise PSA](https://actionlake.com/connectors/connectwise-psa)
- Which Pleo companies have tickets in HubSpot CRM, and how many each?
  `pleo.companies.search` + `hubspot_crm.tickets.list`, on `crm.company` · [HubSpot CRM](https://actionlake.com/connectors/hubspot-crm)

Also mapped by other connectors `crm.company` **227** `hr.employee` **63** `asset.supplier` **38** `finance.ledger_account` **32** `finance.expense` **26** `finance.tracking_category` **4**

ask

```
ask {
  intent: "which Pleo companies have invoices in ConnectWise PSA, and how many each",
  steps: [
    { action: "pleo.companies.search", as: "co", input: {}, limit: 100, max_pages: 5 },
    { action: "connectwise_manage.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },
    { join: {
        left: "co",
        right: "inv",
        on: "crm.company",
        group_by: "co.name",
        select: ["co.name", "count(inv.id) as invoices"]
    } }
  ]
}
```

Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Pleo

## Destructive actions wait for a yes.

15 Pleo actions are destructive. These are all of them:

- Delete a ledger account `pleo.accounts.delete`
- Delete a tag `pleo.tags.delete`
- Delete a team `pleo.teams.delete`
- Archive a vendor `pleo.vendors.archive`
- Delete tags in bulk `pleo.tags.bulk_delete`
- Delete a tax code `pleo.tax_codes.delete`
- Delete a tag group `pleo.tag_groups.delete`
- Remove a member from a team `pleo.teams.remove_member`
- Delete a ledger account (v1-beta) `pleo.beta_accounts.delete`
- Delete the client installation `pleo.installations.delete`
- Delete a tag dimension value `pleo.tag_dimension_values.delete`
- Delete a tag group dimension `pleo.tag_group_dimensions.delete`
- Delete a webhook subscription `pleo.webhook_subscriptions.delete`
- Delete a bookkeeping category `pleo.bookkeeping_categories.delete`
- Delete a bookkeeping category group `pleo.bookkeeping_category_groups.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do pleo.accounts.delete confirm_policy: **human**

Delete a ledger account?

**intent:** the user asked me to delete a ledger account

run suspended · waiting for a named person · key _pleo-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "pleo-agent",
  allowed_actions: ["pleo.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "pleo.accounts.delete", approver: "lead@example.com" },
    { match: "pleo.tags.delete", approver: "lead@example.com" },
    { match: "pleo.teams.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Pleo only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Pleo costs on actionlake.

Every Pleo action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Pleo refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 121 Pleo actions
- 121 actions page each page of a long list is one call
- 60 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Pleo action.

121 actions by area: the id your agent calls, what it does, and its effect.

**Tags 10**

- `pleo.tags.bulk_archive` Archive or unarchive tags in bulk write
- `pleo.tags.bulk_delete` Delete tags in bulk destructive
- `pleo.tags.create` Create a tag in a tag group write
- `pleo.tags.delete` Delete a tag destructive
- `pleo.tags.get` Get a tag read
- `pleo.tags.list_in_group` List the tags in a tag group read
- `pleo.tags.search` Search tags read
- `pleo.tags.search_aggregated` Search tags in aggregated format read
- `pleo.tags.search_get` Search tags (GET) read
- `pleo.tags.update` Update a tag write

**Tag groups 8**

- `pleo.tag_groups.create` Create a tag group write
- `pleo.tag_groups.delete` Delete a tag group destructive
- `pleo.tag_groups.get` Get a tag group read
- `pleo.tag_groups.get_aggregated` Get a tag group in aggregated format read
- `pleo.tag_groups.get_usage` Get a tag group's usage read
- `pleo.tag_groups.list` List tag groups read
- `pleo.tag_groups.list_aggregated` List tag groups in aggregated format read
- `pleo.tag_groups.update` Update a tag group write

**Vendor import jobs 8**

- `pleo.vendor_import_jobs.create` Create a vendor CSV import job write
- `pleo.vendor_import_jobs.get` Get a vendor CSV import job read
- `pleo.vendor_import_jobs.get_upload_url` Get a presigned upload URL for a vendor CSV import job read
- `pleo.vendor_import_jobs.list_errors` List a vendor CSV import job's errors read
- `pleo.vendor_import_jobs.run` Run a vendor CSV import job write
- `pleo.vendor_import_jobs.search` Search vendor CSV import jobs read
- `pleo.vendor_import_jobs.update_metadata` Update a vendor CSV import job's metadata write
- `pleo.vendor_import_jobs.update_status` Update a vendor CSV import job's status write

**Teams 7**

- `pleo.teams.add_members` Add members to a team write
- `pleo.teams.create` Create a team write
- `pleo.teams.delete` Delete a team destructive
- `pleo.teams.get` Get a team read
- `pleo.teams.remove_member` Remove a member from a team destructive
- `pleo.teams.search` Search teams read
- `pleo.teams.update` Update a team write

**Webhook subscriptions 7**

- `pleo.webhook_subscriptions.create` Create a webhook subscription write
- `pleo.webhook_subscriptions.delete` Delete a webhook subscription destructive
- `pleo.webhook_subscriptions.get` Get a webhook subscription read
- `pleo.webhook_subscriptions.get_secret` Get a webhook subscription's signing secret read
- `pleo.webhook_subscriptions.list` List webhook subscriptions read
- `pleo.webhook_subscriptions.list_activities` List a webhook subscription's delivery activities read
- `pleo.webhook_subscriptions.update` Update a webhook subscription write

**Accounts 6**

- `pleo.accounts.create` Create a ledger account write
- `pleo.accounts.create_batch` Create ledger accounts in a batch write
- `pleo.accounts.delete` Delete a ledger account destructive
- `pleo.accounts.get` Get a ledger account read
- `pleo.accounts.search` Search ledger accounts read
- `pleo.accounts.update` Update a ledger account write

**Installations 6**

- `pleo.installations.activate` Activate the client installation write
- `pleo.installations.complete` Complete a client installation write
- `pleo.installations.create` Create the client installation write
- `pleo.installations.delete` Delete the client installation destructive
- `pleo.installations.get` Get the client installation read
- `pleo.installations.update` Update the client installation write

**Tag dimension values 6**

- `pleo.tag_dimension_values.create` Create a tag dimension value write
- `pleo.tag_dimension_values.delete` Delete a tag dimension value destructive
- `pleo.tag_dimension_values.get` Get a tag dimension value read
- `pleo.tag_dimension_values.list` List a tag's dimension values read
- `pleo.tag_dimension_values.list_for_tags` Get dimension values for several tags read
- `pleo.tag_dimension_values.update` Update a tag dimension value write

**Tax codes 6**

- `pleo.tax_codes.calculate_amounts` Calculate gross, net and tax amounts read
- `pleo.tax_codes.create` Create a tax code write
- `pleo.tax_codes.delete` Delete a tax code destructive
- `pleo.tax_codes.get` Get a tax code read
- `pleo.tax_codes.search` Search tax codes read
- `pleo.tax_codes.update` Update a tax code write

**Vendors 6**

- `pleo.vendors.activate` Activate a vendor write
- `pleo.vendors.archive` Archive a vendor destructive
- `pleo.vendors.create` Create a vendor write
- `pleo.vendors.get` Get a vendor read
- `pleo.vendors.search` Search vendors read
- `pleo.vendors.update` Update a vendor write

**Accounting entries 5**

- `pleo.accounting_entries.enrich` Enrich an accounting entry with external data write
- `pleo.accounting_entries.get` Get an accounting entry read
- `pleo.accounting_entries.get_core` Get an accounting entry's core details read
- `pleo.accounting_entries.search` Search accounting entries (expenses) read
- `pleo.accounting_entries.search_core` Search core accounting entries read

**Beta accounts 5**

- `pleo.beta_accounts.create` Create a ledger account (v1-beta) write
- `pleo.beta_accounts.delete` Delete a ledger account (v1-beta) destructive
- `pleo.beta_accounts.get` Get a ledger account (v1-beta) read
- `pleo.beta_accounts.search` Search ledger accounts (v1-beta) read
- `pleo.beta_accounts.update` Update a ledger account (v1-beta) write

**Bookkeeping categories 5**

- `pleo.bookkeeping_categories.create` Create a bookkeeping category write
- `pleo.bookkeeping_categories.delete` Delete a bookkeeping category destructive
- `pleo.bookkeeping_categories.get` Get a bookkeeping category read
- `pleo.bookkeeping_categories.search` Search bookkeeping categories read
- `pleo.bookkeeping_categories.update` Update a bookkeeping category write

**Bookkeeping category groups 5**

- `pleo.bookkeeping_category_groups.create` Create a bookkeeping category group write
- `pleo.bookkeeping_category_groups.delete` Delete a bookkeeping category group destructive
- `pleo.bookkeeping_category_groups.get` Get a bookkeeping category group read
- `pleo.bookkeeping_category_groups.search` Search bookkeeping category groups read
- `pleo.bookkeeping_category_groups.update` Update a bookkeeping category group write

**Export jobs 5**

- `pleo.export_jobs.create` Create an export job write
- `pleo.export_jobs.get` Get an export job read
- `pleo.export_jobs.list` List export jobs read
- `pleo.export_jobs.list_items` List an export job's items read
- `pleo.export_jobs.update_items` Update an export job's items write

**Export jobs V2 5**

- `pleo.export_jobs_v2.create` Create an export job (v2) write
- `pleo.export_jobs_v2.get` Get an export job (v2) read
- `pleo.export_jobs_v2.list` List export jobs (v2) read
- `pleo.export_jobs_v2.list_items` List an export job's items (v2) read
- `pleo.export_jobs_v2.update_items` Update an export job's items (v2) write

**Tag group dimensions 5**

- `pleo.tag_group_dimensions.create` Create a tag group dimension write
- `pleo.tag_group_dimensions.delete` Delete a tag group dimension destructive
- `pleo.tag_group_dimensions.get` Get a tag group dimension read
- `pleo.tag_group_dimensions.list` List a tag group's dimensions read
- `pleo.tag_group_dimensions.update` Update a tag group dimension write

**Companies 3**

- `pleo.companies.get` Get a company read
- `pleo.companies.get_balance` Get a company's wallet balance read
- `pleo.companies.search` Search companies read

**Receipts 3**

- `pleo.receipts.get` Get a receipt with a time-limited file URL read
- `pleo.receipts.list` List an accounting entry's receipts read
- `pleo.receipts.search` Search accounting entry receipts read

**Employees 2**

- `pleo.employees.get` Get an employee read
- `pleo.employees.search` Search employees read

**Export job items 2**

- `pleo.export_job_items.get_by_accounting_entry` Get the export job item for an accounting entry read
- `pleo.export_job_items.search` Search export job items by accounting entry IDs read

**Auth 1**

- `pleo.auth.introspect` Introspect the current credential read

**Bookkeeping category aggregations 1**

- `pleo.bookkeeping_category_aggregations.get` Get aggregated bookkeeping category groups read

**Export items 1**

- `pleo.export_items.list` List export items read

**Export items V2 1**

- `pleo.export_items_v2.list` List export items (v2) read

**Export job events 1**

- `pleo.export_job_events.create` Create an export job event write

**Export job events V2 1**

- `pleo.export_job_events_v2.create` Create an export job event (v2) write

Questions

## The Pleo MCP server, answered.

**Is there a Pleo MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 121 Pleo actions across tags, tag groups, vendor import jobs and teams, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Pleo.

**What do I need to connect Pleo?**

Pleo Standalone API Key (Pleo Web App > Settings > API keys; admin or bookkeeper). Plus your environment. The free call account { op: "connections.requirements", service: "pleo" } lists exactly what to paste.

**Can an AI agent delete or change things in Pleo?**

Only if its key allows it, and only with an explicit confirmation. 15 Pleo actions are destructive, including delete a ledger account, delete a tag and delete a team. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Pleo API limit?**

actionlake paces every call to the limits in the Pleo service file: 600 calls a minute per connection. Repeated reads are answered from cache (60 Pleo actions can be), which never reaches Pleo.

**What does a Pleo action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (121 Pleo actions page). Cache hits, searches, dry runs and calls Pleo refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Pleo API does it cover?**

The Pleo External API (external.pleo.io; per-product OpenAPI 3.0.1 documents) at your region's pleo.io address, set when you connect. It is built from Pleo's documentation as read on 23 October 2026. 121 actions in 27 areas, each one in the signed service file (version 1.0.0).

**Can I combine Pleo with my other systems?**

Yes. ask joins Pleo to ConnectWise PSA or HubSpot CRM on the same customer and returns the answer rather than every row. Pleo maps crm.company, which 227 other connectors also map.

**Does actionlake keep my Pleo data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Pleo credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Pleo

Shares the most action names with

- [Fortnox 14](https://actionlake.com/connectors/fortnox)
- [Spendesk 10](https://actionlake.com/connectors/spendesk)
- [Visma eAccounting 10](https://actionlake.com/connectors/visma-eaccounting)
- [Coupa 10](https://actionlake.com/connectors/coupa)
- [DoorLoop 8](https://actionlake.com/connectors/doorloop)
- [IRIS Staffology Payroll 6](https://actionlake.com/connectors/iris-staffology-payroll)

Joins with, on shared entities

- [ServiceM8 3](https://actionlake.com/connectors/servicem8)
- [Teamwork 2](https://actionlake.com/connectors/teamwork)
- [TOPdesk 2](https://actionlake.com/connectors/topdesk)
- [Samsara 2](https://actionlake.com/connectors/samsara)
- [Accelo 2](https://actionlake.com/connectors/accelo)
- [Epos Now 2](https://actionlake.com/connectors/epos-now)

Browse

- [All Accounting & finance connectors](https://actionlake.com/connectors/category/accounting-and-finance)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Pleo; the name is the vendor's own. Counts are from the Pleo service file, version 1.0.0.

## Give your agent Pleo today.

[Connect Pleo free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/pleo
More: https://actionlake.com/llms.txt
