create static method
Create and configure the server
Implementation
static Future<BoostMcpServer> create({
String? projectPath,
bool verbose = false,
}) async {
// Set project root from argument if provided
if (projectPath != null && projectPath.isNotEmpty) {
// Temporarily set environment variable for detection
// Note: This won't modify Platform.environment directly
// Instead, we'll pass it to ServerPodLocator
}
// Detect ServerPod project
final project = projectPath != null && projectPath.isNotEmpty
? ServerPodLocator.getProject(currentPath: projectPath)
: ServerPodLocator.getProject();
if (project == null || !project.isValid) {
throw StateError('Not a valid ServerPod project');
}
// Create server with name, version, and capabilities
final server = Server(
name: 'serverpod-boost',
version: '0.1.0',
capabilities: ServerCapabilities.simple(
tools: true,
resources: false,
prompts: false,
),
);
// Register all tools via adapter
for (final tool in BoostToolRegistry.allTools()) {
adaptMcpToolToServer(tool, server);
}
return BoostMcpServer._(
server: server,
project: project,
verbose: verbose,
);
}