Actual Budget MCP Server
Rank #1,293io.github.s-stefanov/actual-mcp
MCP server exposing Actual Budget accounts, transactions, budgets and reporting to LLM assistants.
Actual Budget MCP Server is a Model Context Protocol (MCP) server published by s-stefanov. It ranks #1,293 of 132,046 servers tracked on MCP Toplist, and its repository has 236 GitHub stars. Actual Budget MCP Server is listed across 3 registries — Official MCP, Glama and PulseMCP, with 2 tracked versions. It was first listed on Jun 13, 2025 and most recently updated on Sep 14, 2026.
Ranks ahead of 130,753 of 132,046 servers on MCP Toplist.
Use Actual Budget MCP Server
Requires user-supplied configuration before first use — typically an API key, token or connection string set via environment variables.
claude mcp add actual-mcp -e "ACTUAL_SERVER_URL=<your ACTUAL_SERVER_URL>" -e "ACTUAL_PASSWORD=<your ACTUAL_PASSWORD>" -e "ACTUAL_BUDGET_SYNC_ID=<your ACTUAL_BUDGET_SYNC_ID>" -e "ACTUAL_DATA_DIR=<your ACTUAL_DATA_DIR>" -e "ACTUAL_BUDGET_ENCRYPTION_PASSWORD=<your ACTUAL_BUDGET_ENCRYPTION_PASSWORD>" -e "ACTUAL_SYNC_TTL_MS=<your ACTUAL_SYNC_TTL_MS>" -- npx -y actual-mcpReplace each placeholder with your own value before saving.
claude mcp add actual-mcp -e "ACTUAL_SERVER_URL=<your ACTUAL_SERVER_URL>" -e "ACTUAL_PASSWORD=<your ACTUAL_PASSWORD>" -e "ACTUAL_BUDGET_SYNC_ID=<your ACTUAL_BUDGET_SYNC_ID>" -e "ACTUAL_DATA_DIR=<your ACTUAL_DATA_DIR>" -e "ACTUAL_BUDGET_ENCRYPTION_PASSWORD=<your ACTUAL_BUDGET_ENCRYPTION_PASSWORD>" -e "ACTUAL_SYNC_TTL_MS=<your ACTUAL_SYNC_TTL_MS>" -- npx -y actual-mcp --port 3000Replace each placeholder with your own value before saving.
[mcp_servers.actual-mcp]
command = "npx"
args = ["-y", "actual-mcp"]
[mcp_servers.actual-mcp.env]
ACTUAL_SERVER_URL = "<your ACTUAL_SERVER_URL>"
ACTUAL_PASSWORD = "<your ACTUAL_PASSWORD>"
ACTUAL_BUDGET_SYNC_ID = "<your ACTUAL_BUDGET_SYNC_ID>"
ACTUAL_DATA_DIR = "<your ACTUAL_DATA_DIR>"
ACTUAL_BUDGET_ENCRYPTION_PASSWORD = "<your ACTUAL_BUDGET_ENCRYPTION_PASSWORD>"
ACTUAL_SYNC_TTL_MS = "<your ACTUAL_SYNC_TTL_MS>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
[mcp_servers.actual-mcp]
command = "npx"
args = ["-y", "actual-mcp", "--port", "3000"]
[mcp_servers.actual-mcp.env]
ACTUAL_SERVER_URL = "<your ACTUAL_SERVER_URL>"
ACTUAL_PASSWORD = "<your ACTUAL_PASSWORD>"
ACTUAL_BUDGET_SYNC_ID = "<your ACTUAL_BUDGET_SYNC_ID>"
ACTUAL_DATA_DIR = "<your ACTUAL_DATA_DIR>"
ACTUAL_BUDGET_ENCRYPTION_PASSWORD = "<your ACTUAL_BUDGET_ENCRYPTION_PASSWORD>"
ACTUAL_SYNC_TTL_MS = "<your ACTUAL_SYNC_TTL_MS>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"actual-mcp": {
"command": "npx",
"args": [
"-y",
"actual-mcp"
],
"env": {
"ACTUAL_SERVER_URL": "<your ACTUAL_SERVER_URL>",
"ACTUAL_PASSWORD": "<your ACTUAL_PASSWORD>",
"ACTUAL_BUDGET_SYNC_ID": "<your ACTUAL_BUDGET_SYNC_ID>",
"ACTUAL_DATA_DIR": "<your ACTUAL_DATA_DIR>",
"ACTUAL_BUDGET_ENCRYPTION_PASSWORD": "<your ACTUAL_BUDGET_ENCRYPTION_PASSWORD>",
"ACTUAL_SYNC_TTL_MS": "<your ACTUAL_SYNC_TTL_MS>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"actual-mcp": {
"command": "npx",
"args": [
"-y",
"actual-mcp",
"--port",
"3000"
],
"env": {
"ACTUAL_SERVER_URL": "<your ACTUAL_SERVER_URL>",
"ACTUAL_PASSWORD": "<your ACTUAL_PASSWORD>",
"ACTUAL_BUDGET_SYNC_ID": "<your ACTUAL_BUDGET_SYNC_ID>",
"ACTUAL_DATA_DIR": "<your ACTUAL_DATA_DIR>",
"ACTUAL_BUDGET_ENCRYPTION_PASSWORD": "<your ACTUAL_BUDGET_ENCRYPTION_PASSWORD>",
"ACTUAL_SYNC_TTL_MS": "<your ACTUAL_SYNC_TTL_MS>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"actual-mcp": {
"command": "npx",
"args": [
"-y",
"actual-mcp"
],
"env": {
"ACTUAL_SERVER_URL": "<your ACTUAL_SERVER_URL>",
"ACTUAL_PASSWORD": "<your ACTUAL_PASSWORD>",
"ACTUAL_BUDGET_SYNC_ID": "<your ACTUAL_BUDGET_SYNC_ID>",
"ACTUAL_DATA_DIR": "<your ACTUAL_DATA_DIR>",
"ACTUAL_BUDGET_ENCRYPTION_PASSWORD": "<your ACTUAL_BUDGET_ENCRYPTION_PASSWORD>",
"ACTUAL_SYNC_TTL_MS": "<your ACTUAL_SYNC_TTL_MS>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"actual-mcp": {
"command": "npx",
"args": [
"-y",
"actual-mcp",
"--port",
"3000"
],
"env": {
"ACTUAL_SERVER_URL": "<your ACTUAL_SERVER_URL>",
"ACTUAL_PASSWORD": "<your ACTUAL_PASSWORD>",
"ACTUAL_BUDGET_SYNC_ID": "<your ACTUAL_BUDGET_SYNC_ID>",
"ACTUAL_DATA_DIR": "<your ACTUAL_DATA_DIR>",
"ACTUAL_BUDGET_ENCRYPTION_PASSWORD": "<your ACTUAL_BUDGET_ENCRYPTION_PASSWORD>",
"ACTUAL_SYNC_TTL_MS": "<your ACTUAL_SYNC_TTL_MS>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"servers": {
"actual-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"actual-mcp"
],
"env": {
"ACTUAL_SERVER_URL": "<your ACTUAL_SERVER_URL>",
"ACTUAL_PASSWORD": "<your ACTUAL_PASSWORD>",
"ACTUAL_BUDGET_SYNC_ID": "<your ACTUAL_BUDGET_SYNC_ID>",
"ACTUAL_DATA_DIR": "<your ACTUAL_DATA_DIR>",
"ACTUAL_BUDGET_ENCRYPTION_PASSWORD": "<your ACTUAL_BUDGET_ENCRYPTION_PASSWORD>",
"ACTUAL_SYNC_TTL_MS": "<your ACTUAL_SYNC_TTL_MS>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"servers": {
"actual-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"actual-mcp",
"--port",
"3000"
],
"env": {
"ACTUAL_SERVER_URL": "<your ACTUAL_SERVER_URL>",
"ACTUAL_PASSWORD": "<your ACTUAL_PASSWORD>",
"ACTUAL_BUDGET_SYNC_ID": "<your ACTUAL_BUDGET_SYNC_ID>",
"ACTUAL_DATA_DIR": "<your ACTUAL_DATA_DIR>",
"ACTUAL_BUDGET_ENCRYPTION_PASSWORD": "<your ACTUAL_BUDGET_ENCRYPTION_PASSWORD>",
"ACTUAL_SYNC_TTL_MS": "<your ACTUAL_SYNC_TTL_MS>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"actual-mcp": {
"command": "npx",
"args": [
"-y",
"actual-mcp"
],
"env": {
"ACTUAL_SERVER_URL": "<your ACTUAL_SERVER_URL>",
"ACTUAL_PASSWORD": "<your ACTUAL_PASSWORD>",
"ACTUAL_BUDGET_SYNC_ID": "<your ACTUAL_BUDGET_SYNC_ID>",
"ACTUAL_DATA_DIR": "<your ACTUAL_DATA_DIR>",
"ACTUAL_BUDGET_ENCRYPTION_PASSWORD": "<your ACTUAL_BUDGET_ENCRYPTION_PASSWORD>",
"ACTUAL_SYNC_TTL_MS": "<your ACTUAL_SYNC_TTL_MS>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"actual-mcp": {
"command": "npx",
"args": [
"-y",
"actual-mcp",
"--port",
"3000"
],
"env": {
"ACTUAL_SERVER_URL": "<your ACTUAL_SERVER_URL>",
"ACTUAL_PASSWORD": "<your ACTUAL_PASSWORD>",
"ACTUAL_BUDGET_SYNC_ID": "<your ACTUAL_BUDGET_SYNC_ID>",
"ACTUAL_DATA_DIR": "<your ACTUAL_DATA_DIR>",
"ACTUAL_BUDGET_ENCRYPTION_PASSWORD": "<your ACTUAL_BUDGET_ENCRYPTION_PASSWORD>",
"ACTUAL_SYNC_TTL_MS": "<your ACTUAL_SYNC_TTL_MS>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"actual-mcp": {
"command": "npx",
"args": [
"-y",
"actual-mcp"
],
"env": {
"ACTUAL_SERVER_URL": "<your ACTUAL_SERVER_URL>",
"ACTUAL_PASSWORD": "<your ACTUAL_PASSWORD>",
"ACTUAL_BUDGET_SYNC_ID": "<your ACTUAL_BUDGET_SYNC_ID>",
"ACTUAL_DATA_DIR": "<your ACTUAL_DATA_DIR>",
"ACTUAL_BUDGET_ENCRYPTION_PASSWORD": "<your ACTUAL_BUDGET_ENCRYPTION_PASSWORD>",
"ACTUAL_SYNC_TTL_MS": "<your ACTUAL_SYNC_TTL_MS>"
}
}
}
}Replace each placeholder with your own value before saving.
{
"mcpServers": {
"actual-mcp": {
"command": "npx",
"args": [
"-y",
"actual-mcp",
"--port",
"3000"
],
"env": {
"ACTUAL_SERVER_URL": "<your ACTUAL_SERVER_URL>",
"ACTUAL_PASSWORD": "<your ACTUAL_PASSWORD>",
"ACTUAL_BUDGET_SYNC_ID": "<your ACTUAL_BUDGET_SYNC_ID>",
"ACTUAL_DATA_DIR": "<your ACTUAL_DATA_DIR>",
"ACTUAL_BUDGET_ENCRYPTION_PASSWORD": "<your ACTUAL_BUDGET_ENCRYPTION_PASSWORD>",
"ACTUAL_SYNC_TTL_MS": "<your ACTUAL_SYNC_TTL_MS>"
}
}
}
}Replace each placeholder with your own value before saving.
Show your rank
Maintain this server? Add the live rank badge to your README — it updates automatically as the leaderboard changes.
[](https://mcptoplist.com/server/io.github.s-stefanov%2Factual-mcp)<a href="https://mcptoplist.com/server/io.github.s-stefanov%2Factual-mcp"><img src="https://mcptoplist.com/badge/io.github.s-stefanov%2Factual-mcp.svg" alt="MCP Toplist: Top 1% of 132,046" /></a>Variants: append ?metric=score or ?metric=stars to the image URL.
Listed on 3 registries
s-stefanov
Available versions (2)
| Version | Published |
|---|---|
| 1.14.0 | Sep 14, 2026 |
| 1.13.0 | Sep 12, 2026 |
Frequently asked questions
- Who maintains Actual Budget MCP Server?
- Actual Budget MCP Server is maintained by s-stefanov, which publishes 1 MCP server (2 total versions) tracked on MCP Toplist.
- Is Actual Budget MCP Server listed on the Official MCP Registry?
- Yes — Actual Budget MCP Server is listed on the Official MCP Registry, alongside Glama and PulseMCP.
- How many versions does Actual Budget MCP Server have?
- MCP Toplist tracks 2 versions of Actual Budget MCP Server, most recently published on Sep 14, 2026.
- Where can I find the source code for Actual Budget MCP Server?
- The source code for Actual Budget MCP Server is hosted at github.com/s-stefanov/actual-mcp.
Do you run this server?
Community projects list the MCP servers behind real agents and apps. Publish yours and this page will link to it.