manifest.json 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. {
  2. "id": "piconotes",
  3. "name": "PicoNotes",
  4. "version": "2.1.0",
  5. "description": "PicoNotes note-taking integration — manage pages, content, sharing, locks, and images via REST API.",
  6. "author": "Ferenc Szontagh & Zoë",
  7. "autoStart": false,
  8. "main": "index.js",
  9. "config": [
  10. {
  11. "key": "api_key",
  12. "type": "vault",
  13. "description": "PicoNotes API key (get it from Settings > API Keys)",
  14. "required": true
  15. }
  16. ],
  17. "permissions": {
  18. "allowNetwork": true,
  19. "network": {
  20. "allowed_domains": ["piconotes.eu"],
  21. "allowed_operations": ["GET", "POST", "PATCH", "DELETE"]
  22. }
  23. },
  24. "tools": [
  25. {
  26. "name": "pages",
  27. "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).",
  28. "parameters": {
  29. "type": "object",
  30. "properties": {
  31. "action": {
  32. "type": "string",
  33. "description": "Operation to perform",
  34. "enum": ["list", "get", "create", "update", "delete", "get_content", "update_content", "list_versions"]
  35. },
  36. "page_id": {
  37. "type": "string",
  38. "description": "Page ID (required for all actions except list and create)"
  39. },
  40. "title": {
  41. "type": "string",
  42. "description": "Page title (required for create, optional for update)"
  43. },
  44. "content": {
  45. "type": "string",
  46. "description": "Markdown content (required for update_content)"
  47. },
  48. "icon": {
  49. "type": "string",
  50. "description": "Lucide icon name (e.g. 'FileText', 'Star', 'Rocket')"
  51. },
  52. "parent_id": {
  53. "type": "string",
  54. "description": "Parent page ID for nesting (null for root). For list action, use 'null' to filter root pages only."
  55. },
  56. "sort_order": {
  57. "type": "integer",
  58. "description": "Display order within parent (default: 0)"
  59. },
  60. "order": {
  61. "type": "string",
  62. "description": "Sort order for list action (e.g. 'sort_order.asc', 'created_at.desc')"
  63. },
  64. "is_template": {
  65. "type": "integer",
  66. "description": "0 = normal page, 1 = template (create only)"
  67. }
  68. },
  69. "required": ["action"]
  70. }
  71. },
  72. {
  73. "name": "sharing",
  74. "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.",
  75. "parameters": {
  76. "type": "object",
  77. "properties": {
  78. "action": {
  79. "type": "string",
  80. "description": "Operation to perform",
  81. "enum": ["list_links", "create_link", "delete_link", "check_lock", "acquire_lock", "release_lock"]
  82. },
  83. "page_id": {
  84. "type": "string",
  85. "description": "Page ID (required for all actions except delete_link)"
  86. },
  87. "link_id": {
  88. "type": "string",
  89. "description": "Share link ID (required for delete_link)"
  90. },
  91. "permission": {
  92. "type": "string",
  93. "description": "Share permission: 'view' or 'edit' (for create_link)",
  94. "enum": ["view", "edit"]
  95. },
  96. "short_code": {
  97. "type": "string",
  98. "description": "Custom URL slug for share link (optional)"
  99. },
  100. "expires_at": {
  101. "type": "string",
  102. "description": "Share link expiration in ISO 8601 (e.g. '2026-12-31T23:59:59Z')"
  103. },
  104. "display_name": {
  105. "type": "string",
  106. "description": "Lock holder display name (for acquire_lock, default: 'ShadowMan')"
  107. }
  108. },
  109. "required": ["action"]
  110. }
  111. },
  112. {
  113. "name": "images",
  114. "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.",
  115. "parameters": {
  116. "type": "object",
  117. "properties": {
  118. "action": {
  119. "type": "string",
  120. "description": "Operation to perform",
  121. "enum": ["list", "upload", "delete", "create_alias", "list_usage", "track_usage"]
  122. },
  123. "filename": {
  124. "type": "string",
  125. "description": "Image filename (for upload, delete)"
  126. },
  127. "content_type": {
  128. "type": "string",
  129. "description": "MIME type for upload (e.g. 'image/jpeg', 'image/png')"
  130. },
  131. "image_data": {
  132. "type": "string",
  133. "description": "Base64 encoded image data (for upload)"
  134. },
  135. "image_path": {
  136. "type": "string",
  137. "description": "Image path in storage (for create_alias)"
  138. },
  139. "page_id": {
  140. "type": "string",
  141. "description": "Page ID (for list_usage, track_usage)"
  142. },
  143. "file_id": {
  144. "type": "string",
  145. "description": "Storage file ID (for track_usage)"
  146. },
  147. "alias_url": {
  148. "type": "string",
  149. "description": "Public alias URL (for track_usage)"
  150. }
  151. },
  152. "required": ["action"]
  153. }
  154. }
  155. ]
  156. }