Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add alondmnt/joplin-mcp --skill joplingit clone --depth 1 https://github.com/alondmnt/joplin-mcpWrote 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.
[](https://agentmods.dev/skills/alondmnt/joplin-mcp/joplin)<a href="https://agentmods.dev/skills/alondmnt/joplin-mcp/joplin"><img src="https://agentmods.dev/badge/skills/alondmnt/joplin-mcp/joplin/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.
<a href="https://agentmods.dev/skills/alondmnt/joplin-mcp/joplin"><img src="https://agentmods.dev/badge/skills/alondmnt/joplin-mcp/joplin.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Agent Snooping · line 18 Skill accesses MCP server configuration files (mcp.json). MCP configs contain server URLs, authentication tokens, and tool definitions — reading them allows the skill to discover and potentially abuse other tool integrations.Fix: Remove all code or instructions that read MCP configuration files (mcp.json). MCP server details should be managed by the agent runtime, not read by individual skills.
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00020 | $0.00920 |
| Opus 5 | $0.00010 | $0.00460 |
| Sonnet 5 | $0.00004 | $0.00184 |
| Haiku 4.5 | $0.00002 | $0.00092 |
Grade B, and why
joplin scanned grade B with 1 finding 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 11d 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.
Reads MCP configurationmediumAgent snooping
mcp.json carries server URLs and auth tokens; reading it lets a mod discover and abuse other integrations.
2. **Write `.mcp.json`** to the project root with the token. Use the Write tool to create the file: How it starts
The opening of the file, as written. The whole thing — 107 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Joplin MCP — Orchestration Guide
This skill covers non-obvious tool interactions. Tool parameters are already in the tool schemas — don't restate them here.
Setup
If Joplin MCP tools (e.g., ping_joplin) aren't available, the server isn't connected. Follow these steps to configure it automatically:
-
Ask the user for their Joplin API token. Tell them where to find it:
Open Joplin Desktop → Tools → Options → Web Clipper → copy the Authorization token.
-
Write
.mcp.jsonto the project root with the token. Use the Write tool to create the file:{ "mcpServers": { "joplin-mcp": { "command": "uvx", "args": ["--from", "joplin-mcp", "joplin-mcp-server"], "env": { "JOPLIN_TOKEN": "<paste_token_here>" } } } }This file is already covered by
.gitignore(.*rule) so it won't be committed. -
Tell the user to restart Claude Code. The MCP server is loaded at startup, so a restart is required for the tools to appear.
-
After restart, call
ping_joplinto verify the connection.
Critical: edit_note vs update_note
edit_note— find/replace, append, prepend. Use this for partial changes.update_note(body=...)— replaces the entire body. Only use when you intend to rewrite the whole note.
If you need to change a paragraph, fix a typo, or append a section: always use edit_note.
Reading long notes
get_note returns a table of contents (not content) when a note exceeds ~50 lines. To read the actual content:
get_note(note_id)— see the TOC and line countget_note(note_id, section="Section Name")— extract a specific sectionget_note(note_id, start_line=1, line_count=50)— sequential reading by line rangeget_note(note_id, force_full=True)— force full content (large context cost)
IDs vs names
| Parameter | Accepts |
|---|---|
note_id |
32-char hex ID only |
notebook_name |
Human-readable name (e.g., "Work") |
tag_name |
Human-readable name (e.g., "important") |
parent_id |
Omit for top-level notebooks, or pass a 32-char hex parent notebook ID only |
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.
- 11d ago First seen · 107 lines · 20 tokens per session scan B b6e7f794e82a
joplin is a skill published in the GitHub repository alondmnt/joplin-mcp (171 stars, last pushed 23d ago), licensed MIT. It adds 20 tokens to every session and 920 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it B with 1 finding (reads mcp configuration). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
apple-notes
Manage Apple Notes via memo CLI: create, search, edit.
[object Object]
Read, search, and open notes in the user's "{{GRAPHNAME}}" Reflect graph via the reflect CLI. Use when the user asks about their notes, daily notes, journal, or anything they may have written down in Reflect.
knowledge-base-management
A lifecycle system for managing an Obsidian knowledge base, which is a folder of linked notes. It organizes raw material, AI-maintained wiki pages, and generated views into separate layers.
help-flow
Help about Rosetta: explains capabilities and usage.
external-lib-flow
Workflow for onboarding an external private library so AI can use it without source access.
memora
Use when working with persistent memory across sessions, storing/retrieving knowledge, managing TODOs/issues, or when context from previous sessions would be helpful.