whatsapp-mcp-server: Skill for Claude Code

.claude/skills/add-tool/SKILL.md

add-tool is a skill for Claude Code from HalemoGPA/whatsapp-mcp-server. It costs 59 tokens per session (940 once invoked), scanned A, original, MIT.

A development guide for adding a new MCP tool to a WhatsApp server. MCP is a way for an assistant to call registered tools.

In plain words
What is it for?
Use it when adding a bridge endpoint or tool to the server, including its safety category, confirmation checks, retrieval aliases, core-tool placement, and evaluation case.
Why use it?
It helps prevent a tool from being exposed without being discoverable, protected, or covered by an evaluation case.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

This is HalemoGPA/whatsapp-mcp-server's own configuration. It tells Claude Code how to work on whatsapp-mcp-server itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything whatsapp-mcp-server configures →

Reuse

Borrowing it

Nothing to install: this file belongs to HalemoGPA/whatsapp-mcp-server. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/HalemoGPA/whatsapp-mcp-server/main/.claude/skills/add-tool/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/HalemoGPA/whatsapp-mcp-server

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for add-tool

README.md
[![agentmods](https://agentmods.dev/badge/skills/halemogpa/whatsapp-mcp-server/add-tool/github.svg)](https://agentmods.dev/skills/halemogpa/whatsapp-mcp-server/add-tool)
Your own site
<a href="https://agentmods.dev/skills/halemogpa/whatsapp-mcp-server/add-tool"><img src="https://agentmods.dev/badge/skills/halemogpa/whatsapp-mcp-server/add-tool/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for add-tool

Your own site · 80×15
<a href="https://agentmods.dev/skills/halemogpa/whatsapp-mcp-server/add-tool"><img src="https://agentmods.dev/badge/skills/halemogpa/whatsapp-mcp-server/add-tool.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 59 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 940 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00059 $0.00940
Opus 5.5 $0.00024 $0.00376
Sonnet 5.5 $0.00012 $0.00188
Haiku 4.5 $0.00006 $0.00094

Measured 2mo ago against content hash 4911f2c47b8a, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

add-tool scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/add-tool/SKILL.md · 105 lines

How it starts

The opening of the file, as written. The whole thing — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Adding an MCP tool

Five steps. Skipping step 3 or 4 produces a tool that exists but that the model can never find, which is the same as not shipping it.

1. Write the tool

Tools live in whatsapp-mcp-server/tools.py (general) or scheduling.py (queue, drafts, notes). Register with @mcp.tool(annotations=...) using one of the five constants defined at the top of tools.py:

Constant For
READ_LOCAL Reads the local store. No network, no side effect.
READ_BRIDGE Reads via the bridge (touches the network), no side effect.
SEND Sends a message or file, non-idempotent.
MUTATE Changes state, recoverable (react, mark read, edit).
DESTRUCTIVE Irreversible: delete, revoke, leave, block.

A DESTRUCTIVE tool takes confirm: bool = False and calls _require_confirm before doing anything:

@mcp.tool(annotations=DESTRUCTIVE)
def delete_thing(thing_id: str, confirm: bool = False) -> dict:
    """One-line summary the model reads.

    Args:
        thing_id: ...
        confirm: Must be True. The user, not the LLM, has to have agreed.
    """
    if (denied := _require_confirm(confirm)) is not None:
        return denied
    ...

The annotation is only a hint to the client. The confirm kwarg is the actual enforcement, and it exists because older MCP clients do not support elicitation.

Clamp every caller-supplied bound. The existing tools use limit <= 100, context windows <= 20, message body <= 65536 bytes. Match them.

2. Decide whether it belongs in the core set

_CORE_TOOLS in server.py is the 29-tool hot core served directly in the default minimal toolset. Every entry there is paid for on every request to the model, whether or not WhatsApp is touched.

The bar: would a typical session use this in the first three calls? If not, leave it out. It stays fully reachable through find_tool / call_tool. Most new tools should not be in the core.

3. Make it findable

If the tool's name and description do not share vocabulary with how a person would ask for it, find_tool cannot rank it. schedule_message never lexically matches "send this tomorrow morning".

Read the full file on GitHub · 105 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2mo ago First seen · 105 lines · 59 tokens per session scan A 4911f2c47b8a

Subscribe to this mod's changes

add-tool is a skill published in the GitHub repository HalemoGPA/whatsapp-mcp-server (8 stars, last pushed 4d ago), licensed MIT. It adds 59 tokens to every session and 940 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

add-tool compared with skills from other repositories

add-tool next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
add-toolHalemoGPA/whatsapp-mcp-serverSkill84d agoMITA59Claude Code
swagjmagar/swag-mcpSkill74d agoMITA118Claude Code
diagnose-connectivitypyworkload/3x-ui-mcpSkill721d agoMITA83Claude Code, Codex
archivebox-api-developmentKnuckles-Team/archivebox-apiSkill1yesterdayMITA35Claude Code, Codex
cor-authfxckcode/mcp-corSkill04d agoMITA36Claude Code, Codex
td-api-referencedylanroscover/EmbodySkill2122d agoMITA48Claude Code
quantum-vqexi-zhao/OpenQuantumSkill71yesterdayMITA53Claude Code, Codex