@squirrelnotes.app/mcp 1.29.3 → 1.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22582,6 +22582,7 @@ var init_mcplog = __esm({
22582
22582
  // src/server.ts
22583
22583
  var server_exports = {};
22584
22584
  __export(server_exports, {
22585
+ MARKDOWN_CAPABILITIES_DESCRIPTION: () => MARKDOWN_CAPABILITIES_DESCRIPTION,
22585
22586
  createMcpServer: () => createMcpServer,
22586
22587
  handleRequest: () => handleRequest,
22587
22588
  inferMimeType: () => inferMimeType
@@ -22659,6 +22660,22 @@ function inferMimeType(filePath) {
22659
22660
  }
22660
22661
  function createMcpServer(creds, opts = {}) {
22661
22662
  const server2 = new McpServer({ name: "squirrel-notes", version: "1.0.0" });
22663
+ server2.prompt(
22664
+ "markdown_capabilities",
22665
+ "Describes the Markdown and Mermaid diagram features supported by Squirrel Notes. Use this to understand what rich content you can include when creating or updating notes.",
22666
+ {},
22667
+ () => ({
22668
+ messages: [
22669
+ {
22670
+ role: "user",
22671
+ content: {
22672
+ type: "text",
22673
+ text: MARKDOWN_CAPABILITIES_DESCRIPTION
22674
+ }
22675
+ }
22676
+ ]
22677
+ })
22678
+ );
22662
22679
  server2.tool(
22663
22680
  "list_notes",
22664
22681
  "List notes with decrypted titles. Use this as the starting point for most note operations. Supports optional filters: narrow by collection, tag, or pinned status. Returns tagIds so you can see which tags are applied without a separate call.",
@@ -22733,7 +22750,7 @@ function createMcpServer(creds, opts = {}) {
22733
22750
  );
22734
22751
  server2.tool(
22735
22752
  "create_note",
22736
- "Create a new note with a title and optional Markdown content. Optionally place it in a collection (omit collectionId to create in scratchpad). Do not use a smart collection ID \u2014 smart collections are computed automatically and notes cannot be manually placed in them.",
22753
+ "Create a new note with a title and optional Markdown content. Optionally place it in a collection (omit collectionId to create in scratchpad). Do not use a smart collection ID \u2014 smart collections are computed automatically and notes cannot be manually placed in them. The content field supports full Markdown including Mermaid diagrams \u2014 use fenced ```mermaid blocks to embed flowcharts, sequence diagrams, ERDs, Gantt charts, and more. See the markdown_capabilities prompt for details.",
22737
22754
  {
22738
22755
  title: external_exports.string().describe("Note title (plaintext \u2014 will be encrypted)"),
22739
22756
  content: external_exports.string().optional().describe("Note content in Markdown (will be encrypted)"),
@@ -22761,7 +22778,7 @@ function createMcpServer(creds, opts = {}) {
22761
22778
  );
22762
22779
  server2.tool(
22763
22780
  "update_note",
22764
- "Update the title and/or content of an existing note. To move a note to a different collection use move_note_to_collection. To pin/unpin a note use pin_note.",
22781
+ "Update the title and/or content of an existing note. To move a note to a different collection use move_note_to_collection. To pin/unpin a note use pin_note. The content field supports full Markdown including Mermaid diagrams \u2014 use fenced ```mermaid blocks to embed flowcharts, sequence diagrams, ERDs, Gantt charts, and more. See the markdown_capabilities prompt for details.",
22765
22782
  {
22766
22783
  id: external_exports.string().describe("Note ID"),
22767
22784
  title: external_exports.string().optional().describe("New title (plaintext)"),
@@ -22788,7 +22805,7 @@ function createMcpServer(creds, opts = {}) {
22788
22805
  );
22789
22806
  server2.tool(
22790
22807
  "append_to_note",
22791
- "Append text to the end of an existing note without replacing its content. Ideal for log notes, daily journals, or running lists. More efficient than get_note + update_note for append-only workflows.",
22808
+ "Append text to the end of an existing note without replacing its content. Ideal for log notes, daily journals, or running lists. More efficient than get_note + update_note for append-only workflows. Supports full Markdown including Mermaid diagram blocks.",
22792
22809
  {
22793
22810
  id: external_exports.string().describe("Note ID"),
22794
22811
  content: external_exports.string().describe("Markdown content to append"),
@@ -23576,7 +23593,7 @@ async function handleRequest(event, creds) {
23576
23593
  });
23577
23594
  return { statusCode: response.status, headers: responseHeaders, body: responseBody };
23578
23595
  }
23579
- var SQUIRREL_API_BASE_URL, AUDIT_INTERNAL_SECRET, MIME_TYPES;
23596
+ var SQUIRREL_API_BASE_URL, AUDIT_INTERNAL_SECRET, MIME_TYPES, MARKDOWN_CAPABILITIES_DESCRIPTION;
23580
23597
  var init_server3 = __esm({
23581
23598
  "src/server.ts"() {
23582
23599
  "use strict";
@@ -23606,6 +23623,30 @@ var init_server3 = __esm({
23606
23623
  mp4: "video/mp4",
23607
23624
  zip: "application/zip"
23608
23625
  };
23626
+ MARKDOWN_CAPABILITIES_DESCRIPTION = `Squirrel Notes renders notes as rich Markdown with the following capabilities:
23627
+
23628
+ - **Standard Markdown**: headings, bold, italic, lists, blockquotes, inline code, fenced code blocks, tables, links, images
23629
+ - **Mermaid diagrams**: fenced code blocks with the language tag \`mermaid\` are rendered as interactive diagrams in the app. Supported diagram types include:
23630
+ - Flowcharts (\`graph TD\` / \`flowchart LR\`)
23631
+ - Sequence diagrams (\`sequenceDiagram\`)
23632
+ - Entity-relationship diagrams (\`erDiagram\`)
23633
+ - Gantt charts (\`gantt\`)
23634
+ - Class diagrams (\`classDiagram\`)
23635
+ - State diagrams (\`stateDiagram-v2\`)
23636
+ - Pie charts (\`pie\`)
23637
+ - Mind maps (\`mindmap\`)
23638
+ - Timeline diagrams (\`timeline\`)
23639
+
23640
+ Use Mermaid diagrams whenever a visual representation would help: workflows, system architecture, data models, project timelines, etc.
23641
+
23642
+ Example Mermaid block:
23643
+ \`\`\`mermaid
23644
+ graph TD
23645
+ A[Start] --> B{Decision}
23646
+ B -->|Yes| C[Do it]
23647
+ B -->|No| D[Skip it]
23648
+ \`\`\`
23649
+ `;
23609
23650
  }
23610
23651
  });
23611
23652
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@squirrelnotes.app/mcp",
3
- "version": "1.29.3",
3
+ "version": "1.31.0",
4
4
  "description": "MCP stdio CLI for Squirrel Notes — bridges AI agents to the encrypted note-taking API",
5
5
  "type": "module",
6
6
  "bin": {