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 komluk/scaffolding --skill mcp-toolsgit clone --depth 1 https://github.com/komluk/scaffoldingWrote 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/komluk/scaffolding/mcp-tools)<a href="https://agentmods.dev/skills/komluk/scaffolding/mcp-tools"><img src="https://agentmods.dev/badge/skills/komluk/scaffolding/mcp-tools.svg" alt="Measured on agentmods" 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.00056 | $0.01545 |
| Opus 5 | $0.00028 | $0.00772 |
| Sonnet 5 | $0.00011 | $0.00309 |
| Haiku 4.5 | $0.00006 | $0.00154 |
Grade A, and why
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 7d 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 — 90 lines — stays where its author put it; the contents beside it link to each section on GitHub.
MCP Tools Decision Tree
Priority Order
- Does an MCP tool exist for this operation? Use it first.
- Did the MCP tool fail (auth missing, plugin unavailable)? Fall back to built-in.
- No MCP tool matches? Use built-in tools (Bash, Grep, WebSearch, etc.).
MCP Plugin Quick Reference
| Plugin | Transport | Key Tools | Agents |
|---|---|---|---|
| context7 | stdio | mcp__context7__resolve-library-id, mcp__context7__get-library-docs |
researcher, developer |
| playwright | stdio | mcp__playwright__browser_navigate, mcp__playwright__browser_screenshot |
developer, debugger |
| eslint | stdio | mcp__eslint__* |
developer, reviewer |
| sonarqube | docker | mcp__sonarqube__* |
developer, reviewer |
| sequential-thinking | stdio | mcp__sequential-thinking__* |
architect, debugger |
| postgres-mcp | stdio | mcp__postgres-mcp__* |
developer, optimizer |
| redis-mcp | stdio | mcp__redis-mcp__* |
developer, devops, debugger |
| docker | stdio | mcp__docker__* |
devops |
| cron | stdio | mcp__cron__* |
devops |
| ssh-mcp | stdio | mcp__ssh-mcp__* |
devops |
| github | http | mcp__github__* |
gitops, architect |
| google-sheets | stdio | mcp__google-sheets__* |
researcher, tech-writer |
| slack | sse | mcp__slack__* |
tech-writer |
| asana | sse | mcp__asana__* |
architect |
| supabase | http | mcp__supabase__* |
optimizer |
| firebase | stdio | mcp__firebase__* |
devops, optimizer |
| memory | stdio | 13 tools across search/store/notes/ingest/session tiers (see below) | tiered — see Access Control |
Semantic Memory MCP
- Transport: stdio (Python,
venv/bin/python -m mcp_servers.semantic_memory) - Source: MCP servers in your backend directory (internal, built on
fastmcp) - Auth:
DATABASE_URL(PostgreSQL connection string),SEMANTIC_MEMORY_ENABLED=true - Config:
.mcp.jsonat project root
Tools (13 total)
| Tool | Purpose | Parameters |
|---|---|---|
search_context |
Search ingested context chunks (Qdrant hybrid retrieval) | query (required), corpus, top_k |
semantic_search |
Search memories by similarity | query (required), project_id, agent_name, top_k, threshold |
semantic_recall |
Recall relevant memories as markdown | context (required), agent_name, project_id, top_k |
semantic_store |
Store a new memory with embedding | content (required), agent_name (required), project_id, conversation_id, task_id, tags, content_type |
store_note |
Persist a note document | corpus, relative_path, content (see notes-tier agents) |
read_note |
Read a note document | corpus, relative_path |
list_notes |
List note documents | corpus |
trigger_ingest |
Queue ONE document (corpus + relative_path) for immediate re-indexing so a note just written via store_note becomes searchable in seconds instead of up to 15 minutes. Path-scoped only — cannot trigger a full backfill. Returns once queued; does not wait for indexing to finish (~3s to become searchable). Only useful to agents that also have store_note — otherwise you'd be re-indexing someone else's file. |
corpus (required), relative_path (required) |
list_sessions |
List memory sessions (catalog) | — |
get_session |
Get a session's details | session_id |
semantic_list |
List stored memories (catalog) | project_id |
semantic_delete |
Delete a memory | memory_id (granted to no agent) |
archive_session |
Archive a session | session_id (granted to no agent) |
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.
- 7d ago First seen · 90 lines · 56 tokens per session scan A 911334e00ebd
mcp-tools is a skill published in the GitHub repository komluk/scaffolding (15 stars, last pushed 1mo ago), licensed MIT. It adds 56 tokens to every session and 1,545 once invoked, about $0.0003 per session on Opus 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-30.
Other skills, from other repositories
turnstile-loop-start
Starts a goal-directed loop run -- asks for mode, initialises state.json, then dispatches loop-runner repeatedly until the success condition is met, max-iterations is reached, or an unrecoverable error occurs.
turnstile-loop-status
Reads turnstile/loops/ /state.json and renders the current phase, status, and full iteration history in the terminal.
turnstile-conversate
Entry point for natural-language turnstile requests -- classifies the message against board state, then answers directly or invokes the one matching skill (brainstorm, quick, refine, spec, sprint-plan, work, review, breakdown, drop, systematic-debugger, code-reviewer).
turnstile-work
Implements one sprint ticket via TDD and the turnstile-coder agent, checking the brain first. Dispatched by /turnstile:work or conversate routing only.
turnstile-brain-init
Opt-in bulk bootstrap of turnstile/code/ -- one linked note per source file. The default pipeline is lazy (code notes only for ticket-touched files, written when the ticket passes review); this is the eager exception. Dispatched by /turnstile:brain-init only.
turnstile-brain
Vault layout, the shared note format, and the check-the-brain-first mandate. Auto-loads whenever any turnstile skill starts new work or /turnstile:review is about to commit.