MCP server for Apple Notes - create, search, update, and manage notes via Claude and other AI assistants
Drift inferred · capture-to-capture
tool count over time
06-01 16:43 08-12 01:54 now
15t
2t
3t
transport stdio counts 3 tools · 0 res
· 0 prompts
permission surface via README inference
tools
-
ids
string[]
-
notes
object[]
-
tags
string[]
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
- dynamic code execution new Function() sweetrb-apple-notes-mcp-de614a5/build/index.js :2953
const makeValidate = new Function(`${names_1.default.self}`, `${names_1.default.scope}`, sourceCode);
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