Skip to content
Development
Skill

/mcp-tools

MCP tool decision tree and MCP-first fallback strategy. TRIGGER when: choosing whether to use an MCP tool versus a built-in, or an MCP tool is available for a task. SKIP: semantic-memory MCP usage specifically (use semantic-memory-mcp).

From plugin
scaffolding
1639 skills13 agents21 commands25 hooks

Claude Code

$ npx -y skills add komluk/scaffolding --skill mcp-tools --agent claude-code

SKILL.md

mcp-tools.SKILL.md
name: mcp-tools
description: "MCP tool decision tree and MCP-first fallback strategy. TRIGGER when: choosing whether to use an MCP tool versus a built-in, or an MCP tool is available for a task. SKIP: semantic-memory MCP usage specifically (use semantic-memory-mcp)."

MCP Tools Decision Tree

Priority Order

1. Does an MCP tool exist for this operation? **Use it first.** 2. Did the MCP tool fail (auth missing, plugin unavailable)? **Fall back to built-in.** 3. 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 | | chrome-devtools | stdio | `mcp__chrome-devtools__*` | 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.json` at project root

Tools (13 total)

| Tool | Purpose | Parameters | |------|---------|------------| | `search_context` | Search ingested context chunks (Qdrant hybrid retrieval). Returns `doc_id`, `source`, `kind`, `title`, `date`, `session_id`, `content`, `score` (relative rank, not a probability) | `query` (required), `corpus` (`homelab`/`platform`/`projects` or a Gitea repo name), `path` (exact doc path in corpus), `source_type` (`markdown`/`gitea`), `kind` (`note`/`spec`/`issue`/`pr`/`commit`), `session_id`, `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) |

Use `search_context` for documents and notes, specs, conversation transcripts and Gitea issues/PRs/commits; use `semantic_search` for short distilled memories.

Access Control

| Tier | Tools | Agents | |------|-------|--------| | Write (search/recall/store) | `search_context`, `semantic_search`, `semantic_recall`, `semantic_store` | developer, architect, debugger, analyst, researcher, reviewer, optimizer, tech-writer | | Read-only | `search_context`, `semantic_search`, `semantic_recall` | devops, gitops, mcp-builder, prompt-engineer | | Notes | `store_note`, `read_note`, `list_notes` | architect, researcher, tech-writer | | Ingest trigger | `trigger_ingest` | architect, researcher, tech-writer — narrow grant, restricted to the agents that also hold `store_note`; broader access would invite wasted LLM context-gen calls re-indexing files the caller didn't write | | Session catalog | `list_sessions`, `get_session`, `semantic_list` | coordinator | | Delete/archive | `semantic_delete`, `archive_session` | nobody |

`corpus` (top-level NFS share directory: `homelab`, `platform`, `projects`) and `project_id` (`scaffold:<hash>`, one per repo) are different axes — `corpus` scopes the notes/ingest tools above, `project_id` scopes the `semantic_*` (mem0) tools. Don't pass one where the other is expected.

The `tools:` frontmatter of each agent is authoritative for grants. For detailed usage guidance (when to search, when to store, quality gates), see the `semantic-memory-mcp` skill.

Fallback Strategy

| Operation | MCP Tool (Priority) | Fallback | |-----------|---------------------|----------| | Library docs lookup | context7 | WebSearch | | UI verification | playwright | Manual browser check | | Code quality | so

Read more
@komluk
Ships withscaffolding

Spec-driven multi-agent orchestration for Claude Code — pure markdown, zero backend, runs on the stock runtime. 13 agents, 39 skills, 21 commands, 20 hooks, per-phase model tiers, opt-in lifecycle hooks, optional cross-device semantic memory.

1639 skills13 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
16
Star history of komluk/scaffolding on GitHub, a chart by star-history.com

Other skills on scaffolding.

agent-comms

agent-comms

SendMessage recipient validation and worktreePath safety (CWE-59). TRIGGER when: validating a SendMessage `to:` recipient against…

@komluk@komlukInstall Skill
agent-memory

agent-memory

Repo-local file memory under .scaffolding/ (shared/agent/conversation tiers). TRIGGER when: reading or writing .scaffolding/…

@komluk@komlukInstall Skill
api-design

api-design

RESTful API design standards: resource naming, HTTP methods, status codes, pagination, versioning. TRIGGER when: designing new…

@komluk@komlukInstall Skill
context-engineering

context-engineering

Optimize Claude Code context-window usage for accuracy and cost. TRIGGER when: hitting context limits, structuring prompts for an…

@komluk@komlukInstall Skill
database-optimization

database-optimization

Schema design, index strategy, migration safety, and query analysis. TRIGGER when: designing tables or indexes, writing a…

@komluk@komlukInstall Skill
distill

distill

Knowledge distillation: candidate extraction, confidence scoring, tier routing. Invoked by /learn and the memory-ingest Stop…

@komluk@komlukInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react3d252k
@facebook@facebookInstall Skill

Questions about mcp-tools.

Which coding agents can use mcp-tools?
mcp-tools installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.