ZenMoney MCP
Read-only MCP server for ZenMoney that syncs financial data into memory and exposes it through tools and resources, enabling agentic analysis of transactions and spending patterns.
README
ZenMoney MCP
Read-only MCP server for ZenMoney. It syncs ZenMoney data into process memory and exposes it through MCP tools and resources. It does not persist financial data or API responses to disk.
Agentic Workflows
The read-only mode is a good fit for agentic workflows with tools such as Hermes and OpenClaw. Agents can analyze transactions in the way the user asks, compare spending patterns, prepare recurring personal-finance reports, and surface anomalies without being able to create, update, or delete ZenMoney data.
Unofficial Project
This is an unofficial project and is not affiliated with, endorsed by, or sponsored by ZenMoney. Users are responsible for complying with ZenMoney terms and for protecting their own access tokens.
MCP Client Config
Use the published CLI through npx and pass runtime configuration through your MCP client:
{
"mcpServers": {
"zenmoney": {
"command": "npx",
"args": ["-y", "@nonnname/zenmoney-mcp"],
"env": {
"ZENMONEY_ACCESS_TOKEN": "paste-token-here",
"ZENMONEY_SYNC_ON_START": "true",
"ZENMONEY_API_BASE_URL": "https://api.zenmoney.ru/v8",
"ZENMONEY_DEFAULT_RESULT_LIMIT": "100",
"ZENMONEY_MAX_RESULT_LIMIT": "500",
"ZENMONEY_REQUEST_TIMEOUT_MS": "30000",
"ZENMONEY_ENABLE_WRITE_TOOLS": "false"
}
}
}
}
The same example is available in mcp-config.example.json.
Configuration
ZENMONEY_ACCESS_TOKEN=
ZENMONEY_SYNC_ON_START=true
ZENMONEY_API_BASE_URL=https://api.zenmoney.ru/v8
ZENMONEY_DEFAULT_RESULT_LIMIT=100
ZENMONEY_MAX_RESULT_LIMIT=500
ZENMONEY_REQUEST_TIMEOUT_MS=30000
ZENMONEY_ENABLE_WRITE_TOOLS=false
ZENMONEY_DEFAULT_RESULT_LIMIT and ZENMONEY_MAX_RESULT_LIMIT limit MCP responses from the in-memory snapshot. They do not limit ZenMoney API synchronization.
Local Development
npm install
cp .env.example .env
npm run dev
For a production-like local run from source:
npm run build
npm start
Tools
zenmoney_synczenmoney_cache_statuszenmoney_list_accountszenmoney_list_transactionszenmoney_get_transactionzenmoney_list_tagszenmoney_list_merchantszenmoney_list_budgetszenmoney_suggest_transaction
Optional Write Tools
The server is read-only by default. Write tools are not registered unless you explicitly enable them at process startup.
Enable write tools with a launch argument:
{
"mcpServers": {
"zenmoney": {
"command": "npx",
"args": ["-y", "@nonnname/zenmoney-mcp", "--enable-write-tools"],
"env": {
"ZENMONEY_ACCESS_TOKEN": "paste-token-here"
}
}
}
}
Or enable write tools with an environment variable:
{
"env": {
"ZENMONEY_ACCESS_TOKEN": "paste-token-here",
"ZENMONEY_ENABLE_WRITE_TOOLS": "true"
}
}
Write tools can create, update, and delete ZenMoney user entities except budgets. Update and delete tools require expectedChanged, which is the changed value returned by the read tools. If the entity changes remotely before the write, the server returns a conflict and does not send the mutation.
Budget writes are not supported.
Write tools registered only after opt-in:
zenmoney_create_transactionzenmoney_update_transactionzenmoney_delete_transactionzenmoney_create_expensezenmoney_create_incomezenmoney_create_transferzenmoney_create_accountzenmoney_update_accountzenmoney_delete_accountzenmoney_create_tagzenmoney_update_tagzenmoney_delete_tagzenmoney_create_merchantzenmoney_update_merchantzenmoney_delete_merchantzenmoney_create_reminderzenmoney_update_reminderzenmoney_delete_reminderzenmoney_create_reminder_markerzenmoney_update_reminder_markerzenmoney_delete_reminder_marker
Resources
zenmoney://statuszenmoney://accountszenmoney://transactionszenmoney://transactions/{id}zenmoney://tagszenmoney://merchantszenmoney://budgetszenmoney://schema/accountzenmoney://schema/transactionzenmoney://schema/tagzenmoney://schema/merchantzenmoney://schema/budget
Verification
Mocked tests do not need a real ZenMoney token:
npm test
npm run build
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.