Skip to content
ai-supply.store
DiscoverCategoriesLeaderboardsCommunityAgent APIFAQ
Sign inSign up free
catalog / Agentic capability / FastMCP
◇MCP serverAgentic capabilityFree

FastMCP

Apache-2.0 Python framework for building MCP servers fast — decorator-based, zero boilerplate, typed tool definitions.

@ai-supply
Installs44k
⟳ upstream v4.0.3 · updated 6d ago
↗ Source repository
← More Agentic capabilityAgentic capability leaderboard →How we grade security →Source ↗
✓ Grade A · 100/100 · SafeSecurity assessment
✓No compromise signals63capabilities surfaced5of 20 OWASP controls clear
Broad capability surfaceBroad capability surfaceSuspicious network referencesPotentially unbounded loop
scanned 5d ago·osv · gitleaks · opengrep · picklescan + heuristics·full breakdown in the Security tab ↓

FastMCP

FastMCP is a high-level Python framework for building Model Context Protocol (MCP) servers with minimal boilerplate. Inspired by FastAPI's decorator pattern, it lets you expose Python functions as MCP tools, resources, and prompts in seconds — handling all protocol-level serialization, schema generation, and transport setup automatically.

Key features

  • Decorator-based API: @mcp.tool(), @mcp.resource(), @mcp.prompt() — just annotate functions
  • Automatic JSON Schema generation from Python type hints
  • Supports stdio and SSE (HTTP) transports
  • Built-in testing utilities — run MCP servers in-process for unit tests
  • Async-first but sync functions work too
  • Apache-2.0 license

Quick start

pip install fastmcp
from fastmcp import FastMCP

mcp = FastMCP("My AI Tool Server")

@mcp.tool()
def add(a: int, b: int) -> int:
    """Add two numbers together."""
    return a + b

@mcp.resource("config://settings")
def get_settings() -> str:
    """Return application settings."""
    return "debug=false, version=1.0"

if __name__ == "__main__":
    mcp.run()  # stdio transport by default
# Run with SSE transport for HTTP access
fastmcp run server.py --transport sse --port 8000

Install via ai-supply

npx ai-supply add fastmcp-python

Curated mirror of the open-source FastMCP (Apache-2.0). Get it from the source.

Rating rank
#1
of 35 in Agentic capability
Install rank
#30
of 35 in Agentic capability
Security score
100/100 · A
safe
Security rank
#1
of 35 in Agentic capability
Installs
44k
cat avg 186k
This listing vs category average
Installs
this
cat avg
Security (of 100)
this
cat avg
Adoption trend
See the Agentic capability leaderboard →
✓ Security: Safe · 100100/100 · grade Ascanned 5d ago
✓ no compromise signals63 risk-surface · 10/20 OWASP controls flagged

Compromise signals — malicious or tampered code (leaked secrets, backdoors, a dropped executable) — reduce the score, and known dependency CVEs carry a bounded penalty (they warrant review but never QUARANTINE — update the dependency to clear). Other dangerous-by-capability traits are risk surface, expected for some capabilities. Every finding is mapped to its OWASP control below.

What this capability can do · high confidence (static)
Tools (25)
custom_nameinteractive_taskpremium_analysisaddcalculatefetch_datamy_tooladd_notesave_contactlist_contactscreate_bugsearch_contactsteam_directoryquarterly_revenueticket_breakdownsales_dashboardregional_salessales_overviewgreetslow_computationprocesssearchfetchsave
⚑ filesystem⚑ shell⚑ network⚑ secrets
egress → api.github.com, pypi.org, gofastmcp.com, github\.com, stackoverflow.com, agents-md-generator.fastmcp.app, public-code-search.fastmcp.app, api.mintlify.com +32

Findings mapped to the OWASP Top 10 for LLM Applications (2025) and the OWASP Machine Learning Security Top 10. Expand any flagged control for the exact findings — compromise reduces the score; expected/risk-surface do not, except a known CVE, which carries a small bounded penalty (high/critical → Review).

OWASP Top 10 for LLM Applications
⚠LLM01Prompt Injectionhigh
Adversarial instructions embedded in an artifact that hijack a downstream LLM.
•Prompt-injection phrasing — instruction-subversion language detected · PrefectHQ-fastmcp-e3fb4af/docs/getting-started/upgrading/from-mcp-sdk-v2.mdx (CWE-77)expected
⚠LLM02Sensitive Information Disclosurehigh
Secrets, credentials or PII shipped inside the artifact.
•Embedded credentials — found: hardcoded credential · PrefectHQ-fastmcp-e3fb4af/docs/integrations/google.mdx (CWE-798)expected
•Embedded credentials — found: credentials in URL · PrefectHQ-fastmcp-e3fb4af/tests/server/auth/test_redirect_validation.py (CWE-798)expected
•Low-confidence secret match — 1 possible: generic-api-key · PrefectHQ-fastmcp-e3fb4af/fastmcp_slim/fastmcp/server/auth/providers/google.py (CWE-798)risk surface
⚠LLM05Improper Output Handlinghigh
Code that pipes model/user output into shell, eval, SQL or paths unsafely.
•Suspicious code patterns — OS command execution · PrefectHQ-fastmcp-e3fb4af/.claude/skills/release/scripts/changelog_entry.py (CWE-78)expected
•Suspicious code patterns — pipe-to-shell install · PrefectHQ-fastmcp-e3fb4af/.github/workflows/marvin-dedupe-issues.yml (CWE-494)expected
•Suspicious code patterns — dynamic code execution · PrefectHQ-fastmcp-e3fb4af/docs/python-sdk/fastmcp-experimental-transforms-code_mode.mdx (CWE-95)expected
•Encoded path traversal — percent/utf-8-encoded '../' sequence — bypasses naive path filters · PrefectHQ-fastmcp-e3fb4af/docs/servers/resources.mdx (CWE-22)expected
•Suspicious code patterns — child_process exec · PrefectHQ-fastmcp-e3fb4af/docs/servers/versioning.mdx (CWE-78)expected
•Suspicious code patterns — pipe-to-shell install; OS command execution · PrefectHQ-fastmcp-e3fb4af/fastmcp_slim/fastmcp/utilities/mcp_server_config/v1/environments/uv.py (CWE-494)expected
⚠LLM06Excessive Agencyhigh
Over-broad tool/permission surface or unrestricted egress.
•External endpoints declared — 2 distinct host(s) · PrefectHQ-fastmcp-e3fb4af/.claude/hooks/session-init.shexpected
•External endpoints declared — 1 distinct host(s) · PrefectHQ-fastmcp-e3fb4af/.github/ISSUE_TEMPLATE/bug.ymlexpected
•Broad capability surface — 3 high-impact capability categories referenced — verify least-privilege · PrefectHQ-fastmcp-e3fb4af/.github/actions/run-claude/action.yml (CWE-272)risk surface
•External endpoints declared — 11 distinct host(s) · PrefectHQ-fastmcp-e3fb4af/README.mdexpected
•Broad capability surface — 4 high-impact capability categories referenced — verify least-privilege · PrefectHQ-fastmcp-e3fb4af/dev-docs/v3-notes/v3-features.md (CWE-272)risk surface
•External endpoints declared — 12 distinct host(s) · PrefectHQ-fastmcp-e3fb4af/dev-docs/v3-notes/v3-features.mdexpected
•External endpoints declared — 4 distinct host(s) · PrefectHQ-fastmcp-e3fb4af/dev-docs/v4-notes/change-register.mdexpected
•External endpoints declared — 5 distinct host(s) · PrefectHQ-fastmcp-e3fb4af/docs/apps/low-level.mdxexpected
•External endpoints declared — 3 distinct host(s) · PrefectHQ-fastmcp-e3fb4af/docs/changelog.mdxexpected
•Egress to a private/loopback host — 127.0.0.1 · PrefectHQ-fastmcp-e3fb4af/docs/deployment/http.mdx (CWE-918)expected
•External endpoints declared — 8 distinct host(s) · PrefectHQ-fastmcp-e3fb4af/docs/deployment/http.mdxexpected
•External endpoints declared — 6 distinct host(s) · PrefectHQ-fastmcp-e3fb4af/docs/getting-started/quickstart.mdxexpected
•External endpoints declared — 7 distinct host(s) · PrefectHQ-fastmcp-e3fb4af/docs/getting-started/upgrading/from-fastmcp-2.mdxexpected
•Egress to an anonymous-paste / tunnel / OOB endpoint — abc123.ngrok.io, your-server.ngrok.io · PrefectHQ-fastmcp-e3fb4af/docs/integrations/chatgpt.mdx (CWE-200)expected
•Egress to a private/loopback host — 127.0.0.2 · PrefectHQ-fastmcp-e3fb4af/docs/python-sdk/fastmcp-server-auth-redirect_validation.mdx (CWE-918)expected
•External endpoints declared — 9 distinct host(s) · PrefectHQ-fastmcp-e3fb4af/docs/python-sdk/fastmcp-server-auth-redirect_validation.mdxexpected
•Egress to a private/loopback host — 127.0.0.1, [::1] · PrefectHQ-fastmcp-e3fb4af/docs/servers/auth/oauth-proxy.mdx (CWE-918)expected
•External endpoints declared — 23 distinct host(s) · PrefectHQ-fastmcp-e3fb4af/docs/servers/auth/oauth-proxy.mdxexpected
•External endpoints declared — 10 distinct host(s) · PrefectHQ-fastmcp-e3fb4af/docs/v2/integrations/oci.mdxexpected
•External endpoints declared — 14 distinct host(s) · PrefectHQ-fastmcp-e3fb4af/docs/v2/servers/auth/oauth-proxy.mdxexpected
•External endpoints declared — 17 distinct host(s) · PrefectHQ-fastmcp-e3fb4af/docs/v3/servers/auth/oauth-proxy.mdxexpected
•Egress to a private/loopback host — 127.0.0.2, 127.0.0.1 · PrefectHQ-fastmcp-e3fb4af/tests/server/auth/oauth_proxy/test_client_registration.py (CWE-918)expected
•External endpoints declared — 15 distinct host(s) · PrefectHQ-fastmcp-e3fb4af/tests/server/auth/providers/test_azure.pyexpected
•Egress to a private/loopback host — 127.0.0.1, [::1], 127.0.0.2, 127.5.5.5 · PrefectHQ-fastmcp-e3fb4af/tests/server/auth/test_oauth_proxy_redirect_validation.py (CWE-918)expected
•External endpoints declared — 22 distinct host(s) · PrefectHQ-fastmcp-e3fb4af/tests/server/auth/test_oauth_proxy_redirect_validation.pyexpected
⚠LLM07System Prompt Leakagehigh
Secrets, internal hosts or proprietary logic exposed in shipped prompts.
•Internal host / private infrastructure reference — shipped content references a private IP range or internal-only host · PrefectHQ-fastmcp-e3fb4af/docs/clients/transports.mdx (CWE-200)risk surface
•Embedded credentials — found: hardcoded credential · PrefectHQ-fastmcp-e3fb4af/docs/integrations/google.mdx (CWE-798)expected
•Embedded credentials — found: credentials in URL · PrefectHQ-fastmcp-e3fb4af/tests/server/auth/test_redirect_validation.py (CWE-798)expected
•Low-confidence secret match — 1 possible: generic-api-key · PrefectHQ-fastmcp-e3fb4af/fastmcp_slim/fastmcp/server/auth/providers/google.py (CWE-798)risk surface
⚠LLM10Unbounded Consumptionmedium
Unbounded loops/recursion causing DoS or runaway cost.
Enforced at runtime by the gateway (rate limits + spend caps + size caps); static check flags unbounded loops.
•Potentially unbounded loop — an infinite loop (while True / while(1) / for(;;)) may cause runaway consumption · PrefectHQ-fastmcp-e3fb4af/docs/clients/tasks.mdx (CWE-835)risk surface
⚠LLM03Supply Chainlow
Vulnerable/compromised dependencies, models or archives in the artifact.
•Dependency manifest — 2 pip requirements declared · PrefectHQ-fastmcp-e3fb4af/examples/auth/aws_oauth/requirements.txtrisk surface
§LLM09MisinformationGovernance
Artifacts designed to produce false/deceptive output.
Detectable only by runtime behavioral evaluation; addressed via responsible-use attestation.
✓LLM04Data and Model PoisoningPassed
Backdoors/poisoning in training data or serialized models.
Behavioral poisoning needs model execution; static check covers unsafe serialization + dataset skew only.
✓LLM08Vector and Embedding WeaknessesPassed
PII or plaintext source leakage in embedding/vector exports.
Embedding inversion/poisoning is largely runtime; static check covers PII in vector exports.
OWASP Machine Learning Security Top 10
⚠ML02Data Poisoninghigh
Poisoned training datasets with triggers or anomalous distributions.
Static check covers trigger phrasing, PII and label skew; full poisoning detection is runtime.
•Prompt-injection phrasing — instruction-subversion language detected · PrefectHQ-fastmcp-e3fb4af/docs/getting-started/upgrading/from-mcp-sdk-v2.mdx (CWE-77)expected
⚠ML09Output Integrityhigh
Middleware tampering with model outputs in transit.
Gateway enforces TLS + response integrity; static check flags output-rewriting code.
•Suspicious code patterns — OS command execution · PrefectHQ-fastmcp-e3fb4af/.claude/skills/release/scripts/changelog_entry.py (CWE-78)expected
•Suspicious code patterns — pipe-to-shell install · PrefectHQ-fastmcp-e3fb4af/.github/workflows/marvin-dedupe-issues.yml (CWE-494)expected
•Suspicious code patterns — dynamic code execution · PrefectHQ-fastmcp-e3fb4af/docs/python-sdk/fastmcp-experimental-transforms-code_mode.mdx (CWE-95)expected
•Encoded path traversal — percent/utf-8-encoded '../' sequence — bypasses naive path filters · PrefectHQ-fastmcp-e3fb4af/docs/servers/resources.mdx (CWE-22)expected
•Suspicious code patterns — child_process exec · PrefectHQ-fastmcp-e3fb4af/docs/servers/versioning.mdx (CWE-78)expected
•Suspicious code patterns — pipe-to-shell install; OS command execution · PrefectHQ-fastmcp-e3fb4af/fastmcp_slim/fastmcp/utilities/mcp_server_config/v1/environments/uv.py (CWE-494)expected
⚠ML06AI Supply Chainlow
Compromised PyPI/npm packages, typosquats, unsafe serialized models.
•Dependency manifest — 2 pip requirements declared · PrefectHQ-fastmcp-e3fb4af/examples/auth/aws_oauth/requirements.txtrisk surface
§ML01Input Manipulation (Adversarial)Governance
Models vulnerable to adversarial perturbations.
Requires runtime robustness evaluation; addressed via publisher robustness attestation.
§ML03Model InversionGovernance
Training data reconstructable from a model's outputs.
Runtime/evaluation property; addressed via model-card data-provenance + DP attestation.
§ML04Membership InferenceGovernance
Determining whether a record was in the training set.
Runtime/evaluation property; addressed via overfitting disclosure + DP attestation.
§ML08Model SkewingGovernance
Models trained on skewed data producing biased output.
Requires fairness evaluation; addressed via model-card bias/limitations disclosure.
✓ML05Model TheftPassed
Unlicensed re-distribution / license-incompatible derivatives.
Static check verifies license declaration; extraction throttling is runtime.
✓ML07Transfer Learning AttackPassed
Backdoored base models / LoRA adapters propagating to derivatives.
Backdoor detection needs behavioral probing; static check covers unsafe serialization + provenance.
✓ML10Model Poisoning (Weights)Passed
Tampered model weight files; integrity must be verifiable.
Static check enforces safe formats + records a content hash for downstream verification.
Other findings (34) · hygiene / uncategorized
•Unrecognized file type — '.ccignore' is not on the allowlist · PrefectHQ-fastmcp-e3fb4af/.ccignorerisk surface
•Unrecognized file type — '.mdc' is not on the allowlist · PrefectHQ-fastmcp-e3fb4af/.cursor/rules/core-mcp-objects.mdcrisk surface
•Unrecognized file type — '.gitignore' is not on the allowlist · PrefectHQ-fastmcp-e3fb4af/.gitignorerisk surface
•Unrecognized file type — '.python-version' is not on the allowlist · PrefectHQ-fastmcp-e3fb4af/.python-versionrisk surface
•Unrecognized file type — '.?' is not on the allowlist · PrefectHQ-fastmcp-e3fb4af/LICENSErisk surface
•Unrecognized file type — '.mdx' is not on the allowlist · PrefectHQ-fastmcp-e3fb4af/docs/apps/architecture.mdxrisk surface
•Suspicious network references — raw IP URL (9 URLs) · PrefectHQ-fastmcp-e3fb4af/docs/clients/auth/oauth.mdxrisk surface
•Suspicious network references — raw IP URL (32 URLs) · PrefectHQ-fastmcp-e3fb4af/docs/deployment/http.mdxrisk surface
•Suspicious network references — raw IP URL (4 URLs) · PrefectHQ-fastmcp-e3fb4af/docs/development/tests.mdxrisk surface
•Suspicious network references — raw IP URL (17 URLs) · PrefectHQ-fastmcp-e3fb4af/docs/integrations/auth0.mdxrisk surface
•Suspicious network references — raw IP URL (10 URLs) · PrefectHQ-fastmcp-e3fb4af/docs/integrations/authkit.mdxrisk surface
•Suspicious network references — raw IP URL (18 URLs) · PrefectHQ-fastmcp-e3fb4af/docs/python-sdk/fastmcp-server-auth-redirect_validation.mdxrisk surface
•Suspicious network references — raw IP URL (62 URLs) · PrefectHQ-fastmcp-e3fb4af/docs/servers/auth/oauth-proxy.mdxrisk surface
•Suspicious network references — raw IP URL (5 URLs) · PrefectHQ-fastmcp-e3fb4af/docs/tutorials/rest-api.mdxrisk surface
•Suspicious network references — raw IP URL (8 URLs) · PrefectHQ-fastmcp-e3fb4af/docs/v2/clients/auth/oauth.mdxrisk surface
•Suspicious network references — raw IP URL (29 URLs) · PrefectHQ-fastmcp-e3fb4af/docs/v2/deployment/http.mdxrisk surface
•Suspicious network references — raw IP URL (36 URLs) · PrefectHQ-fastmcp-e3fb4af/docs/v2/servers/auth/oauth-proxy.mdxrisk surface
•Suspicious network references — raw IP URL (16 URLs) · PrefectHQ-fastmcp-e3fb4af/docs/v2/servers/auth/remote-oauth.mdxrisk surface
•Suspicious network references — raw IP URL (47 URLs) · PrefectHQ-fastmcp-e3fb4af/docs/v3/servers/auth/oauth-proxy.mdxrisk surface
•Suspicious network references — raw IP URL (1 URLs) · PrefectHQ-fastmcp-e3fb4af/examples/auth/auth0_mcp/client.pyrisk surface
•Suspicious network references — raw IP URL (3 URLs) · PrefectHQ-fastmcp-e3fb4af/examples/auth/auth0_mcp/server.pyrisk surface
•Suspicious network references — raw IP URL (2 URLs) · PrefectHQ-fastmcp-e3fb4af/examples/auth/authkit/README.mdrisk surface
•Suspicious network references — raw IP URL (6 URLs) · PrefectHQ-fastmcp-e3fb4af/examples/auth/mounted/README.mdrisk surface
•Unrecognized file type — '.envrc' is not on the allowlist · PrefectHQ-fastmcp-e3fb4af/examples/tasks/.envrcrisk surface
•Unrecognized file type — '.typed' is not on the allowlist · PrefectHQ-fastmcp-e3fb4af/fastmcp_remote/fastmcp_remote/py.typedrisk surface
•Suspicious network references — raw IP URL (38 URLs) · PrefectHQ-fastmcp-e3fb4af/tests/client/auth/test_oauth_client.pyrisk surface
•Suspicious network references — raw IP URL (60 URLs) · PrefectHQ-fastmcp-e3fb4af/tests/server/auth/oauth_proxy/test_client_registration.pyrisk surface
•Suspicious network references — raw IP URL (22 URLs) · PrefectHQ-fastmcp-e3fb4af/tests/server/auth/providers/test_auth0_mcp.pyrisk surface
•Suspicious network references — raw IP URL (46 URLs) · PrefectHQ-fastmcp-e3fb4af/tests/server/auth/providers/test_workos.pyrisk surface
•Suspicious network references — raw IP URL (69 URLs) · PrefectHQ-fastmcp-e3fb4af/tests/server/auth/test_cimd.pyrisk surface
•Suspicious network references — raw IP URL (153 URLs) · PrefectHQ-fastmcp-e3fb4af/tests/server/auth/test_oauth_proxy_redirect_validation.pyrisk surface
•Suspicious network references — raw IP URL (141 URLs) · PrefectHQ-fastmcp-e3fb4af/tests/server/auth/test_redirect_validation.pyrisk surface
•Suspicious network references — raw IP URL (34 URLs) · PrefectHQ-fastmcp-e3fb4af/tests/server/http/test_http_auth_middleware.pyrisk surface
•Suspicious network references — raw IP URL (23 URLs) · PrefectHQ-fastmcp-e3fb4af/tests/server/providers/proxy/test_proxy_server.pyrisk surface
✔ verified source · pinned PrefectHQ-fastmcp-e3fb4af · changed since last scan · +egress github\.com, api.mintlify.com, modern.example.com, py.sdk.modelcontextprotocol.io
Check against a policy

The same gate an agent runs before installing (POST /api/v1/trust/fastmcp-python/check). Click a policy:

Consume FastMCP programmatically. Authenticate with an API key or session — see Authorize an agent.

# Agents: CHECK BEFORE YOU INSTALL (no auth) — score, grade, level, capability manifest
curl https://ai-supply.store/api/v1/trust/fastmcp-python

# Gate against your org policy (returns { pass, violations })
curl -X POST https://ai-supply.store/api/v1/trust/fastmcp-python/check \
  -H "Content-Type: application/json" \
  -d '{"minGrade":"B","denyPermissions":["shell"],"denyUnknownEgress":true}'

# CLI
npx ai-supply add fastmcp-python

# REST (install → download)
curl -X POST https://ai-supply.store/api/v1/listings/fastmcp-python/install \
  -H "Authorization: Bearer $AIM_KEY"

# MCP tool
install_listing({ "slug": "fastmcp-python" })
OpenAPI spec →
vlatest
✓ Security: Safe · 1003mo ago

Curated mirror — latest upstream source. See the repository for tagged releases.

Sign in and install this listing to leave a review.

More from @ai-supply

View profile →
◉Agent
MetaGPT
Multi-agent framework that assigns GPT roles (PM, engineer, QA) to solve complex software tasks end-to-end.
↓ 1.0M
⇄Connector
vLLM
High-throughput, memory-efficient LLM inference engine with PagedAttention and continuous batching.
↓ 892k
⇄Connector
Meilisearch
Lightning-fast open-source search engine with typo-tolerance, semantic hybrid search, and sub-50ms response times.
↓ 811k
△Eval
Weights & Biases (wandb)
ML experiment tracking and visualization — log metrics, hyperparameters, models, and media in real time.
↓ 784k
ai-supply.store

Free, security-vetted AI capabilities — skills, MCPs, plugins, agents, datasets and more, each graded and freshness-tracked, and built for humans and agents alike.

api · v3.1status · all green
Contact
support@ai-supply.storesecurity@ai-supply.store
Catalog
  • Discover
  • Categories
  • Leaderboards
  • Benchmarks
  • Security
  • Scan a repo
Community
  • Community
  • FAQ
For agents
  • Quickstart (60s)
  • Authorize an agent
  • Agent API
  • OpenAPI spec
For builders
  • Publish
  • Dashboard
Account
  • Create account
  • Sign in
  • Settings
Legal
  • Terms
  • Publisher Agreement
  • Acceptable Use
  • Privacy