actual-mcp-server 0.5.4 → 0.5.5

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/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Actual MCP Server
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/actual-mcp-server)](https://www.npmjs.com/package/actual-mcp-server)
4
+ [![npm downloads](https://img.shields.io/npm/dm/actual-mcp-server)](https://www.npmjs.com/package/actual-mcp-server)
3
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
6
  [![Node.js Version](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen)](https://nodejs.org/)
5
7
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.9-blue)](https://www.typescriptlang.org/)
@@ -668,4 +670,4 @@ The software is provided **as-is**, without warranty of any kind. The author acc
668
670
 
669
671
  ---
670
672
 
671
- **Version:** 0.5.4 | **Tool Count:** 62 (verified LibreChat-compatible)
673
+ **Version:** 0.5.5 | **Tool Count:** 62 (verified LibreChat-compatible)
package/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "actual-mcp-server",
3
3
  "displayName": "Actual MCP Server",
4
- "version": "0.5.4",
4
+ "version": "0.5.5",
5
5
  "engines": {
6
6
  "node": ">=20.0.0",
7
7
  "npm": ">=10.0.0"
@@ -58,13 +58,18 @@
58
58
  "dependencies": {
59
59
  "@actual-app/api": "^26.4.0",
60
60
  "@modelcontextprotocol/sdk": "^1.29.0",
61
+ "debug": "^4.4.3",
61
62
  "dotenv": "^17.4.1",
62
63
  "express": "^5.2.1",
64
+ "jose": "^6.1.3",
63
65
  "mcp-auth": "^0.2.0",
64
66
  "winston": "^3.18.3",
65
67
  "winston-daily-rotate-file": "^5.0.0",
66
68
  "zod": "^4.0.0"
67
69
  },
70
+ "optionalDependencies": {
71
+ "prom-client": "*"
72
+ },
68
73
  "overrides": {
69
74
  "ajv": "8.18.0",
70
75
  "qs": "6.14.2"
@@ -76,6 +81,7 @@
76
81
  "@playwright/test": "^1.59.1",
77
82
  "@types/express": "^5.0.3",
78
83
  "@types/node": "^25.6.0",
84
+ "node-fetch": "^3.3.2",
79
85
  "tsconfig-paths": "^4.2.0",
80
86
  "typescript": "^6.0.2"
81
87
  },
@@ -32,7 +32,11 @@ export const configSchema = z.object({
32
32
  function getConfig() {
33
33
  const result = configSchema.safeParse(process.env);
34
34
  if (!result.success) {
35
- console.error('Invalid or missing environment variables:', result.error.issues);
35
+ const missing = result.error.issues.map(i => ` • ${i.path.join('.')}`).join('\n');
36
+ console.error(`\n❌ Missing or invalid environment variables:\n${missing}\n\n` +
37
+ `Set them in a .env file in the current directory, or export them before running.\n` +
38
+ `Required: ACTUAL_SERVER_URL, ACTUAL_PASSWORD, ACTUAL_BUDGET_SYNC_ID\n` +
39
+ `See: https://github.com/agigante80/actual-mcp-server\n`);
36
40
  process.exit(1);
37
41
  }
38
42
  return result.data;
package/dist/src/index.js CHANGED
@@ -80,6 +80,15 @@ if (argsEarly.includes('--stdio')) {
80
80
  // Only load dotenv if we're not just showing help
81
81
  // dotenv will be loaded inside the async IIFE below via dynamic import
82
82
  // to avoid using require() in ESM and to keep the early --help fast exit.
83
+ const KNOWN_FLAGS = new Set([
84
+ '--http', '--stdio', '--test-actual-connection', '--test-mcp-client',
85
+ '--debug', '--help', '-h', '--version', '-v',
86
+ ]);
87
+ const unknownFlags = argsEarly.filter(a => a.startsWith('-') && !KNOWN_FLAGS.has(a));
88
+ if (unknownFlags.length > 0) {
89
+ console.error(`Unknown option: ${unknownFlags.join(', ')}\nRun \`actual-mcp-server --help\` for usage.`);
90
+ process.exit(1);
91
+ }
83
92
  if (argsEarly.includes('--help') || argsEarly.includes('-h') ||
84
93
  argsEarly.includes('--version') || argsEarly.includes('-v')) {
85
94
  const pkg = await import('../package.json', { with: { type: 'json' } });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "actual-mcp-server",
3
3
  "displayName": "Actual MCP Server",
4
- "version": "0.5.4",
4
+ "version": "0.5.5",
5
5
  "engines": {
6
6
  "node": ">=20.0.0",
7
7
  "npm": ">=10.0.0"
@@ -58,13 +58,18 @@
58
58
  "dependencies": {
59
59
  "@actual-app/api": "^26.4.0",
60
60
  "@modelcontextprotocol/sdk": "^1.29.0",
61
+ "debug": "^4.4.3",
61
62
  "dotenv": "^17.4.1",
62
63
  "express": "^5.2.1",
64
+ "jose": "^6.1.3",
63
65
  "mcp-auth": "^0.2.0",
64
66
  "winston": "^3.18.3",
65
67
  "winston-daily-rotate-file": "^5.0.0",
66
68
  "zod": "^4.0.0"
67
69
  },
70
+ "optionalDependencies": {
71
+ "prom-client": "*"
72
+ },
68
73
  "overrides": {
69
74
  "ajv": "8.18.0",
70
75
  "qs": "6.14.2"
@@ -76,6 +81,7 @@
76
81
  "@playwright/test": "^1.59.1",
77
82
  "@types/express": "^5.0.3",
78
83
  "@types/node": "^25.6.0",
84
+ "node-fetch": "^3.3.2",
79
85
  "tsconfig-paths": "^4.2.0",
80
86
  "typescript": "^6.0.2"
81
87
  },