{ "id": "piconotes", "name": "PicoNotes", "version": "2.1.0", "description": "PicoNotes note-taking integration — manage pages, content, sharing, locks, and images via REST API.", "author": "ShadowMan", "autoStart": false, "main": "index.js", "config": [ { "key": "api_key", "type": "vault", "description": "PicoNotes API key (get it from Settings > API Keys)", "required": true } ], "permissions": { "allowNetwork": true, "network": { "allowed_domains": ["piconotes.eu"], "allowed_operations": ["GET", "POST", "PATCH", "DELETE"] } }, "tools": [ { "name": "pages", "description": "Manage PicoNotes pages and their markdown content. Actions: list (all pages), get (metadata by ID), create, update (metadata), delete, get_content (markdown), update_content (markdown), list_versions (content history).", "parameters": { "type": "object", "properties": { "action": { "type": "string", "description": "Operation to perform", "enum": ["list", "get", "create", "update", "delete", "get_content", "update_content", "list_versions"] }, "page_id": { "type": "string", "description": "Page ID (required for all actions except list and create)" }, "title": { "type": "string", "description": "Page title (required for create, optional for update)" }, "content": { "type": "string", "description": "Markdown content (required for update_content)" }, "icon": { "type": "string", "description": "Lucide icon name (e.g. 'FileText', 'Star', 'Rocket')" }, "parent_id": { "type": "string", "description": "Parent page ID for nesting (null for root). For list action, use 'null' to filter root pages only." }, "sort_order": { "type": "integer", "description": "Display order within parent (default: 0)" }, "order": { "type": "string", "description": "Sort order for list action (e.g. 'sort_order.asc', 'created_at.desc')" }, "is_template": { "type": "integer", "description": "0 = normal page, 1 = template (create only)" } }, "required": ["action"] } }, { "name": "sharing", "description": "Manage share links and edit locks for PicoNotes pages. Actions: list_links, create_link (public URL), delete_link, check_lock, acquire_lock, release_lock.", "parameters": { "type": "object", "properties": { "action": { "type": "string", "description": "Operation to perform", "enum": ["list_links", "create_link", "delete_link", "check_lock", "acquire_lock", "release_lock"] }, "page_id": { "type": "string", "description": "Page ID (required for all actions except delete_link)" }, "link_id": { "type": "string", "description": "Share link ID (required for delete_link)" }, "permission": { "type": "string", "description": "Share permission: 'view' or 'edit' (for create_link)", "enum": ["view", "edit"] }, "short_code": { "type": "string", "description": "Custom URL slug for share link (optional)" }, "expires_at": { "type": "string", "description": "Share link expiration in ISO 8601 (e.g. '2026-12-31T23:59:59Z')" }, "display_name": { "type": "string", "description": "Lock holder display name (for acquire_lock, default: 'ShadowMan')" } }, "required": ["action"] } }, { "name": "images", "description": "Manage images in PicoNotes storage. Actions: list (all images), upload, delete, create_alias (public URL), list_usage (images used by a page), track_usage.", "parameters": { "type": "object", "properties": { "action": { "type": "string", "description": "Operation to perform", "enum": ["list", "upload", "delete", "create_alias", "list_usage", "track_usage"] }, "filename": { "type": "string", "description": "Image filename (for upload, delete)" }, "content_type": { "type": "string", "description": "MIME type for upload (e.g. 'image/jpeg', 'image/png')" }, "image_data": { "type": "string", "description": "Base64 encoded image data (for upload)" }, "image_path": { "type": "string", "description": "Image path in storage (for create_alias)" }, "page_id": { "type": "string", "description": "Page ID (for list_usage, track_usage)" }, "file_id": { "type": "string", "description": "Storage file ID (for track_usage)" }, "alias_url": { "type": "string", "description": "Public alias URL (for track_usage)" } }, "required": ["action"] } } ] }