cledara-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@cledara-mcpshow me our SaaS spend by app for the last 30 days"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
cledara-mcp
A read-only MCP server for Cledara, the SaaS and spend management platform. It lets Claude (or any MCP client) look up your applications, transactions, invoices, spend, renewals and people.
It wraps the Cledara public API (v0). That API is read-only, and so is this server: no tool can change anything in Cledara.
Read-only by design
This server cannot change anything in Cledara:
Requests: it only ever makes HTTP
GETrequests, and only to/v0/applications,/v0/transactionsand/v0/transactions/{id}/invoice-url. A test fails the build if any tool sends another kind of request or calls another path.Tools: every tool is marked
readOnlyHint: trueanddestructiveHint: false, so MCP clients know none of them have side effects.Local files: it writes nothing to disk. The only cache is an in-memory copy of the application list.
The Cledara API (v0): it has no write endpoints at all.
A Cledara API key carries all the permissions of the user who created it, and Cledara has no read-only key type. If Cledara adds write endpoints later, this server still won't call them, but the key itself could. Treat the key like a password.
Related MCP server: jisr-mcp
Tools
Tool | What it does |
| Apps with status, owner, teams, budget, balance, next renewal and next payment. Filter by status, name, owner or team. |
| Raw transactions for a date range (default: last 30 days), optionally for specific apps or transaction types. Paginated. |
| Download link for a transaction's invoice (valid for 5 minutes). |
| Spend over a date range grouped by application, team, owner, card, month or account type, totalled per currency. |
| Apps renewing or due a payment in the next N days (default 30) with the expected amount. Cledara often leaves the renewal date empty, so the expected next payment date is used instead ( |
| Card payments with no invoice uploaded, for month-end close. |
| People and teams, inferred from app owners and cardholders (Cledara has no users endpoint). |
How the computed tools work:
Spend counts card payments (
cardSend) net of refunds (cardReceive), plusreimbursement. Debits are shown as positive numbers. Top-ups, flushes and transfers are left out because they only move money between Cledara accounts. You can override this withtransactionTypes.Currencies are never converted. Every total is per currency.
Team totals: an app assigned to several teams counts in full under each team.
Owner: the application owner when the payment is for an app, otherwise the cardholder.
Large ranges: aggregate tools fetch up to 50 API pages. If a range has more, the result includes a
warning.
Requirements
Node.js 20.12 or later. Running the tests or
npm run devneeds Node 23.6 or later.A Cledara API key. Only users with the SaaS Admin/Finance or Spend Admin/Accountant role can create one: in Cledara, go to Profile → API Keys → Create API key.
The key can see everything the user who created it can see. Create it from the least-privileged eligible user and give it an expiry.
Each key works for one Cledara account only.
Install
Option A: clone (recommended for development)
git clone https://github.com/ilyesBen/cledara-mcp.git
cd cledara-mcp
npm install # also builds dist/
cp .env.example .env # then paste your key after CLEDARA_API_KEY=
chmod 600 .env
claude mcp add --scope user cledara -- node "$PWD/dist/index.js"Option B: straight from GitHub with npx
mkdir -p ~/.config/cledara-mcp
printf 'CLEDARA_API_KEY=\n' > ~/.config/cledara-mcp/.env # then paste your key
chmod 600 ~/.config/cledara-mcp/.env
claude mcp add --scope user cledara -- npx -y github:ilyesBen/cledara-mcpClaude Desktop (one-click extension)
Download cledara.mcpb and double-click it. Claude Desktop asks for your API key and stores it in the system keychain. Node.js isn't needed.
There's a step-by-step guide for non-technical users in docs/claude-desktop.md.
To build the extension yourself, run npm run mcpb. It writes build/cledara.mcpb. To publish a release, bump version in package.json, then push a matching vX.Y.Z tag; the Release workflow builds the extension and attaches it.
Other MCP clients
For Claude Desktop, Cursor and similar clients, add this to the client's MCP config:
{
"mcpServers": {
"cledara": { "command": "npx", "args": ["-y", "github:ilyesBen/cledara-mcp"] }
}
}--scope user makes the server available in every Claude Code project. Use --scope project to write it to a shared .mcp.json instead.
Configuration
Variable | Default | Purpose |
| — | Required. Your Cledara API key. |
| — | Path to an env file to read the key from. |
|
| Override the API host, e.g. for a mock server. |
The server takes the first non-empty key it finds, in this order:
The process environment
$CLEDARA_ENV_FILE.envin the package root (a git clone)~/.config/cledara-mcp/.env
Prefer an env file over claude mcp add -e CLEDARA_API_KEY=..., which stores the key in plain text in ~/.claude.json.
The key is only ever sent to the Cledara API in the Authorization header. It is never logged or included in error messages.
Rate limits
Cledara allows 120 requests per minute per key. The server:
Limits itself to 100 requests per minute, so other users of the key keep some headroom.
When it gets a
429, waits for the time inRetry-Afterand retries, up to 3 times.Caches the application list for 5 minutes.
Development
npm test # unit, server and stdio end-to-end tests against mocks (no API key needed)
npm run typecheck
npm run build # compiles src/ to dist/
npm run dev # runs src/index.ts directlyThe tests use synthetic fixtures based on Cledara's published OpenAPI spec and never call the real API.
You can try the server interactively with the MCP Inspector: npx @modelcontextprotocol/inspector node dist/index.js.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only MCP access to a documented IT fleet: state, changes, posture. 15 tools.
Read-only MCP access to sessions, funnels, campaigns, errors, live visitors, and anomalies.
Read-only access to InfluSense influencer discovery, ratings, watchlists, and reports via MCP.
Read-only MCP over your own revenue and net margin across 14 billing rails
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceRead-only MCP server for Microsoft Entra ID (Azure AD) that enables querying user sign-in logs, group memberships, and assigned Microsoft 365 licenses via Microsoft Graph API. Provides security and audit visibility without any write operations.-
- AlicenseAqualityAmaintenanceEnables MCP clients to securely access Jisr's documented HR Open API read-only operations, including employees, attendance, leave, payroll, finance, and discovery tools, with role-based field policies and dual protocol support.11MIT
- AlicenseAqualityCmaintenanceEnables MCP clients such as Claude and ChatGPT to read a Timesheet Portal account, including timesheet time and cost reports, invoices, leave bookings and balances, projects or jobs, clients, users and cost centres, across both the Standard and Recruitment editions. It is read-only, with personal and pay data withheld unless explicitly requested.8MIT

mailfact-mcpofficial
AlicenseAqualityCmaintenanceProvides read-only access to a Mailfact tenant, letting users list domains, sending sources, and aggregate reports, and query DMARC alignment, reporter coverage, and record-level data through MCP tools. It returns counts and rows only, without recommending policies or scoring domains.962 npmMIT