Skip to main content
Glama

MCP-NOSTR

by pablof7z
config.ts2.7 kB
import { existsSync, readFileSync, writeFileSync } from "node:fs"; import { homedir } from "node:os"; import { join } from "node:path"; // Define interfaces for config structure export interface UserData { nsec?: string; npub?: string; display_name?: string; about?: string; profile?: { name?: string; about?: string; picture?: string; }; } export interface ConfigData { privateKey?: string; bunker?: string; bunkerLocalKey?: string; dbPath?: string; relays?: string[]; wotFrom?: string; mcpCommands?: string[]; users?: Record<string, UserData>; editor?: string; } // Path to the config file const CONFIG_PATH = join(homedir(), ".tenex-tools.json"); /** * Read the config file and parse its contents * @returns The parsed config data */ export function readConfig(): ConfigData { let config: ConfigData = {}; if (existsSync(CONFIG_PATH)) { try { config = JSON.parse(readFileSync(CONFIG_PATH, "utf-8")); } catch (err) { console.error("Error reading config file:", err); } } // Ensure config is an object return config ?? {}; } /** * Write config data to the config file * @param config The config data to write */ export function writeConfig(config: ConfigData): void { writeFileSync(CONFIG_PATH, JSON.stringify(config, null, 2)); } /** * Get a user from the config by username * @param username The username to look up * @returns The user data if found, undefined otherwise */ export function getUser(username: string): UserData | undefined { const config = readConfig(); return config.users?.[username]; } /** * Save a user to the config * @param username The username to save * @param userData The user data to save */ export function saveUser(username: string, userData: UserData): void { const config = readConfig(); if (!config.users) { config.users = {}; } config.users[username] = userData; writeConfig(config); } /** * Get all users from the config * @returns A record of all users */ export function getAllUsers(): Record<string, UserData> { const config = readConfig(); return config.users || {}; } /** * Get the path to the config file * @returns The path to the config file */ export function getConfigPath(): string { return CONFIG_PATH; } /** * Ensure the config has a default database path * @returns The updated config */ export function initConfig(): ConfigData { const config = readConfig(); if (!config.dbPath) { config.dbPath = join(homedir(), ".tenex-tools.db"); writeConfig(config); } return config; }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pablof7z/mcp-code'

If you have feedback or need assistance with the MCP directory API, please join our Discord server