mcp-wordpress: Skill for Claude Code

.claude/skills/mcp-implementation-security-review/SKILL.md

mcp-implementation-security-review is a skill for Claude Code from docdyhr/mcp-wordpress. It costs 200 tokens per session (4,800 once invoked), scanned D, original, MIT.

A security review of the source code for MCP servers, clients, and tool handlers. It checks areas such as authentication, sessions, request limits, input validation, remote-code-execution risks, and the OWASP MCP Top 10, a list of common MCP security risks.

In plain words
What is it for?
Use it before exposing an MCP server to a network, when reviewing an MCP client, or when checking whether a server follows expected security controls.
Why use it?
It provides evidence from specific files and lines instead of relying only on configuration checks or general code scanning. This helps find security weaknesses in how an MCP implementation actually works.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

This is docdyhr/mcp-wordpress's own configuration. It tells Claude Code how to work on mcp-wordpress 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 mcp-wordpress configures →

Reuse

Borrowing it

Nothing to install: this file belongs to docdyhr/mcp-wordpress. 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/docdyhr/mcp-wordpress/main/.claude/skills/mcp-implementation-security-review/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/docdyhr/mcp-wordpress

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 mcp-implementation-security-review

README.md
[![agentmods](https://agentmods.dev/badge/skills/docdyhr/mcp-wordpress/mcp-implementation-security-review/github.svg)](https://agentmods.dev/skills/docdyhr/mcp-wordpress/mcp-implementation-security-review)
Your own site
<a href="https://agentmods.dev/skills/docdyhr/mcp-wordpress/mcp-implementation-security-review"><img src="https://agentmods.dev/badge/skills/docdyhr/mcp-wordpress/mcp-implementation-security-review/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 mcp-implementation-security-review

Your own site · 80×15
<a href="https://agentmods.dev/skills/docdyhr/mcp-wordpress/mcp-implementation-security-review"><img src="https://agentmods.dev/badge/skills/docdyhr/mcp-wordpress/mcp-implementation-security-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 200 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,800 The whole file, excluding the scripts and references it only reads on demand.
Security scan D 5 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.00200 $0.04800
Opus 5.5 $0.00080 $0.01920
Sonnet 5.5 $0.00040 $0.00960
Haiku 4.5 $0.00020 $0.00480

Measured 4d ago against content hash 8974ffc89746, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade D, and why

mcp-implementation-security-review scanned grade D with 5 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 4d 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.

Encoded or obfuscated payloadmediumSupply chain

base64 or hex that is decoded and executed hides what actually runs from anyone reading the file.

| Dynamic code evaluation | `eval(args.expression)`, `exec(tool_output)`, `new Function(args.code)()` | Sandboxed parser, AST-based evaluation, or predefined allowlist | `__import__('os').system('whoami')`, `require('chi

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

Cloud metadata endpointmediumServer-side request forgery

One request to 169.254.169.254 can return temporary IAM credentials.

| SSRF | `requests.get(user_param)`, `fetch(user_input)`, `HttpClient.GetAsync(user_input)` | Allowlist schemes/domains, block RFC1918 and link-local targets, validate URLs before sending | `http://169.254.169.254/latest

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

Recursive force deletemediumDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

| Command injection | `exec("convert " + args.filename)`, `os.system(f"process {user_input}")`, `Process.Start("cmd", "/c " + toolArg)` | `execFile("convert", [args.filename])`, `subprocess.run(["process", user_input], s

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

| Command injection | `exec("convert " + args.filename)`, `os.system(f"process {user_input}")`, `Process.Start("cmd", "/c " + toolArg)` | `execFile("convert", [args.filename])`, `subprocess.run(["process", user_input], s

Runs shell commandslowCapability

Expected in a hook, worth knowing in a rule or an instructions file.

| Command injection | `exec("convert " + args.filename)`, `os.system(f"process {user_input}")`, `Process.Start("cmd", "/c " + toolArg)` | `execFile("convert", [args.filename])`, `subprocess.run(["process", user_input], s
Origin

Copies of this mod

1 near-identical copy found in the catalogue:

.claude/skills/mcp-implementation-security-review/SKILL.md · 316 lines

How it starts

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

MCP Implementation Security Review

Process

Step 1 — Classify the target

  • Check MCP protocol version 2025-03-26 or later (current: 2025-11-25). Flag older versions as a finding but continue the review.
  • Determine whether the target is a server or client.
  • Classify transport as network-exposed or local-only using the transport reference below.
  • Record transport, protocol version, and whether sessions exist.

Completion criterion: Target type, protocol status, and transport are identified.

Step 2 — Filter false positives

  • Apply the False Positive Filters before opening findings.
  • Keep docs only when they describe the repo's own server behavior, deployment, transport, or auth posture.
  • For framework/SDK repositories, scope findings to the default configuration and public API surface.

Completion criterion: Remaining evidence is in-scope code, repo-owned docs, or public API behavior.

Step 3 — Check baseline controls

  • For network-exposed servers, check MCP-01 through MCP-05.
  • For local/STDIO servers, do not mark baseline controls PASS/FAIL; give best-practice notes and continue to RCE review.
  • For clients, only review token/session handling explicitly visible in client code; do not apply the server baseline unless the user asks for client-side risk review.

Completion criterion: Each applicable control has a supported status.

Step 4 — Check RCE vectors

  • Review all 7 RCE vectors.
  • Mark each vector SAFE, AT RISK, or N/A.
  • Prefer direct evidence over inference; the RCE Vectors table below enumerates the patterns to look for.

Completion criterion: Every relevant tool has an RCE result or explicit N/A.

Step 5 — Check OWASP MCP Top 10

  • Evaluate all 10 OWASP risks below.
  • If a control from Step 3 already fully covers an OWASP risk, reference that result rather than re-checking.
  • For local/STDIO servers, mark network-dependent OWASP risks (MCP07, MCP09) as N/A.
  • Mark each risk PASS, FAIL, or NEEDS INVESTIGATION.

Read the full file on GitHub · 316 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. 4d ago First seen · 316 lines · 200 tokens per session scan D 8974ffc89746

Subscribe to this mod's changes

mcp-implementation-security-review is a skill published in the GitHub repository docdyhr/mcp-wordpress (112 stars, last pushed today), licensed MIT. It adds 200 tokens to every session and 4,800 once invoked, about $0.0008 per session on Opus 5.5. A static security scan graded it D with 5 findings (encoded or obfuscated payload, cloud metadata endpoint, recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-18.

Related

Other skills, from other repositories

review

Review one pull request for real bugs, regressions, and convention violations. Enumerate candidate issues across the whole diff, verify each against the code, then return structured line-anchored findings and a verdict. Read-only on GitHub; the orchestrator posts the review.

emdash-cms/emdash · 57 tokens

writing-emdash-docs

Write, revise, and review EmDash documentation for technical accuracy, useful structure, house style, and natural prose. Use when working on user documentation, guides, API reference pages, migration or upgrade guides, READMEs, contributor documentation, technical specifications, or release notes in the EmDash…

emdash-cms/emdash · 85 tokens

adversarial-reviewer

Stress-test a code change for concrete correctness defects, unsafe assumptions, and failure modes. Use when the user explicitly asks for an adversarial review, a deep bug hunt, or to tear a change apart, or to check your own change before submitting it. Do not use for ordinary review, style feedback, or general…

emdash-cms/emdash · 72 tokens

review-implement-phase

Implements triaged review actions, commits focused fixes, and posts Done plus resolves threads. Use when the user wants only the implementation phase of the review-framework workflow.

prisma/orm · 38 tokens

no-bare-casts

Writing as in TypeScript or TSX production code, modifying a file that contains a bare as cast, silencing a type error with a cast, encountering as unknown as, or reviewing a cast site.

prisma/orm · 52 tokens

emdash-cli

Use the EmDash CLI to inspect and manage an EmDash instance from the command line, including content, schema, media, taxonomies, menus, search, authentication, seeds, migrations, generated types, and whole-site export and import.

emdash-cms/emdash · 52 tokens