KosmoKrator

data

TrustMRR Lua API for KosmoKrator Agents

Agent-facing Lua documentation and function reference for the TrustMRR KosmoKrator integration.

Lua Namespace

Agents call this integration through app.integrations.trustmrr.*. Use lua_read_doc("integrations.trustmrr") inside KosmoKrator to discover the same reference at runtime.

Call Lua from the Headless CLI

Use kosmo integrations:lua when a shell script, CI job, cron job, or another coding CLI should run a deterministic TrustMRR workflow without starting an interactive agent session.

Inline Lua call
kosmo integrations:lua --eval 'dump(app.integrations.trustmrr.list_startups({sort = "example_sort", on_sale = true, category = "example_category", x_handle = "example_x_handle", min_revenue = 1, max_revenue = 1, min_mrr = 1, max_mrr = 1}))' --json
Read Lua docs headlessly
kosmo integrations:lua --eval 'print(docs.read("trustmrr"))' --json
kosmo integrations:lua --eval 'print(docs.read("trustmrr.list_startups"))' --json

Workflow file

Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.

workflow.lua
local trustmrr = app.integrations.trustmrr
local result = trustmrr.list_startups({sort = "example_sort", on_sale = true, category = "example_category", x_handle = "example_x_handle", min_revenue = 1, max_revenue = 1, min_mrr = 1, max_mrr = 1})

dump(result)
Run the workflow
kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json
Namespace note. integrations:lua exposes app.integrations.trustmrr, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.trustmrr.default.* or app.integrations.trustmrr.work.* when you configured named credential accounts.

MCP-only Lua

If the script only needs configured MCP servers and does not need TrustMRR, use the narrower mcp:lua command.

MCP Lua command
# Use mcp:lua for MCP-only scripts; use integrations:lua for this integration namespace.
kosmo mcp:lua --eval 'dump(mcp.servers())' --json

Agent-Facing Lua Docs

This is the rendered version of the full Lua documentation exposed to agents when they inspect the integration namespace.

TrustMRR - Lua API Reference

Namespace: app.integrations.trustmrr

The TrustMRR API currently documents two endpoints: list startups and get startup by slug. This integration covers both endpoints. List results are returned as startups, total, page, and has_more; detail results return the startup data object directly. All monetary values are USD cents.

trustmrr_list_startups

Browse and filter startups with verified revenue on TrustMRR. Filter by sale status, category, revenue range, MRR, growth, or asking price. All monetary values are in USD cents (e.g. 100000 = $1,000).

Parameters

NameTypeRequiredDescription
sortstringnoSort order. Options: revenue-desc (default), revenue-asc, price-desc, price-asc, multiple-asc, multiple-desc, growth-desc, growth-asc, listed-desc, listed-asc, best-deal.
on_salebooleannoFilter by sale status. true = only for sale, false = only not for sale. Omit for all.
categorystringnoFilter by category: ai, saas, developer-tools, fintech, marketing, ecommerce, productivity, design-tools, no-code, analytics, crypto-web3, education, health-fitness, social-media, content-creation, sales, customer-support, recruiting, real-estate, travel, legal, security, iot-hardware, green-tech, entertainment, games, community, news-magazines, utilities, marketplace, mobile-apps.
x_handlestringnoFilter by founder’s X (Twitter) handle. Omit the @ symbol.
min_revenuenumbernoMinimum last-30-days revenue in USD cents (e.g. 100000 = $1,000).
max_revenuenumbernoMaximum last-30-days revenue in USD cents.
min_mrrnumbernoMinimum monthly recurring revenue in USD cents.
max_mrrnumbernoMaximum monthly recurring revenue in USD cents.
min_growthnumbernoMinimum 30-day revenue growth as decimal (e.g. 0.1 = 10%).
max_growthnumbernoMaximum 30-day revenue growth as decimal.
min_pricenumbernoMinimum asking price in USD cents (e.g. 1000000 = $10,000).
max_pricenumbernoMaximum asking price in USD cents.
pageintegernoPage number for pagination (default: 1).
limitintegernoResults per page, 1–50 (default: 10).

Example

local result = app.integrations.trustmrr.trustmrr_list_startups({
  category = "saas",
  on_sale = true,
  min_revenue = 50000,
  sort = "revenue-desc",
  limit = 10
})

for _, startup in ipairs(result.startups) do
  print(startup.name .. " - MRR: $" .. (startup.revenue.mrr / 100))
end

trustmrr_get_startup

Get full details for a single startup on TrustMRR by its slug. Returns revenue data, tech stack, cofounders, social metrics, asking price, and more. Use the slug from the list startups tool.

Parameters

NameTypeRequiredDescription
slugstringyesThe startup’s URL-friendly identifier (e.g. "shipfast"). Get this from the list startups tool.

Example

local result = app.integrations.trustmrr.trustmrr_get_startup({
  slug = "shipfast"
})

print(result.name)
print("Revenue: $" .. (result.revenue.last30Days / 100))
print("MRR: $" .. (result.revenue.mrr / 100))

Multi-Account Usage

If you have multiple trustmrr accounts configured, use account-specific namespaces:

-- Default account (always works)
app.integrations.trustmrr.function_name({...})

-- Explicit default (portable across setups)
app.integrations.trustmrr.default.function_name({...})

-- Named accounts
app.integrations.trustmrr.work.function_name({...})
app.integrations.trustmrr.personal.function_name({...})

All functions are identical across accounts — only the credentials differ.

Raw agent markdown
# TrustMRR - Lua API Reference

Namespace: `app.integrations.trustmrr`

The TrustMRR API currently documents two endpoints: list startups and get startup by slug. This integration covers both endpoints. List results are returned as `startups`, `total`, `page`, and `has_more`; detail results return the startup `data` object directly. All monetary values are USD cents.

## trustmrr_list_startups

Browse and filter startups with verified revenue on TrustMRR. Filter by sale status, category, revenue range, MRR, growth, or asking price. All monetary values are in USD cents (e.g. 100000 = $1,000).

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `sort` | string | no | Sort order. Options: `revenue-desc` (default), `revenue-asc`, `price-desc`, `price-asc`, `multiple-asc`, `multiple-desc`, `growth-desc`, `growth-asc`, `listed-desc`, `listed-asc`, `best-deal`. |
| `on_sale` | boolean | no | Filter by sale status. `true` = only for sale, `false` = only not for sale. Omit for all. |
| `category` | string | no | Filter by category: `ai`, `saas`, `developer-tools`, `fintech`, `marketing`, `ecommerce`, `productivity`, `design-tools`, `no-code`, `analytics`, `crypto-web3`, `education`, `health-fitness`, `social-media`, `content-creation`, `sales`, `customer-support`, `recruiting`, `real-estate`, `travel`, `legal`, `security`, `iot-hardware`, `green-tech`, `entertainment`, `games`, `community`, `news-magazines`, `utilities`, `marketplace`, `mobile-apps`. |
| `x_handle` | string | no | Filter by founder's X (Twitter) handle. Omit the `@` symbol. |
| `min_revenue` | number | no | Minimum last-30-days revenue in USD cents (e.g. `100000` = $1,000). |
| `max_revenue` | number | no | Maximum last-30-days revenue in USD cents. |
| `min_mrr` | number | no | Minimum monthly recurring revenue in USD cents. |
| `max_mrr` | number | no | Maximum monthly recurring revenue in USD cents. |
| `min_growth` | number | no | Minimum 30-day revenue growth as decimal (e.g. `0.1` = 10%). |
| `max_growth` | number | no | Maximum 30-day revenue growth as decimal. |
| `min_price` | number | no | Minimum asking price in USD cents (e.g. `1000000` = $10,000). |
| `max_price` | number | no | Maximum asking price in USD cents. |
| `page` | integer | no | Page number for pagination (default: 1). |
| `limit` | integer | no | Results per page, 1–50 (default: 10). |

### Example

```lua
local result = app.integrations.trustmrr.trustmrr_list_startups({
  category = "saas",
  on_sale = true,
  min_revenue = 50000,
  sort = "revenue-desc",
  limit = 10
})

for _, startup in ipairs(result.startups) do
  print(startup.name .. " - MRR: $" .. (startup.revenue.mrr / 100))
end
```

## trustmrr_get_startup

Get full details for a single startup on TrustMRR by its slug. Returns revenue data, tech stack, cofounders, social metrics, asking price, and more. Use the slug from the list startups tool.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `slug` | string | yes | The startup's URL-friendly identifier (e.g. `"shipfast"`). Get this from the list startups tool. |

### Example

```lua
local result = app.integrations.trustmrr.trustmrr_get_startup({
  slug = "shipfast"
})

print(result.name)
print("Revenue: $" .. (result.revenue.last30Days / 100))
print("MRR: $" .. (result.revenue.mrr / 100))
```

---

## Multi-Account Usage

If you have multiple trustmrr accounts configured, use account-specific namespaces:

```lua
-- Default account (always works)
app.integrations.trustmrr.function_name({...})

-- Explicit default (portable across setups)
app.integrations.trustmrr.default.function_name({...})

-- Named accounts
app.integrations.trustmrr.work.function_name({...})
app.integrations.trustmrr.personal.function_name({...})
```

All functions are identical across accounts — only the credentials differ.
Metadata-derived Lua example
local result = app.integrations.trustmrr.list_startups({sort = "example_sort", on_sale = true, category = "example_category", x_handle = "example_x_handle", min_revenue = 1, max_revenue = 1, min_mrr = 1, max_mrr = 1})
print(result)

Functions

list_startups Read

Browse and filter startups with verified revenue on TrustMRR. Filter by sale status, category, revenue range, MRR, growth, or asking price. All monetary values are in USD cents (e.g. 100000 = $1,000).

Lua path
app.integrations.trustmrr.list_startups
Full name
trustmrr.trustmrr_list_startups
ParameterTypeRequiredDescription
sort string no Sort order. Options: revenue-desc (default), revenue-asc, price-desc, price-asc, multiple-asc, multiple-desc, growth-desc, growth-asc, listed-desc, listed-asc, best-deal.
on_sale boolean no Filter by sale status. true = only for sale, false = only not for sale. Omit for all.
category string no Filter by category: ai, saas, developer-tools, fintech, marketing, ecommerce, productivity, design-tools, no-code, analytics, crypto-web3, education, health-fitness, social-media, content-creation, sales, customer-support, recruiting, real-estate, travel, legal, security, iot-hardware, green-tech, entertainment, games, community, news-magazines, utilities, marketplace, mobile-apps.
x_handle string no Filter by founder's X (Twitter) handle. Omit the @ symbol.
min_revenue number no Minimum last-30-days revenue in USD cents (e.g. 100000 = $1,000).
max_revenue number no Maximum last-30-days revenue in USD cents.
min_mrr number no Minimum monthly recurring revenue in USD cents.
max_mrr number no Maximum monthly recurring revenue in USD cents.
min_growth number no Minimum 30-day revenue growth as decimal (e.g. 0.1 = 10%).
max_growth number no Maximum 30-day revenue growth as decimal.
min_price number no Minimum asking price in USD cents (e.g. 1000000 = $10,000).
max_price number no Maximum asking price in USD cents.
page integer no Page number for pagination (default: 1).
limit integer no Results per page, 1-50 (default: 10).
get_startup Read

Get full details for a single startup on TrustMRR by its slug. Returns revenue data, tech stack, cofounders, social metrics, asking price, and more. Use the slug from the list startups tool.

Lua path
app.integrations.trustmrr.get_startup
Full name
trustmrr.trustmrr_get_startup
ParameterTypeRequiredDescription
slug string yes The startup's URL-friendly identifier (e.g. "shipfast"). Get this from the list startups tool.