Skip to main content
Glama

TriliumNext Notes' MCP Server

permissionUtils.ts1.93 kB
/** * Permission Utilities * Permission checking interface and utilities for MCP server */ /** * Permission Checker Interface * Defines the contract for permission validation across all MCP handlers */ export interface PermissionChecker { hasPermission(permission: string): boolean; } /** * Create a permission checker from environment variable * @param permissionsString - Semicolon-separated permissions string (e.g., "READ;WRITE") * @returns PermissionChecker instance */ export function createPermissionChecker(permissionsString: string = 'READ'): PermissionChecker { const permissions = permissionsString.split(';').filter(p => p.trim()); return { hasPermission(permission: string): boolean { return permissions.includes(permission); } }; } /** * Default permission types used in the MCP server */ export const PERMISSION_TYPES = { READ: 'READ', WRITE: 'WRITE' } as const; /** * Permission utility functions for common checks */ export const PermissionUtils = { /** * Check if a permission checker has READ permission */ hasReadPermission(checker: PermissionChecker): boolean { return checker.hasPermission(PERMISSION_TYPES.READ); }, /** * Check if a permission checker has WRITE permission */ hasWritePermission(checker: PermissionChecker): boolean { return checker.hasPermission(PERMISSION_TYPES.WRITE); }, /** * Check if a permission checker has both READ and WRITE permissions */ hasFullAccess(checker: PermissionChecker): boolean { return PermissionUtils.hasReadPermission(checker) && PermissionUtils.hasWritePermission(checker); }, /** * Get available permissions as an array */ getAvailablePermissions(checker: PermissionChecker): string[] { const allPermissions = Object.values(PERMISSION_TYPES); return allPermissions.filter(permission => checker.hasPermission(permission)); } } as const;

Latest Blog Posts

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/tan-yong-sheng/triliumnext-mcp'

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