Borrowing it
Nothing to install: this file belongs to amyodov/yet-another-agentic-chat. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/amyodov/yet-another-agentic-chat/main/.claude/skills/updating-mcp-tools/SKILL.mdgit clone --depth 1 https://github.com/amyodov/yet-another-agentic-chatWrote 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/amyodov/yet-another-agentic-chat/updating-mcp-tools)<a href="https://agentmods.dev/skills/amyodov/yet-another-agentic-chat/updating-mcp-tools"><img src="https://agentmods.dev/badge/skills/amyodov/yet-another-agentic-chat/updating-mcp-tools/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/amyodov/yet-another-agentic-chat/updating-mcp-tools"><img src="https://agentmods.dev/badge/skills/amyodov/yet-another-agentic-chat/updating-mcp-tools.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00000 | $0.00688 |
| Opus 5.5 | $0.00000 | $0.00275 |
| Sonnet 5.5 | $0.00000 | $0.00138 |
| Haiku 4.5 | $0.00000 | $0.00069 |
Grade A, and why
updating-mcp-tools 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 15d 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.
How it starts
The opening of the file, as written. The whole thing — 50 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Updating the MCP tool surface
Two steps, in order: get the descriptions right, then sync the generated docs. The order matters because the docs are generated from the descriptions — polishing prose after regenerating means regenerating twice.
1. Description quality
The economics decide where words go: a tool description rides in every request while the server is connected, and a tool result is paid once per call. So:
- Permanent duties go in descriptions, tersely; situational nudges go in results. A sentence in a description is charged to every turn of every session that has the server installed, joined or not.
- Descriptions must carry the whole usage flow unaided — no client is obliged to surface server
instructions, and no skill is installed on the far side. The two flow-critical facts they must keep alive:
joining commits the model to polling
check_inboxevery turn unless the join result reported delivery, and a reply only ever arrives throughcheck_inboxor that delivery. Weakening either turns a working radio into an apparently deaf one. - Every tool is listed in every session, joined or not, so all seven descriptions are the context cost YAAC imposes on sessions that never join; be strict about every one's length.
- Parameter
Fielddescriptions are part of the surface too — a model fills arguments from them.
2. Sync the docs
docs/tools.md is generated, never hand-written. The generator imports yaac.frontend and reads the tool
registry itself — the same registration path that answers tools/list — so the file shows exactly what a
connected client sees: names, availability (dormant vs on-air), descriptions, parameter schemas, and the server
instructions. Editing it by hand would only create a version of the truth that the next regeneration deletes.
-
From the repository root, run:
uv run python ${CLAUDE_SKILL_DIR}/scripts/generate.py -
git diff docs/tools.mdand read the diff. It should contain precisely the change made in step 1 — an unexpected hunk means either the docs were stale (fine, that is the point) or the change had a wider blast radius than intended (worth telling the user about).
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 15d ago Changed aea03c8fc3fa
- 1mo ago Changed · +1 lines fdf7585461c5
- 1mo ago First seen · 49 lines · 0 tokens per session scan A 56e7688715f3
updating-mcp-tools is a skill published in the GitHub repository amyodov/yet-another-agentic-chat (4 stars, last pushed 7d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 688 tokens. 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.
Other skills, from other repositories
release-announcement
Write a release announcement — changelog, blog post, in-app note, or social post — that leads with user impact, names the audience, and includes upgrade/migration steps without filler.
agent-self-scheduling
Schedule AI agent runs with cron, loops, or external clocks while avoiding unsafe tight autonomous timers.
simplified-english
Write user-facing comments, plans, and documents in ASD-STE100 Simplified Technical English — short, unambiguous sentences with approved words and one meaning each — so readers understand them the first time.
choosing-swarm-patterns
Use when coordinating multiple AI agents with Agent Relay's workflow engine and need to pick the right orchestration pattern - covers the 10 core patterns (fan-out, pipeline, hub-spoke, consensus, mesh, handoff, cascade, dag, debate, hierarchical) plus 14 specialized ones, with decision framework and accurate SDK/YAML…
deploying-to-staging-environment
Use when deploying changes to staging across relay, relay-dashboard, and relay-cloud repos - coordinates multi-repo branch syncing using git worktrees, automatically triggers staging deployments via GitHub Actions.
writing-relayflows
Use when authoring a Relayflows flow (@relayflows/surface / @relayflows/sdk, the journal-based v2 engine — the CLI is flows, package versions 2.0.x) in TypeScript or YAML/JSON. Covers the three-rung ladder (run/llm/agent), the resident verbs (human/dispatch/done), verification gates, TypeScript vs YAML authoring…