manual-extraction-script.jsā¢4.92 kB
/**
* Manual Browser Console Extraction Script v1.0.0
* Copy and paste this script into the browser console while on composer.euconquisto.com
*
* Instructions:
* 1. Open your existing Chromium browser with Composer
* 2. Open Developer Tools (F12 or Cmd+Option+I on Mac)
* 3. Go to the Console tab
* 4. Copy and paste this entire script
* 5. Press Enter to run
* 6. Copy the generated configuration
*/
(function extractAuthConfig() {
console.log('š Manual Authentication Extraction v1.0.0');
console.log('=====================================\n');
try {
// Extract localStorage data
const activeProject = localStorage.getItem('rdp-composer-active-project');
const userData = localStorage.getItem('rdp-composer-user-data');
if (!activeProject || !userData) {
console.error('ā localStorage data not found. Please ensure you are logged into Composer.');
return;
}
const projectData = JSON.parse(activeProject);
const userDataParsed = JSON.parse(userData);
// Extract essential data
const authConfig = {
extractedAt: new Date().toISOString(),
accessToken: userDataParsed.access_token,
tokenType: userDataParsed.token_type || 'Bearer',
projectUid: projectData.uid,
projectName: projectData.name || 'Unknown Project',
connectors: projectData.connectors.map(c => ({
uid: c.uid,
name: c.name,
type: c.type,
permissions: c.permissions || []
})),
userInfo: {
uid: userDataParsed.uid,
name: userDataParsed.name,
email: userDataParsed.email
}
};
console.log('ā
Authentication data extracted successfully!');
console.log(` Project: ${authConfig.projectName} (${authConfig.projectUid})`);
console.log(` User: ${authConfig.userInfo.name} (${authConfig.userInfo.email})`);
console.log(` Token Type: ${authConfig.tokenType}`);
console.log(` Token Length: ${authConfig.accessToken.length} characters`);
console.log(` Connectors: ${authConfig.connectors.length} available\n`);
// Generate environment file content
const envContent = `# EuConquisto Composer Direct API Authentication
# Generated on: ${authConfig.extractedAt}
# Source: Manual browser console extraction
# Full JWT Access Token
EUCONQUISTO_ACCESS_TOKEN="${authConfig.accessToken}"
# Token Type (usually Bearer)
EUCONQUISTO_TOKEN_TYPE="${authConfig.tokenType}"
# Project Information
EUCONQUISTO_PROJECT_UID="${authConfig.projectUid}"
EUCONQUISTO_PROJECT_NAME="${authConfig.projectName}"
# Connectors (JSON format)
EUCONQUISTO_CONNECTORS='${JSON.stringify(authConfig.connectors)}'
# User Information (optional)
EUCONQUISTO_USER_UID="${authConfig.userInfo.uid}"
EUCONQUISTO_USER_NAME="${authConfig.userInfo.name}"
EUCONQUISTO_USER_EMAIL="${authConfig.userInfo.email}"
`;
// Generate MCP config
const mcpConfig = {
"mcpServers": {
"euconquisto-composer-direct": {
"command": "node",
"args": [
"--max-old-space-size=4096",
"/path/to/euconquisto-composer-mcp-poc/dist/index.js"
],
"env": {
"NODE_ENV": "production",
"EUCONQUISTO_ACCESS_TOKEN": authConfig.accessToken,
"EUCONQUISTO_TOKEN_TYPE": authConfig.tokenType,
"EUCONQUISTO_PROJECT_UID": authConfig.projectUid,
"EUCONQUISTO_CONNECTORS": JSON.stringify(authConfig.connectors),
"EUCONQUISTO_USER_UID": authConfig.userInfo.uid,
"EUCONQUISTO_USER_NAME": authConfig.userInfo.name
}
}
}
};
console.log('š STEP 1: Create file config/direct-api.env with this content:');
console.log('='.repeat(70));
console.log(envContent);
console.log('='.repeat(70));
console.log('\nš STEP 2: Create file config/claude-desktop-config-direct-api.json:');
console.log('='.repeat(70));
console.log(JSON.stringify(mcpConfig, null, 2));
console.log('='.repeat(70));
console.log('\nšÆ NEXT STEPS:');
console.log('1. Save the environment file to: config/direct-api.env');
console.log('2. Save the MCP config to: config/claude-desktop-config-direct-api.json');
console.log('3. Add config/direct-api.env to .gitignore for security');
console.log('4. Test with: source config/direct-api.env && node src/tools/direct-api-client.js');
console.log('\nā
Extraction complete! Copy the configurations above.');
// Also create a downloadable version
const blob = new Blob([envContent], { type: 'text/plain' });
const url = URL.createObjectURL(blob);
console.log('\nš¾ Or download the .env file:', url);
console.log(' (Copy this URL to download the environment file)');
} catch (error) {
console.error('ā Extraction error:', error.message);
console.error(error);
}
})();