review-security-report
Skill28k starsChanged 27 days agoApache-2.0View on GitHub
Review FastMCP vulnerability reports before accepting, rejecting, patching, scoring, or publishing them. Use for security advisories, bug-bounty submissions, OAuth or MCP vulnerability claims, and proposed security fixes.
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 10 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈10
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
Before editing an advisory, export the report, comments, proof of concept, configuration, and claimed affected versions.
- Distinctive: line 16
Keep the investigation read-only until classification.
- Distinctive: line 21
Use the smallest end-to-end reproduction against a supported release.
- Distinctive: line 50
Read the code, released documentation, tests, and history.
- Distinctive: line 56
If the intended contract remains unclear, ask the subsystem maintainer before accepting the report or proposing a fix.
- Distinctive: line 76
does not silently change an intentional default or opt-in contract.
- Distinctive: line 79
Treat a change to the supported product contract as an enhancement requiring maintainer agreement, independently of the security report.
- Distinctive: line 84
Before any GitHub mutation, state the decisive configuration and affected versions, boundary owner, realistic impact, and one disposition:
- Distinctive: line 91
ask the relevant maintainer to decide the contract.
- Distinctive: line 95
When rejecting a report, acknowledge any valid reproduction and explain the decisive precondition.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Review a FastMCP security report
A working proof of concept establishes behavior, not ownership or classification. Identify the component that violates a promised security boundary before changing code or advisory state.
Preserve the evidence
Before editing an advisory, export the report, comments, proof of concept, configuration, and claimed affected versions. Record the reproduced commit and derive affected releases from history.
Keep the investigation read-only until classification. Do not mutate the advisory or prepare a fix merely because the proof of concept works.
Reproduce the claim
Use the smallest end-to-end reproduction against a supported release. Record:
- defaults, non-default arguments, environment, and deployment assumptions;
- what the attacker controls, what the victim does, and what authority the attacker gains;
- the check or trust boundary allegedly bypassed; and
- whether the attacker's prerequisites already provide equal or greater authority than the claimed impact.
A non-default configuration may still be vulnerable; a default may intentionally delegate a security decision elsewhere.
Identify the responsible layer
- FastMCP vulnerability: FastMCP violates a promised boundary in a supported configuration.
- FastMCP bug: FastMCP behaves incorrectly without creating attacker capability.
- Upstream vulnerability: The defect belongs to a standard, dependency, identity provider, client, proxy, or platform.
- Insecure deployment: The operator omits, disables, or delegates a required control without supplying the replacement required by its contract.
- Expected behavior: The result follows the documented API contract or protocol.
- Documentation gap: The implementation follows its intended contract, but the guidance creates a reasonable expectation of protection.
Attribute the violated boundary to its owner. Neither a dangerous configuration nor an available external mitigation decides ownership by itself. Distinguish failure of a primary control from failure of defense-in-depth.
Establish FastMCP's contract
Read the code, released documentation, tests, and history. Determine:
- What FastMCP promises for the exact configuration, supported API, and affected releases.
- Whether the proof of concept bypasses, disables, or delegates that protection.
- Whether the behavior follows the implemented protocol despite any stricter FastMCP promise.
If the intended contract remains unclear, ask the subsystem maintainer before accepting the report or proposing a fix. Current code alone does not define supported product behavior.
Separate OAuth proxy boundaries
For OAuth proxy reports, check each layer independently:
- Open DCR lets unknown clients register redirects; a matching attacker callback is not a redirect validation bypass.
- FastMCP consent binds the downstream client; ordinary upstream consent binds FastMCP's shared app.
require_authorization_consent=Falseremoves consent;"external"delegates equivalent consent and transaction binding outside FastMCP.- PKCE protects the verifier, not a code issued for a malicious client's own challenge.
- Redirect allowlists are optional policy and can break hosted clients or open DCR.
Review the proposed fix independently
A patch can block the proof of concept and still be wrong. Verify that it:
- fixes the violated boundary at its source and enforces the claimed property;
- does not silently change an intentional default or opt-in contract; and
- preserves supported workflows without assuming one replacement control is the only valid design.
Treat a change to the supported product contract as an enhancement requiring maintainer agreement, independently of the security report.
Classification checkpoint
Before any GitHub mutation, state the decisive configuration and affected versions, boundary owner, realistic impact, and one disposition:
- accept a draft advisory and prepare a private patch;
- request specific missing evidence;
- route as a normal FastMCP bug or upstream issue;
- close as expected behavior or an insecure deployment;
- ask the relevant maintainer to decide the contract.
Separately recommend any documentation or warning clarification warranted by the investigation.
When rejecting a report, acknowledge any valid reproduction and explain the decisive precondition.
Trending
Steady talk.about the whole repository
Who's talking about PrefectHQ/fastmcp
- AI Engineering News“An AI Sent Police a Fake Murder Tip. Nobody Noticed for Two Months | AI Daily News, Oct 9”YouTube · Oct 9, 2026 · 4.3k views
- Github God“27K ⭐ AI NYAMBUNG KE SEMUA DATA KAMU”YouTube · Sep 10, 2026 · 1.1k views
- Prefect“Why LangChain Built Its MCP Support on FastMCP 4.0 | Sydney Runkle Interview”YouTube · Sep 28, 2026 · 941 views
- Prefect“FastMCP 4.0 Release | Meet Nate Nowack, New Lead Maintainer”YouTube · Sep 3, 2026 · 488 views
- Prefect“Your MCP Server is Bad (and you should feel bad) | Jeremiah Lowin, AI Engineer Code Summit 2025”YouTube · Feb 6, 2026 · 484 views
The biggest 5 of 76 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 76
Talked about on GitHub, YouTube, the web, Hacker News and Bluesky (76 times).
On GitHub · 50
- Mar 1, 2026refactor(mcp_server): migrate to FastMCP v3 and add OpenBB Code Mode — openbq-org/OpenBB5 reactions · 1 comment
- Jun 20, 2026ci(deps): bump the uv group across 3 directories with 9 updates — KooshaPari/AgilePlus3 reactions · 6 comments
- Jun 20, 2026ci(deps): bump the uv group across 3 directories with 9 updates — KooshaPari/AgilePlus3 reactions · 8 comments
- May 14, 2026Bump the uv group across 1 directory with 7 updates — GlacierEQ/Office-Word-MCP-Server3 reactions · 3 comments
- Oct 21, 2026build: Bump the python-dependencies group across 1 directory with 8 updates — cjangrist/omnifetch2 reactions · 2 comments
45 more on GitHub
- Oct 14, 2026build: Bump the python-dependencies group with 6 updates — cjangrist/omnifetch2 reactions · 3 comments
- Sep 23, 2026build: Bump the python-dependencies group across 1 directory with 3 updates — cjangrist/omnifetch2 reactions · 2 comments
- Sep 14, 2026deps(python)(deps-dev): bump the dev-dependencies group with 6 updates — SkyyRoseCo/DevSkyy2 reactions · 3 comments
- Sep 9, 2026build: Bump the python-dependencies group across 1 directory with 2 updates — cjangrist/omnifetch2 reactions · 2 comments
- Jul 20, 2026🔧 chore(deps): Bump the uv-production group across 1 directory with 2 updates — morzecrew/forze2 reactions · 4 comments
- Jul 17, 2026chore(deps): bump the pip group across 2 directories with 20 updates — CaffeeLake/MemOS2 reactions · 4 comments
- Jul 17, 2026chore(deps): bump the uv group across 2 directories with 20 updates — CaffeeLake/MemOS2 reactions · 4 comments
- Jul 15, 2026build: Bump the python-dependencies group across 1 directory with 5 updates — cjangrist/omnifetch2 reactions · 1 comment
- Jul 8, 2026build: Bump the python-dependencies group with 3 updates — cjangrist/omnifetch2 reactions · 2 comments
- Jul 1, 2026chore(deps): bump the uv group across 2 directories with 20 updates — CaffeeLake/MemOS2 reactions · 2 comments
- Jun 30, 2026chore(deps): bump the uv group across 1 directory with 17 updates — CaffeeLake/MemOS2 reactions · 2 comments
- Jun 24, 2026chore(deps): bump the pip group across 2 directories with 20 updates — CaffeeLake/MemOS2 reactions · 1 comment
- Jun 24, 2026chore(deps): bump the pip group across 2 directories with 6 updates — CaffeeLake/AP22 reactions
- Jun 18, 2026Bump the pip group across 1 directory with 2 updates — vzwjustin/Context-Engine2 reactions
- May 28, 2026chore(deps): bump fastmcp from 2.14.7 to 3.2.0 in /dispatch-mcp in the uv group across 1 directory — KooshaPari/AgilePlus2 reactions · 5 comments
- May 26, 2026chore(deps): bump the uv group across 1 directory with 9 updates — GlacierEQ/unity-mcp2 reactions · 2 comments
- May 26, 2026Bump the uv group across 1 directory with 12 updates — GlacierEQ/MiniMax-MCP2 reactions · 2 comments
- May 19, 2026Bump the uv group across 4 directories with 11 updates — HarleyCoops/OpenEnv2 reactions · 3 comments
- May 14, 2026chore(deps): bump the uv group across 1 directory with 10 updates — GlacierEQ/mcpm.sh2 reactions · 2 comments
- May 14, 2026Bump the uv group across 1 directory with 9 updates — GlacierEQ/mcp-server-qdrant2 reactions · 3 comments
- May 14, 2026chore(deps): bump the uv group across 1 directory with 7 updates — GlacierEQ/excel-mcp-server2 reactions · 3 comments
- Apr 21, 2026build(deps): bump the uv group across 16 directories with 3 updates — GlacierEQ/mcp-context-forge2 reactions · 1 comment
- Apr 11, 2026chore(deps): update fastmcp requirement from >=2.0 to >=3.2.3 in /python — KooshaPari/AgilePlus2 reactions · 6 comments
- Apr 1, 2026build(deps): bump the uv group across 15 directories with 1 update — GlacierEQ/mcp-context-forge2 reactions · 2 comments
- Apr 1, 2026Bump fastmcp from 2.14.3 to 3.2.0 — cicero-im/pydantic-ai2 reactions · 1 comment
- Apr 1, 2026Bump fastmcp from 2.14.1 to 3.2.0 — cicero-im/pyai-wealth-management2 reactions · 1 comment
- Apr 1, 2026build(deps): bump fastmcp from 2.13.2 to 3.2.0 — cicero-im/cuga-agent2 reactions · 2 comments
- Apr 1, 2026build(deps): bump fastmcp from 2.14.3 to 3.2.0 — cicero-im/logfire-assistant2 reactions · 1 comment
- Apr 1, 2026build(deps): bump fastmcp from 2.14.1 to 3.2.0 — cicero-im/pydantic-ai-todo2 reactions · 2 comments
- Apr 1, 2026chore(deps-dev): bump fastmcp from 2.14.4 to 3.2.0 in /python — cicero-im/mirascope2 reactions · 1 comment
- Apr 1, 2026chore(deps): bump fastmcp from 2.14.5 to 3.2.0 — cicero-im/mixseek-plus2 reactions · 1 comment
- Apr 1, 2026Bump fastmcp from 3.0.2 to 3.2.0 — cicero-im/pydantic-ai-skills2 reactions · 1 comment
- Apr 1, 2026Bump fastmcp from 2.3.4 to 3.2.0 — cicero-im/pydantic-ai-docs-server2 reactions · 1 comment
- Apr 1, 2026build(deps): bump fastmcp from 2.13.0.2 to 3.2.0 — cicero-im/pydantic-ai-temporal-example2 reactions · 2 comments
- Apr 1, 2026Bump fastmcp from 2.12.4 to 3.2.0 — cicero-im/jules-mcp-server2 reactions · 1 comment
- Apr 1, 2026Bump fastmcp from 2.12.4 to 3.2.0 — cicero-im/DeepCritical2 reactions · 1 comment
- Apr 1, 2026Bump fastmcp from 2.5.2 to 3.2.0 in /mcp3-serverhttp-test — cicero-im/mcppy2 reactions · 2 comments
- Apr 1, 2026build(deps): bump fastmcp from 3.0.2 to 3.2.0 — cicero-im/llmling-agent2 reactions · 2 comments
- Apr 1, 2026chore(deps): bump fastmcp from 3.0.0b1 to 3.2.0 in /scripts/mcp in the pip group across 1 directory — KooshaPari/Tracera2 reactions · 2 comments
- Mar 31, 2026chore(deps): bump fastmcp from 3.0.0b1 to 3.2.0 in the uv group across 1 directory — KooshaPari/Tracera2 reactions · 2 comments
- Mar 31, 2026chore(deps): bump the uv group across 2 directories with 3 updates — KooshaPari/AgilePlus2 reactions · 1 comment
- Mar 31, 2026build(deps): bump the pip group across 15 directories with 1 update — GlacierEQ/mcp-context-forge2 reactions · 1 comment
- Mar 26, 2026build(deps): bump the uv group across 15 directories with 1 update — GlacierEQ/mcp-context-forge2 reactions · 2 comments
- May 19, 2026_filter_to_supported_schema crashes with AttributeError: 'bool' object has no attribute 'items' when additionalProperties is a boolean — googleapis/python-genai1 reaction · 1 comment
- Mar 23, 2026[Feature]: OpenClaw MCP Server — Expose OpenClaw tools as Model Context Protocol tools for Claude/Cursor — openclaw/openclaw1 reaction · 1 comment
On YouTube · 21
- Oct 9, 2026An AI Sent Police a Fake Murder Tip. Nobody Noticed for Two Months | AI Daily News, Oct 9 — AI Engineering News4.3k views · 1 comment
- Sep 10, 202627K ⭐ AI NYAMBUNG KE SEMUA DATA KAMU — Github God1.1k views
- Sep 28, 2026Why LangChain Built Its MCP Support on FastMCP 4.0 | Sydney Runkle Interview — Prefect941 views · 2 comments
- Sep 3, 2026FastMCP 4.0 Release | Meet Nate Nowack, New Lead Maintainer — Prefect488 views · 2 comments
- Feb 6, 2026Your MCP Server is Bad (and you should feel bad) | Jeremiah Lowin, AI Engineer Code Summit 2025 — Prefect484 views
16 more on YouTube
- Jul 30, 2026Agent Tooling Is Eating GitHub 📈 #shorts — Coding Is Art445 views
- Sep 26, 2026FastMCP 4 Upgrade Guide: What Changed Since 2.0 — Tech Square Binary407 views
- Jul 22, 2026PrefectHQ/fastmcp — The standard way to build MCP. 🟢 Clone #Shorts — ForkCast377 views
- Mar 30, 2026Code Mode | MCP Dev Summit MCP — Prefect359 views · 5 comments
- Sep 4, 2026Is Your MCP Server Actually Good? FastMCP's Lead Maintainer Explains — Prefect313 views
- Jul 21, 2026Como crear servidores MCP para tu IA con Python paso a paso — lytohlg AI282 views
- Jul 8, 2026What the "C" in MCP Actually Means (Context, Explained) | FastMCP Pod: Summer School Ep. 2 — Prefect216 views · 4 comments
- Oct 17, 2026Acht Zeilen Code, und Claude kann mehr — Kris • AI2ROI215 views · 1 comment
- May 3, 2026One CLI, 55 AI models — Repo Radar193 views
- Sep 18, 2026This Python Library Builds MCP Servers in One Decorator — Agents on My Machine124 views
- Oct 4, 2026GPT-6 Astra Couldn't Beat a Human-Made StarCraft Bot. So It Used the Bot | AI Daily News, Oct 4 — AI Engineering News98 views
- Sep 10, 202627K ⭐ AI CONNECTS TO YOUR DATA — Github God Eng75 views
- Oct 6, 2026🚀 [Fastest Growing GitHub Repos] fastmcp: The Free Tool Taking Over GitHub! #shorts — githubrepo_cloud68 views
- Jul 25, 2026PrefectHQ/fastmcp - Gource visualisation — Gourcer66 views
- Oct 6, 2026Easier MCP Server Dev with fastmcp #Shorts — developerOS India36 views
- Sep 7, 2026How MCP Actually Works: Following One Request on the Wire — The System Prompt34 views · 1 comment
On the web · 3
- Feb 22, 2026Add v3.0.2 release notes · PrefectHQ/fastmcp@e19f239 — google.com
- Aug 13, 2025Introduce fastmcp.json · Issue #1480 — google.com
- Apr 24, 2025How to call a single resource template? #239 — google.com
On Hacker News · 1
- Apr 26, 2026Supabase Auth and FastMCP Example2 points · 1 comment
On Bluesky · 1
- Jul 20, 2026📦 PrefectHQ / fastmcp ⭐ 26,366 (+77) 🗒 Python 🚀 The fast, Pythonic way to build MCP servers and clients. — @github-trending.bsky.social1 likes and repost
Other versions1 project uses a version of this.
Word for word · 1
- jlowin/fastmcp★ 28k100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository12 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- .cursor/rules/core-mcp-objects.mdcCursor rule
- docsSkill
- fix-issueSkill
- python-testsSkill
- releaseSkill
- review-issueSkill
- review-prSkill
- triageSkill
- fastmcp-client-cliSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

