opendoor-mcp
Version:
Production-grade MCP server with multi-language code execution, VS Code integration, and browser automation
114 lines • 4.99 kB
JavaScript
import { SUPPORTED_LANGUAGES } from '../types/McpTypes.js';
export const systemConfigResource = {
definition: {
uri: "opendoor://config/system",
name: "system_config",
description: "System configuration and capabilities information",
mimeType: "application/json"
},
async read(services) {
try {
const config = {
server: {
name: "Opendoor MCP Server",
version: "2.0.0",
description: "Production-ready MCP server with multi-language support and containerized execution",
capabilities: [
"Multi-language code execution",
"VS Code development environments",
"Playwright browser automation",
"Session management",
"Container isolation",
"Security controls"
]
},
languages: {
supported: Object.keys(SUPPORTED_LANGUAGES),
details: SUPPORTED_LANGUAGES
},
session_types: {
execution: {
description: "Temporary code execution environment",
features: ["Code execution", "File I/O", "Package installation"],
default_memory: "2g",
max_timeout: "5m"
},
vscode: {
description: "Full VS Code development environment",
features: ["IDE interface", "Terminal access", "File management", "Extensions"],
default_memory: "4g",
ports: ["VS Code web interface", "Development server ports"]
},
playwright: {
description: "Browser automation environment",
features: ["Browser control", "Web scraping", "UI testing", "Screenshot capture"],
default_memory: "4g",
browsers: ["chromium", "firefox", "webkit"]
}
},
container_config: {
execution_method: "Local processes with isolation",
memory_options: ["1g", "2g", "4g", "8g"],
network_isolation: true,
security_policies: [
"No internet access by default",
"Limited filesystem access",
"Resource quotas enforced",
"Process isolation"
]
},
endpoints: {
stdio: {
description: "Standard MCP protocol over stdio",
usage: "Direct integration with MCP clients"
}
},
security: {
rate_limiting: {
enabled: true,
requests_per_minute: 100
},
authentication: {
supported: ["API Key", "JWT"],
required: false
},
code_validation: {
enabled: true,
patterns_checked: "Dangerous code patterns blocked",
sandboxing: "Isolated execution environments"
}
},
performance: {
boot_time: "< 3 seconds",
session_creation: "< 10 seconds",
code_execution: "< 30 seconds default timeout",
concurrent_sessions: "Limited by system resources"
},
environment: {
node_version: process.version,
platform: process.platform,
architecture: process.arch,
uptime: Math.floor(process.uptime()),
memory_usage: {
rss: Math.round(process.memoryUsage().rss / 1024 / 1024),
heap_used: Math.round(process.memoryUsage().heapUsed / 1024 / 1024),
heap_total: Math.round(process.memoryUsage().heapTotal / 1024 / 1024)
}
}
};
return {
contents: [
{
uri: "opendoor://config/system",
mimeType: "application/json",
text: JSON.stringify(config, null, 2)
}
]
};
}
catch (error) {
throw new Error(`Failed to read system configuration: ${error instanceof Error ? error.message : 'Unknown error'}`);
}
}
};
//# sourceMappingURL=SystemConfigResource.js.map