@every-env/sparkle-mcp-server
Version:
MCP server for secure Sparkle folder file access with Claude AI, including clipboard history support
45 lines • 1.42 kB
JavaScript
import * as fs from "fs/promises";
import * as path from "path";
import * as os from "os";
export const DEFAULT_CONFIG = {
sparkleFolder: "~/Sparkle",
maxFileSize: 100 * 1024 * 1024, // 100MB
allowedExtensions: ["*"],
autoIndex: true,
watcherEnabled: true,
appVersion: 'production',
serverPort: 8080,
};
export const loadConfig = async () => {
const configPath = path.join(os.homedir(), "Sparkle", ".mcp-config.json");
try {
const configData = await fs.readFile(configPath, "utf-8");
const config = JSON.parse(configData);
return {
...DEFAULT_CONFIG,
...config.settings,
};
}
catch (error) {
console.error("Using default configuration");
return DEFAULT_CONFIG;
}
};
export const saveConfig = async (config) => {
const configPath = path.join(os.homedir(), "Sparkle", ".mcp-config.json");
try {
const existingData = await fs.readFile(configPath, "utf-8");
const existing = JSON.parse(existingData);
existing.settings = {
...existing.settings,
...config,
};
existing.updated = new Date().toISOString();
await fs.writeFile(configPath, JSON.stringify(existing, null, 2));
}
catch (error) {
console.error("Error saving configuration:", error);
throw error;
}
};
//# sourceMappingURL=config.js.map