@ancientwhispers54/leafengines-mcp-server 1.1.9 → 2.0.1

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.
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ /**
3
+ * MCP Push Notifications for v2.0.0 Announcement
4
+ * JSON-RPC notifications to connected clients
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.registerClient = registerClient;
8
+ exports.unregisterClient = unregisterClient;
9
+ exports.sendV200Announcement = sendV200Announcement;
10
+ exports.sendToolsUpdatedNotification = sendToolsUpdatedNotification;
11
+ exports.initializeNotifications = initializeNotifications;
12
+ // Track connected clients for notifications
13
+ const connectedClients = new Set();
14
+ /**
15
+ * Register a client for notifications
16
+ */
17
+ function registerClient(transport) {
18
+ connectedClients.add(transport);
19
+ console.log(`📱 Client registered for notifications. Total: ${connectedClients.size}`);
20
+ }
21
+ /**
22
+ * Unregister a client
23
+ */
24
+ function unregisterClient(transport) {
25
+ connectedClients.delete(transport);
26
+ console.log(`📱 Client unregistered. Total: ${connectedClients.size}`);
27
+ }
28
+ /**
29
+ * Send v2.0.0 announcement to all connected clients
30
+ */
31
+ async function sendV200Announcement(server) {
32
+ const announcement = {
33
+ jsonrpc: "2.0",
34
+ method: "notifications/announcement",
35
+ params: {
36
+ type: "server_update",
37
+ version: "2.0.0",
38
+ title: "🎉 LeafEngines v2.0.0 Update",
39
+ message: "Enhanced support & extended founder pricing through June 1, 2026",
40
+ features: [
41
+ "Usage Insights Dashboard - See your patterns, optimize workflow",
42
+ "Smarter Error Diagnostics - 70% faster troubleshooting",
43
+ "30% Performance Boost - Faster responses, smoother experience",
44
+ "Enhanced Free Tier - 50% more requests, better onboarding"
45
+ ],
46
+ support: {
47
+ email: "support@soilsidekickpro.com",
48
+ response_time: "24 hours",
49
+ status: "operational"
50
+ },
51
+ pricing: {
52
+ founder_deadline: "2026-06-01",
53
+ founder_limit: 100,
54
+ plans: {
55
+ starter: "$10/mo → $49/mo lifetime lock",
56
+ pro: "$49/mo → $149/mo lifetime lock"
57
+ }
58
+ },
59
+ links: {
60
+ github: "https://github.com/QWarranto/leafengines-claude-mcp/releases/tag/v2.0.0",
61
+ starter: "https://buy.stripe.com/14A7sL30y8bR2F4fbgaMU02",
62
+ pro: "https://buy.stripe.com/cNi3cv1WuajZcfE7IOaMU03"
63
+ },
64
+ timestamp: new Date().toISOString()
65
+ }
66
+ };
67
+ console.log("🚀 Sending v2.0.0 announcement to connected clients...");
68
+ // In a real implementation, we would send to each connected client
69
+ // For stdio transport, we can write to stdout
70
+ console.log(JSON.stringify(announcement));
71
+ // Log business event for telemetry
72
+ console.log(JSON.stringify({
73
+ level: 'INFO',
74
+ event: 'business',
75
+ type: 'v2_announcement_sent',
76
+ client_count: connectedClients.size,
77
+ timestamp: new Date().toISOString()
78
+ }));
79
+ }
80
+ /**
81
+ * Send notification when tools/resources change
82
+ */
83
+ async function sendToolsUpdatedNotification(server) {
84
+ const notification = {
85
+ jsonrpc: "2.0",
86
+ method: "notifications/tools_updated",
87
+ params: {
88
+ type: "tools_updated",
89
+ message: "LeafEngines tools have been updated",
90
+ timestamp: new Date().toISOString()
91
+ }
92
+ };
93
+ console.log(JSON.stringify(notification));
94
+ }
95
+ /**
96
+ * Initialize notification system
97
+ */
98
+ function initializeNotifications(server) {
99
+ console.log("🔔 MCP Push Notification System Initialized");
100
+ console.log(" • v2.0.0 announcement ready");
101
+ console.log(" • Tool update notifications enabled");
102
+ console.log(" • Client tracking active");
103
+ // Send announcement after a short delay (when clients are connected)
104
+ setTimeout(() => {
105
+ sendV200Announcement(server);
106
+ }, 3000); // 3 second delay for clients to connect
107
+ }
108
+ //# sourceMappingURL=notifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAUH,wCAGC;AAKD,4CAGC;AAKD,oDAmDC;AAKD,oEAYC;AAKD,0DAUC;AAzGD,4CAA4C;AAC5C,MAAM,gBAAgB,GAAa,IAAI,GAAG,EAAE,CAAC;AAE7C;;GAEG;AACH,SAAgB,cAAc,CAAC,SAAc;IAC3C,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,kDAAkD,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;AACzF,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,SAAc;IAC7C,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,kCAAkC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;AACzE,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,oBAAoB,CAAC,MAAc;IACvD,MAAM,YAAY,GAAG;QACnB,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,4BAA4B;QACpC,MAAM,EAAE;YACN,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,8BAA8B;YACrC,OAAO,EAAE,kEAAkE;YAC3E,QAAQ,EAAE;gBACR,iEAAiE;gBACjE,wDAAwD;gBACxD,+DAA+D;gBAC/D,2DAA2D;aAC5D;YACD,OAAO,EAAE;gBACP,KAAK,EAAE,6BAA6B;gBACpC,aAAa,EAAE,UAAU;gBACzB,MAAM,EAAE,aAAa;aACtB;YACD,OAAO,EAAE;gBACP,gBAAgB,EAAE,YAAY;gBAC9B,aAAa,EAAE,GAAG;gBAClB,KAAK,EAAE;oBACL,OAAO,EAAE,+BAA+B;oBACxC,GAAG,EAAE,gCAAgC;iBACtC;aACF;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,yEAAyE;gBACjF,OAAO,EAAE,gDAAgD;gBACzD,GAAG,EAAE,gDAAgD;aACtD;YACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC;KACF,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IAEtE,mEAAmE;IACnE,8CAA8C;IAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAE1C,mCAAmC;IACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QACzB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,sBAAsB;QAC5B,YAAY,EAAE,gBAAgB,CAAC,IAAI;QACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,4BAA4B,CAAC,MAAc;IAC/D,MAAM,YAAY,GAAG;QACnB,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,6BAA6B;QACrC,MAAM,EAAE;YACN,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,qCAAqC;YAC9C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC;KACF,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,MAAc;IACpD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE3C,qEAAqE;IACrE,UAAU,CAAC,GAAG,EAAE;QACd,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,wCAAwC;AACpD,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Sentry error tracking for LeafEngines MCP Server
3
+ *
4
+ * Provides centralized error tracking and monitoring
5
+ */
6
+ import * as Sentry from '@sentry/node';
7
+ export declare function initializeSentry(): typeof Sentry | null;
8
+ export declare const sentryTracking: {
9
+ captureError: (error: Error, context?: any) => void;
10
+ captureMessage: (message: string, level?: Sentry.SeverityLevel, context?: any) => void;
11
+ setUserContext: (userId: string, email?: string, additionalData?: any) => void;
12
+ clearUserContext: () => void;
13
+ addBreadcrumb: (message: string, category: string, data?: any) => void;
14
+ startTransaction: (name: string, operation: string) => any;
15
+ };
16
+ export default Sentry;
17
+ //# sourceMappingURL=sentry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sentry.d.ts","sourceRoot":"","sources":["../src/sentry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAIvC,wBAAgB,gBAAgB,yBA4C/B;AAGD,eAAO,MAAM,cAAc;0BAEH,KAAK,YAAY,GAAG;8BAgBhB,MAAM,UAAS,MAAM,CAAC,aAAa,YAAqB,GAAG;6BAsB5D,MAAM,UAAU,MAAM,mBAAmB,GAAG;;6BAkB5C,MAAM,YAAY,MAAM,SAAS,GAAG;6BAapC,MAAM,aAAa,MAAM;CAanD,CAAC;AAGF,eAAe,MAAM,CAAC"}
package/dist/sentry.js ADDED
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ /**
3
+ * Sentry error tracking for LeafEngines MCP Server
4
+ *
5
+ * Provides centralized error tracking and monitoring
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.sentryTracking = void 0;
42
+ exports.initializeSentry = initializeSentry;
43
+ const Sentry = __importStar(require("@sentry/node"));
44
+ const logger_js_1 = require("./logger.js");
45
+ // Initialize Sentry if DSN is provided
46
+ function initializeSentry() {
47
+ const dsn = process.env.SENTRY_DSN;
48
+ if (!dsn) {
49
+ logger_js_1.logging.businessEvent('sentry_disabled', { reason: 'no_dsn' });
50
+ return null;
51
+ }
52
+ try {
53
+ Sentry.init({
54
+ dsn,
55
+ environment: process.env.NODE_ENV || 'production',
56
+ release: process.env.npm_package_version || '1.1.9',
57
+ tracesSampleRate: parseFloat(process.env.SENTRY_TRACES_SAMPLE_RATE || '0.1'),
58
+ profilesSampleRate: parseFloat(process.env.SENTRY_PROFILES_SAMPLE_RATE || '0.0'),
59
+ // Performance monitoring
60
+ integrations: [
61
+ new Sentry.Integrations.Http({ tracing: true }),
62
+ new Sentry.Integrations.Express(),
63
+ new Sentry.Integrations.OnUncaughtException(),
64
+ new Sentry.Integrations.OnUnhandledRejection(),
65
+ ],
66
+ // Filter out common non-errors
67
+ beforeSend(event) {
68
+ // Filter out specific error types if needed
69
+ return event;
70
+ },
71
+ // Debug logging in development
72
+ debug: process.env.NODE_ENV === 'development',
73
+ });
74
+ logger_js_1.logging.businessEvent('sentry_initialized', {
75
+ environment: process.env.NODE_ENV || 'production',
76
+ sample_rate: parseFloat(process.env.SENTRY_TRACES_SAMPLE_RATE || '0.1')
77
+ });
78
+ return Sentry;
79
+ }
80
+ catch (error) {
81
+ logger_js_1.logging.error('sentry_initialization', error);
82
+ return null;
83
+ }
84
+ }
85
+ // Error tracking utilities
86
+ exports.sentryTracking = {
87
+ // Capture error with context
88
+ captureError: (error, context) => {
89
+ if (Sentry.getCurrentHub().getClient()) {
90
+ Sentry.captureException(error, {
91
+ extra: context,
92
+ tags: {
93
+ service: 'leafengines-mcp-server',
94
+ version: process.env.npm_package_version || '1.1.9'
95
+ }
96
+ });
97
+ }
98
+ // Also log locally
99
+ logger_js_1.logging.error('sentry_captured', error, context);
100
+ },
101
+ // Capture message (non-error events)
102
+ captureMessage: (message, level = 'info', context) => {
103
+ if (Sentry.getCurrentHub().getClient()) {
104
+ Sentry.captureMessage(message, {
105
+ level,
106
+ extra: context,
107
+ tags: {
108
+ service: 'leafengines-mcp-server',
109
+ version: process.env.npm_package_version || '1.1.9'
110
+ }
111
+ });
112
+ }
113
+ // Also log locally
114
+ logger.info({
115
+ event: 'sentry_message',
116
+ message,
117
+ level,
118
+ ...context
119
+ }, message);
120
+ },
121
+ // Set user context for authenticated requests
122
+ setUserContext: (userId, email, additionalData) => {
123
+ if (Sentry.getCurrentHub().getClient()) {
124
+ Sentry.setUser({
125
+ id: userId,
126
+ email: email,
127
+ ...additionalData
128
+ });
129
+ }
130
+ },
131
+ // Clear user context (for anonymous requests)
132
+ clearUserContext: () => {
133
+ if (Sentry.getCurrentHub().getClient()) {
134
+ Sentry.setUser(null);
135
+ }
136
+ },
137
+ // Add breadcrumb for tracing
138
+ addBreadcrumb: (message, category, data) => {
139
+ if (Sentry.getCurrentHub().getClient()) {
140
+ Sentry.addBreadcrumb({
141
+ message,
142
+ category,
143
+ data,
144
+ level: 'info',
145
+ timestamp: Date.now() / 1000
146
+ });
147
+ }
148
+ },
149
+ // Start a transaction for performance monitoring
150
+ startTransaction: (name, operation) => {
151
+ if (Sentry.getCurrentHub().getClient()) {
152
+ return Sentry.startTransaction({
153
+ name,
154
+ op: operation,
155
+ description: `${operation} - ${name}`,
156
+ metadata: {
157
+ source: 'leafengines-mcp-server'
158
+ }
159
+ });
160
+ }
161
+ return null;
162
+ }
163
+ };
164
+ // Export Sentry instance
165
+ exports.default = Sentry;
166
+ //# sourceMappingURL=sentry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sentry.js","sourceRoot":"","sources":["../src/sentry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ancientwhispers54/leafengines-mcp-server",
3
- "version": "1.1.9",
3
+ "version": "2.0.1",
4
4
  "mcpName": "io.github.QWarranto/leafengines",
5
5
  "description": "Agricultural intelligence MCP server with soil analysis, crop recommendations, weather forecasts, and environmental impact assessment.",
6
6
  "main": "dist/index.js",
@@ -32,7 +32,11 @@
32
32
  "license": "Apache-2.0",
33
33
  "dependencies": {
34
34
  "@modelcontextprotocol/sdk": "^0.6.0",
35
- "axios": "^1.6.0"
35
+ "axios": "^1.6.0",
36
+ "pino": "^9.0.0",
37
+ "pino-pretty": "^11.0.0",
38
+ "@sentry/node": "^8.0.0",
39
+ "prom-client": "^15.0.0"
36
40
  },
37
41
  "devDependencies": {
38
42
  "@types/node": "^20.0.0",