npm JavaScript analyzed 2.6.10

sweetrb/apple-notes-mcp

v2.6.10
npm

MCP server for Apple Notes - create, search, update, and manage notes via Claude and other AI assistants

maintainer
sweetrb
licence
MIT
first seen
2026-06-01
last seen
2026-09-17
releases · 30d
18
short id

Drift inferred · capture-to-capture

tool count over time

06-01 16:43 08-12 01:54 now
15t
2t
3t
capabilities 3 tools
transport stdio counts 3 tools · 0 res · 0 prompts permission surface via README inference

tools

  • ids

    string[]

  • notes

    object[]

  • tags

    string[]

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed v2.6.10 · analyzer v33 · 4w ago

skills & prompt files 4

danger signals1

code evidence v2.6.10 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 55

filesystem 18

  • fs (weak) sweetrb-apple-notes-mcp-de614a5/scripts/sync-plugin-version.mjs :1 import fs from "node:fs";
  • fs (weak) sweetrb-apple-notes-mcp-de614a5/scripts/sync-skills.mjs :11 import fs from "node:fs";
  • fs (weak) sweetrb-apple-notes-mcp-de614a5/src/claudeMdEscaping.test.ts :19 import { readFileSync } from "fs";
  • fs (weak) sweetrb-apple-notes-mcp-de614a5/src/docsTruth.test.ts :41 import { existsSync, readdirSync, readFileSync } from "fs";
  • fs (weak) sweetrb-apple-notes-mcp-de614a5/src/readmeEscaping.test.ts :28 import { readFileSync } from "fs";
  • fs (weak) sweetrb-apple-notes-mcp-de614a5/src/services/appleNotesManager.test.ts :15 import { writeFileSync, rmSync, mkdtempSync } from "node:fs";
  • fs sweetrb-apple-notes-mcp-de614a5/src/services/appleNotesManager.ts :46 import { existsSync } from "fs";
  • fs (weak) sweetrb-apple-notes-mcp-de614a5/src/services/attachmentSave.test.ts :7 import { writeFileSync, mkdtempSync } from "fs";
  • fs (weak) sweetrb-apple-notes-mcp-de614a5/src/services/fileConfig.test.ts :2 import { mkdtempSync, rmSync, writeFileSync } from "fs";
  • fs sweetrb-apple-notes-mcp-de614a5/src/services/fileConfig.ts :17 import { existsSync, readFileSync } from "fs";
  • fs (weak) sweetrb-apple-notes-mcp-de614a5/src/utils/attachmentFs.test.ts :10 } from "node:fs";
  • fs sweetrb-apple-notes-mcp-de614a5/src/utils/attachmentFs.ts :20 } from "fs";
show 6 more
  • fs (weak) sweetrb-apple-notes-mcp-de614a5/src/utils/checklistParser.test.ts :25 import { existsSync } from "fs";
  • fs sweetrb-apple-notes-mcp-de614a5/src/utils/checklistParser.ts :30 import * as fs from "fs";
  • fs (weak) sweetrb-apple-notes-mcp-de614a5/src/utils/noteMetadata.test.ts :19 import { existsSync } from "fs";
  • fs sweetrb-apple-notes-mcp-de614a5/src/utils/noteMetadata.ts :24 import * as fs from "fs";
  • fs (weak) sweetrb-apple-notes-mcp-de614a5/src/utils/syncDetection.test.ts :29 import * as fs from "fs";
  • fs sweetrb-apple-notes-mcp-de614a5/src/utils/syncDetection.ts :16 import * as fs from "fs";

shell / exec 16

  • shell (weak) sweetrb-apple-notes-mcp-de614a5/scripts/jxa-comparison.ts :11 import { execSync } from "child_process";
  • shell (weak) sweetrb-apple-notes-mcp-de614a5/src/docsTruth.test.ts :40 import { spawnSync } from "child_process";
  • shell (weak) sweetrb-apple-notes-mcp-de614a5/src/services/appleNotesManager.test.ts :3193 it("deletes the whole batch in a single osascript spawn (#26)", () => {
  • shell sweetrb-apple-notes-mcp-de614a5/src/services/appleNotesManager.ts :3000 // Collapse the whole batch into ONE osascript spawn (#26): a single
  • shell (weak) sweetrb-apple-notes-mcp-de614a5/src/tools/doctor.test.ts :14 import { spawnSync } from "child_process";
  • shell sweetrb-apple-notes-mcp-de614a5/src/tools/doctor.ts :11 import { spawnSync } from "child_process";
  • shell (weak) sweetrb-apple-notes-mcp-de614a5/src/utils/applescript.test.ts :4 * These tests mock the child_process.execFileSync function to avoid
  • shell sweetrb-apple-notes-mcp-de614a5/src/utils/applescript.ts :10 import { execFileSync } from "child_process";
  • shell (weak) sweetrb-apple-notes-mcp-de614a5/src/utils/checklistParser.test.ts :24 import { execFileSync } from "child_process";
  • shell sweetrb-apple-notes-mcp-de614a5/src/utils/checklistParser.ts :28 import { execFileSync } from "child_process";
  • shell (weak) sweetrb-apple-notes-mcp-de614a5/src/utils/jxa.test.ts :15 import { execFileSync } from "child_process";
  • shell sweetrb-apple-notes-mcp-de614a5/src/utils/jxa.ts :17 import { execFileSync } from "child_process";
show 4 more
  • shell (weak) sweetrb-apple-notes-mcp-de614a5/src/utils/noteMetadata.test.ts :18 import { execFileSync } from "child_process";
  • shell sweetrb-apple-notes-mcp-de614a5/src/utils/noteMetadata.ts :23 import { execFileSync } from "child_process";
  • shell (weak) sweetrb-apple-notes-mcp-de614a5/src/utils/syncDetection.test.ts :28 import { execFileSync } from "child_process";
  • shell sweetrb-apple-notes-mcp-de614a5/src/utils/syncDetection.ts :15 import { execFileSync } from "child_process";

install hooks 3

  • preinstall (suspicious) sweetrb-apple-notes-mcp-de614a5/package.json :19 node -e "const fs=require('fs');const ua=process.env.npm_config_user_agent||'';if(fs.existsSync('.git')&&!ua.startsWith('pnpm')){console.error('\nThis repo uses pnpm. npm/yarn resolve dependencies off
  • prepublishOnly sweetrb-apple-notes-mcp-de614a5/package.json :35 pnpm run lint && pnpm test && pnpm run build
  • prepare sweetrb-apple-notes-mcp-de614a5/package.json :36 husky; pnpm run build

declared dependencies 20

  • @modelcontextprotocol/sdk@^1.29.0
  • turndown@^7.2.2
  • zod@^3.22.4
  • @eslint/js@^9.0.0
  • @types/node@^20.0.0
  • @types/turndown@^5.0.6
  • @typescript-eslint/eslint-plugin@^8.0.0
  • @typescript-eslint/parser@^8.0.0
  • @vitest/coverage-v8@^3.2.6
  • ajv@^8.17.1
  • esbuild@^0.28.1
  • eslint@^9.0.0
show 8 more
  • globals@^17.0.0
  • husky@^9.1.7
  • lint-staged@^16.2.7
  • prettier@^3.0.0
  • tsconfig-paths@^4.2.0
  • typescript@^5.0.0
  • typescript-eslint@^8.51.0
  • vitest@^3.2.6