mirror of
https://github.com/czlonkowski/n8n-mcp.git
synced 2026-02-06 13:33:11 +00:00
feat: add anonymous telemetry system with Supabase integration
- Implement telemetry manager for tracking tool usage and workflows - Add workflow sanitizer to remove sensitive data before storage - Create config manager with opt-in/opt-out mechanism - Integrate telemetry tracking into MCP server and workflow handlers - Add CLI commands for telemetry control (enable/disable/status) - Show first-run notice with clear privacy information - Add comprehensive unit tests for sanitization and config - Track tool usage metrics, workflow patterns, and errors - Ensure complete anonymity with deterministic user IDs - Never collect URLs, API keys, or sensitive information
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
import { N8NDocumentationMCPServer } from './server';
|
||||
import { logger } from '../utils/logger';
|
||||
import { TelemetryConfigManager } from '../telemetry/config-manager';
|
||||
|
||||
// Add error details to stderr for Claude Desktop debugging
|
||||
process.on('uncaughtException', (error) => {
|
||||
@@ -21,8 +22,42 @@ process.on('unhandledRejection', (reason, promise) => {
|
||||
});
|
||||
|
||||
async function main() {
|
||||
// Handle telemetry CLI commands
|
||||
const args = process.argv.slice(2);
|
||||
if (args.length > 0 && args[0] === 'telemetry') {
|
||||
const telemetryConfig = TelemetryConfigManager.getInstance();
|
||||
const action = args[1];
|
||||
|
||||
switch (action) {
|
||||
case 'enable':
|
||||
telemetryConfig.enable();
|
||||
process.exit(0);
|
||||
break;
|
||||
case 'disable':
|
||||
telemetryConfig.disable();
|
||||
process.exit(0);
|
||||
break;
|
||||
case 'status':
|
||||
console.log(telemetryConfig.getStatus());
|
||||
process.exit(0);
|
||||
break;
|
||||
default:
|
||||
console.log(`
|
||||
Usage: n8n-mcp telemetry [command]
|
||||
|
||||
Commands:
|
||||
enable Enable anonymous telemetry
|
||||
disable Disable anonymous telemetry
|
||||
status Show current telemetry status
|
||||
|
||||
Learn more: https://github.com/czlonkowski/n8n-mcp/privacy
|
||||
`);
|
||||
process.exit(args[1] ? 1 : 0);
|
||||
}
|
||||
}
|
||||
|
||||
const mode = process.env.MCP_MODE || 'stdio';
|
||||
|
||||
|
||||
try {
|
||||
// Only show debug messages in HTTP mode to avoid corrupting stdio communication
|
||||
if (mode === 'http') {
|
||||
|
||||
Reference in New Issue
Block a user