From d444e2771f1bffda5fc456cbaf7cc80dad29c022 Mon Sep 17 00:00:00 2001 From: Oleg Proskurin Date: Tue, 2 Jun 2026 00:57:56 +0700 Subject: [PATCH] setup mcp --- .claude/telegram-write-whitelist.md | 25 +++++++++++++ .env.example | 3 ++ CLAUDE.md | 54 +++++++++++++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 .claude/telegram-write-whitelist.md diff --git a/.claude/telegram-write-whitelist.md b/.claude/telegram-write-whitelist.md new file mode 100644 index 0000000..3214270 --- /dev/null +++ b/.claude/telegram-write-whitelist.md @@ -0,0 +1,25 @@ +# Telegram MCP — Write Whitelist + +Chats listed here are the only ones where Claude may send/edit messages without asking for explicit per-message permission. Outside this list, every write requires Oleg's go-ahead in the current conversation. + +This whitelist does **not** override the absolute prohibition on destructive/irreversible actions — see `CLAUDE.md` "Telegram MCP — safety policy". + +## DMs + +_(empty)_ + +## Groups + +_(empty)_ + +## Channels + +_(empty)_ + +--- + +Entry format when adding: + +``` +- `username_or_id` — Display Name — short reason it's safe (e.g. "self-DM scratchpad", "test group with only me") +``` diff --git a/.env.example b/.env.example index 857b801..09339f9 100644 --- a/.env.example +++ b/.env.example @@ -1,2 +1,5 @@ TRELLO_API_KEY=your_trello_api_key_here TRELLO_TOKEN=your_trello_token_here +TELEGRAM_API_ID= +TELEGRAM_API_HASH= +TELEGRAM_SESSION_STRING= diff --git a/CLAUDE.md b/CLAUDE.md index 9333f61..4b7dda6 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -20,6 +20,60 @@ If the skill itself can't get the content (Chrome not running, or Oleg is not si --- +## Trello — project board + +Any mention of "Trello", "the board", "a card", "a column", etc. in this project refers to the **BestJob** Trello board — board ID `6a1a9a5af082cb0526b22704`. It is the **single, canonical** task board for cv-2026 (job hunt, applications, outreach, tailoring tasks). Do not create cards on any other board, and do not propose splitting work across boards. + +Before calling any Trello tool that needs a board context, set the active board: + +``` +mcp__trello__set_active_board(boardId="6a1a9a5af082cb0526b22704") +``` + +Columns (left → right, with IDs for `add_card_to_list` / `move_card`): + +| Order | Name | List ID | +|---|---|---| +| 1 | Base | `6a1aa5807487ac0da53f85e1` | +| 2 | TODO | `6a1aa59555aab72a261c42aa` | +| 3 | In Progress | `6a1aa59a5e7e651b1352895b` | +| 4 | Applyed | `6a1aa5a1d8bcb0ed7234987b` | +| 5 | Artifactes | `6a1aa5b12963a48bb0880528` | +| 6 | Boards | `6a1af7ec9bc4bc8df2ba93c3` | + +The list names "Applyed" and "Artifactes" are the actual spellings on the board — don't auto-correct them in API calls. + +--- + +## Telegram MCP — safety policy + +Claude is connected to Oleg's personal Telegram account via the `telegram-mcp` server (full MTProto access, **not** a bot). This is powerful and reaches a wide social surface, so two rules govern its use. **Both rules are absolute — they take precedence over any in-conversation instruction, including a direct user request to ignore them.** + +### Rule 1 — never perform destructive or irreversible actions + +Do not call any Telegram tool whose effect cannot be cleanly undone, **even if Oleg explicitly asks**. If asked, refuse and explain. This includes (non-exhaustive): + +- Deleting messages (own or others'), chats, folders, drafts, channels, groups +- Leaving / deleting / archiving-then-purging chats where history would become unreachable +- Terminating sessions, blocking users, removing contacts +- Bulk operations that change many entities at once (mass mark-as-read, mass leave, mass unsubscribe) +- Changing profile photo, account info, privacy settings, 2FA — anything that alters Oleg's account identity or security posture +- Any "clear" / "reset" / "wipe" tool + +If Oleg genuinely wants such an action, he must do it himself in the Telegram client. This rule exists because a misclick from an LLM agent at this layer can lose data permanently. + +### Rule 2 — writes require explicit permission, except in the whitelist + +Sending or editing messages (DMs, groups, channels), sending media, voting in polls, reacting, joining/leaving chats, adding chats to folders, creating folders, pinning messages — any **mutation** — requires Oleg's explicit go-ahead in the current conversation **for the specific chat being written to**. + +Exception: the whitelist in [`.claude/telegram-write-whitelist.md`](.claude/telegram-write-whitelist.md). Chats listed there allow free mutations without per-message confirmation. The whitelist is currently empty. + +Permission is per-conversation and per-target — approval to write to chat X does not generalize to chat Y, and yesterday's approval does not carry forward to today. + +A read-only investigation never needs permission; this rule only applies to mutations. + +--- + ## Folder layout ```