github JavaScript analyzed ced0138

tszaks/ghub

github

MCP server for multi-account Gmail access with built-in OAuth onboarding.

maintainer
tszaks
licence
MIT
first seen
2026-06-10
last seen
2026-06-27
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 24 tools
transport stdio · http · sse counts 24 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • add_labels
  • archive_emails
  • block_sender
  • create_draft
  • create_label
  • delete_drafts
  • delete_label
  • get_email_thread
  • get_labels
  • list_accounts
  • list_blocked_senders
  • list_drafts
  • mark_as_read
  • mute_thread
  • read_emails
  • remove_labels
  • search_drafts
  • search_drive_files
  • search_emails
  • send_draft
  • send_email
  • trash_emails
  • unblock_sender
  • unsubscribe_from_email
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit ced0138 · analyzer v33 · 3w ago

danger signals8

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

code files: 17

filesystem 11

  • fs tszaks-ghub-ced0138/dist/accounts.js :1 import { promises as fs } from 'node:fs';
  • fs tszaks-ghub-ced0138/dist/attachments.js :1 import { promises as fs } from 'node:fs';
  • fs tszaks-ghub-ced0138/dist/config.js :1 import { promises as fs } from 'node:fs';
  • fs tszaks-ghub-ced0138/dist/gmail-client.js :3 import { promises as fs, createReadStream } from 'node:fs';
  • fs tszaks-ghub-ced0138/dist/index.js :2 import { promises as fs } from 'node:fs';
  • fs tszaks-ghub-ced0138/src/accounts.ts :1 import { promises as fs } from 'node:fs';
  • fs tszaks-ghub-ced0138/src/attachments.ts :1 import { promises as fs } from 'node:fs';
  • fs tszaks-ghub-ced0138/src/config.ts :1 import { promises as fs } from 'node:fs';
  • fs tszaks-ghub-ced0138/src/gmail-client.ts :3 import { promises as fs, createReadStream } from 'node:fs';
  • fs tszaks-ghub-ced0138/src/index.ts :3 import { promises as fs } from 'node:fs';
  • fs (weak) tszaks-ghub-ced0138/test/attachments.test.mjs :3 import { promises as fs } from 'node:fs';

shell / exec 2

  • shell tszaks-ghub-ced0138/dist/attachments.js :2 import { execFile } from 'node:child_process';
  • shell tszaks-ghub-ced0138/src/attachments.ts :2 import { execFile } from 'node:child_process';

network 2

  • net tszaks-ghub-ced0138/dist/index.js :1960 const response = await fetch(httpsUrl, {
  • net tszaks-ghub-ced0138/src/index.ts :2538 const response = await fetch(httpsUrl, {

tool registrations 43

  • list_accounts tszaks-ghub-ced0138/dist/index.js :324
  • read_emails tszaks-ghub-ced0138/dist/index.js :333
  • search_emails tszaks-ghub-ced0138/dist/index.js :362
  • search_drive_files tszaks-ghub-ced0138/dist/index.js :386
  • get_email_thread tszaks-ghub-ced0138/dist/index.js :410
  • get_labels tszaks-ghub-ced0138/dist/index.js :423
  • mark_as_read tszaks-ghub-ced0138/dist/index.js :435
  • add_labels tszaks-ghub-ced0138/dist/index.js :452
  • remove_labels tszaks-ghub-ced0138/dist/index.js :474
  • archive_emails tszaks-ghub-ced0138/dist/index.js :496
  • trash_emails tszaks-ghub-ced0138/dist/index.js :513
  • create_label tszaks-ghub-ced0138/dist/index.js :530
show 28 more
  • delete_label tszaks-ghub-ced0138/dist/index.js :553
  • block_sender tszaks-ghub-ced0138/dist/index.js :566
  • list_blocked_senders tszaks-ghub-ced0138/dist/index.js :593
  • unblock_sender tszaks-ghub-ced0138/dist/index.js :605
  • unsubscribe_from_email tszaks-ghub-ced0138/dist/index.js :625
  • mute_thread tszaks-ghub-ced0138/dist/index.js :646
  • create_draft tszaks-ghub-ced0138/dist/index.js :668
  • list_accounts tszaks-ghub-ced0138/src/index.ts :751
  • read_emails tszaks-ghub-ced0138/src/index.ts :761
  • search_emails tszaks-ghub-ced0138/src/index.ts :791
  • search_drive_files tszaks-ghub-ced0138/src/index.ts :816
  • get_email_thread tszaks-ghub-ced0138/src/index.ts :841
  • get_labels tszaks-ghub-ced0138/src/index.ts :854
  • mark_as_read tszaks-ghub-ced0138/src/index.ts :866
  • add_labels tszaks-ghub-ced0138/src/index.ts :883
  • remove_labels tszaks-ghub-ced0138/src/index.ts :905
  • archive_emails tszaks-ghub-ced0138/src/index.ts :927
  • trash_emails tszaks-ghub-ced0138/src/index.ts :944
  • create_label tszaks-ghub-ced0138/src/index.ts :961
  • delete_label tszaks-ghub-ced0138/src/index.ts :984
  • block_sender tszaks-ghub-ced0138/src/index.ts :997
  • list_blocked_senders tszaks-ghub-ced0138/src/index.ts :1028
  • unblock_sender tszaks-ghub-ced0138/src/index.ts :1041
  • unsubscribe_from_email tszaks-ghub-ced0138/src/index.ts :1063
  • mute_thread tszaks-ghub-ced0138/src/index.ts :1086
  • create_draft tszaks-ghub-ced0138/src/index.ts :1110
  • delete_drafts tszaks-ghub-ced0138/src/index.ts :1164
  • send_draft tszaks-ghub-ced0138/src/index.ts :1181

3 more not shown — this panel samples each group; the count above is the real total.

install hooks 1

  • postinstall tszaks-ghub-ced0138/package.json :16 bash scripts/build-ocr.sh

declared dependencies 11

  • @modelcontextprotocol/sdk@^1.25.2
  • @types/express@^5.0.6
  • express@^5.2.1
  • google-auth-library@^9.15.1
  • googleapis@^144.0.0
  • mammoth@^1.9.0
  • officeparser@^5.0.0
  • pdf-parse@^1.1.1
  • xlsx@^0.18.5
  • @types/node@^20.17.10
  • typescript@^5.7.3