msfs-mcp-server
Version:
Model Context Protocol server for Microsoft Flight Simulator SimConnect integration
58 lines (49 loc) • 2.17 kB
JavaScript
import { readFileSync, writeFileSync, existsSync } from 'fs';
import { join } from 'path';
import { homedir } from 'os';
console.log('🚀 MSFS SimConnect MCP Server Configuration Tool');
console.log('===============================================');
// Detect the installation path
const serverPath = process.platform === 'win32'
? 'C:\\Users\\' + process.env.USERNAME + '\\AppData\\Roaming\\npm\\node_modules\\msfs-mcp-server\\bin\\msfs-mcp-server.js'
: join(process.cwd(), 'bin', 'msfs-mcp-server.js');
console.log(`📍 Server path: ${serverPath}`);
// Claude Desktop config path
const configPath = process.platform === 'win32'
? join(homedir(), 'AppData', 'Roaming', 'Claude', 'claude_desktop_config.json')
: join(homedir(), '.config', 'claude', 'claude_desktop_config.json');
console.log(`📍 Claude config: ${configPath}`);
// Read existing config or create new one
let config = { mcpServers: {} };
if (existsSync(configPath)) {
try {
config = JSON.parse(readFileSync(configPath, 'utf8'));
} catch (error) {
console.warn('⚠️ Could not parse existing config, creating new one');
}
}
// Add MSFS MCP server configuration
config.mcpServers = config.mcpServers || {};
config.mcpServers['msfs-simconnect'] = {
command: 'msfs-mcp-server'
};
// Write updated config
try {
writeFileSync(configPath, JSON.stringify(config, null, 2));
console.log('✅ Claude Desktop configuration updated!');
console.log('');
console.log('📖 Next steps:');
console.log('1. Restart Claude Desktop completely');
console.log('2. Start Microsoft Flight Simulator');
console.log('3. Load a flight (not just main menu)');
console.log('4. Test the connection with: "Connect to MSFS"');
console.log('');
console.log('⚠️ Important: This server must run on Windows (not WSL2) to access SimConnect');
} catch (error) {
console.error('❌ Failed to write config:', error.message);
console.log('');
console.log('🔧 Manual configuration required:');
console.log(`Add this to ${configPath}:`);
console.log(JSON.stringify({ mcpServers: { 'msfs-simconnect': { command: 'msfs-mcp-server' } } }, null, 2));
}