copilot-money-mcp 1.6.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PRIVACY.md +35 -15
- package/README.md +14 -47
- package/dist/cli.js +1046 -1228
- package/dist/launcher.sh +35 -0
- package/dist/server.js +35977 -0
- package/package.json +6 -7
package/PRIVACY.md
CHANGED
|
@@ -14,6 +14,21 @@ The server operates in two modes:
|
|
|
14
14
|
- **Read-only mode (default):** Reads data exclusively from your local Copilot Money database cache. No network requests are made.
|
|
15
15
|
- **Write mode (opt-in, `--write` flag):** Adds the ability to modify your Copilot Money data. Because Copilot Money is backed by Google Firebase/Firestore, write operations require authenticated network requests to Firebase/Firestore on your behalf. See the [Write Mode and Network Access](#write-mode-and-network-access) section below.
|
|
16
16
|
|
|
17
|
+
## Important: Data Shared With AI Providers
|
|
18
|
+
|
|
19
|
+
**The MCP server itself is local, but the AI assistant you connect it to is not.** When you use this server with a hosted AI model (Claude Desktop, ChatGPT, Gemini, Cursor, or any other MCP-compatible client that relies on a cloud-hosted model), the tool responses containing your Copilot Money data — transactions, balances, account names, merchants, categories, holdings, and so on — are sent to that AI provider so the model can answer your question.
|
|
20
|
+
|
|
21
|
+
**That means your financial data will leave your machine and be transmitted to a third-party AI provider**, such as:
|
|
22
|
+
|
|
23
|
+
- **Anthropic** (if you use Claude Desktop or any Claude-powered client)
|
|
24
|
+
- **OpenAI** (if you use ChatGPT, GPT-based tools, or Cursor with GPT models)
|
|
25
|
+
- **Google** (if you use Gemini or any Google-hosted model)
|
|
26
|
+
- **Any other AI provider** whose model your MCP client connects to
|
|
27
|
+
|
|
28
|
+
Each provider has its own privacy policy, data retention, and training-data practices, which apply to this data once it is transmitted. This project has no control over how those providers handle your data.
|
|
29
|
+
|
|
30
|
+
**By using this MCP server with a hosted AI model, you are knowingly and voluntarily sharing your financial data with the provider of that model. You must be comfortable with that trade-off.** If you are not, do not use this tool — consider waiting for an official Copilot Money integration, or running a fully local model that does not transmit data off your machine.
|
|
31
|
+
|
|
17
32
|
## Data Collection
|
|
18
33
|
|
|
19
34
|
**We do not collect, store, or transmit any of your data to our servers or any third party.** The server has no backend, no analytics, and no telemetry.
|
|
@@ -52,7 +67,7 @@ This database contains:
|
|
|
52
67
|
## Data Usage
|
|
53
68
|
|
|
54
69
|
Data read from your local database is used exclusively to:
|
|
55
|
-
1. Respond to queries from Claude Desktop via the Model Context Protocol (MCP)
|
|
70
|
+
1. Respond to queries from an AI client (Claude Desktop, ChatGPT, Cursor, etc.) via the Model Context Protocol (MCP)
|
|
56
71
|
2. Perform local calculations (e.g., spending aggregations, category summaries)
|
|
57
72
|
3. Filter and search transactions based on your requests
|
|
58
73
|
|
|
@@ -63,12 +78,12 @@ All processing happens in memory on your local machine. No data is persisted out
|
|
|
63
78
|
|
|
64
79
|
## Data Sharing
|
|
65
80
|
|
|
66
|
-
**
|
|
81
|
+
**This project does not collect or share your data with anyone.** However, please read the section above on [Data Shared With AI Providers](#important-data-shared-with-ai-providers) — the AI model you connect this server to will receive your financial data as part of normal MCP tool-call responses.
|
|
67
82
|
|
|
68
83
|
- No data is sent to our servers (we don't have servers)
|
|
69
|
-
- No data is sent to third parties for analytics, advertising, or tracking
|
|
70
|
-
- No
|
|
71
|
-
-
|
|
84
|
+
- No data is sent to third parties for analytics, advertising, or tracking by this project
|
|
85
|
+
- No analytics or crash reports are transmitted by this project
|
|
86
|
+
- **Your AI provider (Anthropic, OpenAI, Google, or whichever model you use) will receive your Copilot Money data** as part of answering your queries — governed by that provider's privacy policy, not this project's
|
|
72
87
|
|
|
73
88
|
In opt-in write mode, requested changes are sent directly from your machine to Google Firebase/Firestore using your own Copilot Money credentials. This is the same backend Copilot Money itself uses to persist your data — no intermediary server operated by this project is involved. This traffic is governed by Google's and Copilot Money's own privacy policies.
|
|
74
89
|
|
|
@@ -86,8 +101,8 @@ In opt-in write mode, requested changes are sent directly from your machine to G
|
|
|
86
101
|
### Your Control
|
|
87
102
|
|
|
88
103
|
You maintain full control over your data:
|
|
89
|
-
- The server only runs when you explicitly start it via
|
|
90
|
-
- You can stop the server at any time by closing
|
|
104
|
+
- The server only runs when you explicitly start it via your MCP client
|
|
105
|
+
- You can stop the server at any time by closing your MCP client
|
|
91
106
|
- You can uninstall the server at any time
|
|
92
107
|
- Your Copilot Money data remains in its original location
|
|
93
108
|
- **Write mode is strictly opt-in:** Write tools are unavailable unless you explicitly start the server with `--write`. Without this flag, the server cannot modify your Copilot Money data even if instructed to do so
|
|
@@ -116,18 +131,19 @@ Network traffic in write mode is subject to:
|
|
|
116
131
|
- [Google's Privacy Policy](https://policies.google.com/privacy) (as Firebase/Firestore is operated by Google)
|
|
117
132
|
- Copilot Money's own terms and privacy policy (as you are modifying data on their backend)
|
|
118
133
|
|
|
119
|
-
##
|
|
134
|
+
## AI Client Integration
|
|
120
135
|
|
|
121
|
-
When integrated with Claude Desktop:
|
|
122
|
-
-
|
|
123
|
-
-
|
|
124
|
-
- This
|
|
125
|
-
-
|
|
136
|
+
When integrated with an AI client such as Claude Desktop, ChatGPT, Cursor, or Gemini:
|
|
137
|
+
- Your queries and the tool responses produced by this server are processed by the underlying AI model
|
|
138
|
+
- To answer your questions, the AI model will see the Copilot Money data returned by tool calls (transactions, balances, merchants, categories, holdings, etc.)
|
|
139
|
+
- This data is transmitted to and processed by the AI provider (Anthropic, OpenAI, Google, or another third party, depending on which model you use) according to **that provider's** privacy policy and data retention terms — not this project's
|
|
140
|
+
- Relevant policies include [Anthropic's Privacy Policy](https://www.anthropic.com/privacy), [OpenAI's Privacy Policy](https://openai.com/policies/privacy-policy), and [Google's Privacy Policy](https://policies.google.com/privacy)
|
|
141
|
+
- You control what queries you send and which AI client you connect to this server
|
|
126
142
|
|
|
127
143
|
## Third-Party Services
|
|
128
144
|
|
|
129
145
|
This server does not integrate with any third-party services beyond:
|
|
130
|
-
- **
|
|
146
|
+
- **Your MCP client's AI provider** (required only if you use the server for AI-powered queries; optional if you call tools programmatically) — e.g., Anthropic (Claude Desktop), OpenAI (ChatGPT, Cursor with GPT), Google (Gemini). Your Copilot Money data is shared with this provider as part of normal MCP tool-call responses. See [Data Shared With AI Providers](#important-data-shared-with-ai-providers).
|
|
131
147
|
- **Copilot Money** (reads the local database created by the app)
|
|
132
148
|
- **Google Firebase / Firestore** (only in opt-in write mode; this is Copilot Money's own backend, accessed directly with your own Copilot Money credentials)
|
|
133
149
|
|
|
@@ -155,4 +171,8 @@ For privacy-related questions or concerns:
|
|
|
155
171
|
|
|
156
172
|
## Summary
|
|
157
173
|
|
|
158
|
-
**In short:** This server is a local-first tool that reads your Copilot Money data to enable AI-powered queries via
|
|
174
|
+
**In short:** This server is a local-first tool that reads your Copilot Money data to enable AI-powered queries via an MCP client such as Claude Desktop, ChatGPT, Cursor, or Gemini. This project never collects, stores, or transmits your financial information to servers operated by this project — we don't have any.
|
|
175
|
+
|
|
176
|
+
**However, the AI assistant you connect this server to will see your Copilot Money data** in order to answer your questions, and that data will be transmitted to the corresponding AI provider (Anthropic, OpenAI, Google, or another third party) according to that provider's privacy policy. By using this MCP server with a hosted AI model, you knowingly accept sharing your financial data with that provider. If you are not comfortable with that, do not use this tool.
|
|
177
|
+
|
|
178
|
+
If you explicitly opt in to write mode with the `--write` flag, the server can additionally apply your requested changes by talking directly to Copilot Money's own Firebase/Firestore backend using your own credentials.
|
package/README.md
CHANGED
|
@@ -6,22 +6,20 @@
|
|
|
6
6
|
[](https://nodejs.org/)
|
|
7
7
|
[](https://www.typescriptlang.org/)
|
|
8
8
|
[](https://github.com/ignaciohermosillacornejo/copilot-money-mcp)
|
|
9
|
-
[](https://github.com/ignaciohermosillacornejo/copilot-money-mcp)
|
|
10
10
|
|
|
11
11
|
## Disclaimer
|
|
12
12
|
|
|
13
13
|
**This is an independent, community-driven project and is not affiliated with, endorsed by, or associated with Copilot Money or its parent company in any way.** This tool was created by an independent developer to enable AI-powered queries of locally cached data. "Copilot Money" is a trademark of its respective owner.
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
An [MCP](https://modelcontextprotocol.io/) server that gives AI assistants access to your Copilot Money personal finance data. It reads from the locally cached Firestore database (LevelDB + Protocol Buffers) on your Mac. **Reads are 100% local with zero network requests.** Optional write mode (opt-in via `--write`) sends your requested changes directly to Copilot Money's Firebase/Firestore backend — the same backend the Copilot Money app itself uses — authenticated with your own credentials, never through any third-party service.
|
|
15
|
+
> [!NOTE]
|
|
16
|
+
> **Write tools are temporarily unavailable.** Copilot Money has restricted direct Firestore writes from third-party clients. The 18 write tools in this repo still exist as source, but the published CLI runs read-only. A replacement write path is being evaluated. Reads are unaffected.
|
|
18
17
|
|
|
19
|
-
|
|
18
|
+
## Overview
|
|
20
19
|
|
|
21
|
-
|
|
22
|
-
- **18 write tools** (opt-in) — consolidate transaction changes, manage tags, create budgets, update recurring items, and organize your finances
|
|
20
|
+
An [MCP](https://modelcontextprotocol.io/) server that gives AI assistants access to your Copilot Money personal finance data. It reads from the locally cached Firestore database (LevelDB + Protocol Buffers) on your Mac. **Reads are 100% local with zero network requests.**
|
|
23
21
|
|
|
24
|
-
**
|
|
22
|
+
**17 read tools** across spending, investments, budgets, goals, and more — query transactions, accounts, holdings, balances, categories, recurring charges, budgets, goals, and investment performance.
|
|
25
23
|
|
|
26
24
|
## Privacy First
|
|
27
25
|
|
|
@@ -29,10 +27,13 @@ We never collect, store, or transmit your data to any server operated by this pr
|
|
|
29
27
|
|
|
30
28
|
- No analytics, telemetry, or tracking of any kind
|
|
31
29
|
- Reads are fully local — zero network requests
|
|
32
|
-
- Read-only by default (write tools disabled unless you pass `--write`)
|
|
33
|
-
- In opt-in write mode, requests go directly from your machine to Copilot Money's own Firebase/Firestore backend using your own credentials — never through any third-party service
|
|
34
30
|
- Open source — verify the code yourself
|
|
35
31
|
|
|
32
|
+
> [!IMPORTANT]
|
|
33
|
+
> **Heads up about AI providers.** While this server itself runs locally and never sends your data to any server operated by this project, **the AI assistant you connect it to (Claude, ChatGPT, Gemini, etc.) will see your Copilot Money data** as part of answering your questions. That means your financial data will be transmitted to and processed by the provider of whichever model you choose — **Anthropic, OpenAI, Google, or another third party** — subject to that provider's own privacy policy and data retention terms.
|
|
34
|
+
>
|
|
35
|
+
> **By using this MCP server with a hosted AI model, you are knowingly sharing your financial data with that AI provider.** Only use this tool if you are comfortable with that trade-off. If you are not, consider waiting for an official Copilot Money integration or using a fully local model.
|
|
36
|
+
|
|
36
37
|
## Quick Start
|
|
37
38
|
|
|
38
39
|
### Prerequisites
|
|
@@ -136,18 +137,6 @@ Uses `get_budgets`, `get_goals`, `get_goal_history`.
|
|
|
136
137
|
|
|
137
138
|
Uses `get_recurring_transactions`.
|
|
138
139
|
|
|
139
|
-
### Organizing Your Finances (Write Mode)
|
|
140
|
-
|
|
141
|
-
> "Categorize all my Uber transactions as transportation"
|
|
142
|
-
|
|
143
|
-
> "Tag my vacation spending with #vacation"
|
|
144
|
-
|
|
145
|
-
> "Create a $500 monthly dining budget"
|
|
146
|
-
|
|
147
|
-
> "Set up Netflix as a monthly recurring charge"
|
|
148
|
-
|
|
149
|
-
Uses write tools like `update_transaction`, `create_budget`, `update_recurring`, and more. Requires `--write` flag.
|
|
150
|
-
|
|
151
140
|
## Available Tools
|
|
152
141
|
|
|
153
142
|
### Read Tools (17)
|
|
@@ -172,33 +161,11 @@ Uses write tools like `update_transaction`, `create_budget`, `update_recurring`,
|
|
|
172
161
|
| `get_cache_info` | Local cache metadata — date range, transaction count, cache age. |
|
|
173
162
|
| `refresh_database` | Reload data from disk. Cache auto-refreshes every 5 minutes. |
|
|
174
163
|
|
|
175
|
-
### Write Tools
|
|
176
|
-
|
|
177
|
-
| Category | Tools |
|
|
178
|
-
|----------|-------|
|
|
179
|
-
| **Transactions** | `update_transaction` (multi-field patch), `review_transactions` |
|
|
180
|
-
| **Tags** | `create_tag`, `update_tag`, `delete_tag` |
|
|
181
|
-
| **Categories** | `create_category`, `update_category`, `delete_category` |
|
|
182
|
-
| **Budgets** | `create_budget`, `update_budget`, `delete_budget` |
|
|
183
|
-
| **Goals** | `create_goal`, `update_goal`, `delete_goal` |
|
|
184
|
-
| **Recurring** | `create_recurring`, `update_recurring`, `set_recurring_state`, `delete_recurring` |
|
|
164
|
+
### Write Tools — temporarily unavailable
|
|
185
165
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
By default, the server starts in **read-only mode**. To enable write tools, start the server with the `--write` flag:
|
|
189
|
-
|
|
190
|
-
```json
|
|
191
|
-
{
|
|
192
|
-
"mcpServers": {
|
|
193
|
-
"copilot-money": {
|
|
194
|
-
"command": "copilot-money-mcp",
|
|
195
|
-
"args": ["--write"]
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
```
|
|
166
|
+
Copilot Money has restricted direct Firestore writes from third-party clients, so the 18 write tools (`update_transaction`, `create_budget`, `create_goal`, `update_recurring`, etc.) no longer succeed against the live backend. The code still lives in `src/` and the tool schemas are preserved for reference and future work, but the published `copilot-money-mcp` CLI runs in read-only mode. Passing `--write` prints a notice and still starts read-only.
|
|
200
167
|
|
|
201
|
-
|
|
168
|
+
A replacement write path (via Copilot Money's GraphQL web API) is being evaluated; progress will be tracked in the repo issues.
|
|
202
169
|
|
|
203
170
|
## Configuration
|
|
204
171
|
|