Skip to content
Back to skills

Fastmcp Django

ASecurity

Use when adding, changing, deploying, testing, or debugging FastMCP MCP servers in existing Django apps, including ASGI mounting, stdio or sidecar servers, Django ORM access from MCP tools, auth and permissions, Streamable HTTP deployment, and MCP client tests.

  • 3 stars
  • 0 votes
  • 0 copies
  • 9 views
  • Added September 12, 2026
ai-agentspythonrustgosqldjangotestingdebugginggitapidatabase

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add thedixitjain/the-mega-skill-library --skill fastmcp-django --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Fastmcp Django?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Fastmcp Django
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thedixitjain-fastmcp-django/badge)](https://www.skillsdirectory.com/skills/thedixitjain-fastmcp-django)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: fastmcp-django
description: "Use when adding, changing, deploying, testing, or debugging FastMCP MCP servers in existing Django apps, including ASGI mounting, stdio or sidecar servers, Django ORM access from MCP tools, auth and permissions, Streamable HTTP deployment, and MCP client tests."
category: ai-agents-and-harness
source_repo: hashgraph-online/awesome-codex-plugins
source_path: "plugins/LVTD-LLC/skills/skills/fastmcp-django/SKILL.md"
source_url: https://github.com/hashgraph-online/awesome-codex-plugins/blob/HEAD/plugins/LVTD-LLC/skills/skills/fastmcp-django/SKILL.md
---


# FastMCP with Django

Use FastMCP to expose small, typed Django application capabilities to agents.
Keep Django as the source of truth for auth, permissions, validation, models,
transactions, and business rules. Treat FastMCP as the protocol layer around
existing application services.

## Tool Choice

- Prefer the standalone `fastmcp` package (`from fastmcp import FastMCP`) for
  new Python MCP work in Django.
- Use the official MCP Python SDK (`from mcp.server.fastmcp import FastMCP`)
  when the project has already standardized on it, needs lower-level protocol
  control, or a host explicitly requires SDK behavior.
- Consider `django-mcp-server` only when the project needs a Django-native
  package that works inside WSGI or declaratively exposes models/DRF APIs. Audit
  generated tool contracts and permissions before exposing private data.
- If the app already has a deliberate public OpenAPI surface, generated or
  proxied tools can help for a first pass. For production agents, prefer
  hand-curated tools with purpose-built names, schemas, permissions, and bounded
  outputs.

FastMCP docs track the project's `main` branch, so re-check current docs when
relying on recently added features or version badges.

## Resource Routing

Load only the files needed for the current task:

| Need | Read |
| --- | --- |
| Step-by-step implementation in an existing Django app | `workflows/add-fastmcp-to-django.md` |
| Stdio, HTTP sidecar, ASGI mount, and path-prefix examples | `references/transports.md` |
| Tool contract design, ORM boundaries, async rules, resources, and prompts | `references/tool-design.md` |
| Auth, deployment, tests, local checks, and debugging symptoms | `references/auth-deployment-testing.md` |

## Implementation Workflow

1. Read existing Django entrypoints first: `manage.py`, settings, `asgi.py`,
   `wsgi.py`, URL routing, auth middleware, APIs, background jobs, and
   deployment files.
2. Choose the transport boundary:
   - Use stdio for local desktop/editor MCP servers that run beside the app.
   - Use a separate FastMCP HTTP sidecar when Django is WSGI-only or MCP should
     scale independently.
   - Mount FastMCP into the Django ASGI process when the app already runs under
     ASGI and sharing process/domain is intentional.
3. Put MCP server registration in a small module such as `apps/core/mcp.py` or
   `project/mcp.py`.
4. Keep tool bodies thin. Call existing services, selectors, forms,
   serializers, policy methods, or domain functions.
5. Add tests through `fastmcp.Client` before wiring the transport. Most behavior
   should be tested in memory without a running web server.

## Core Rules

- Make every exposed capability explicit. Avoid generic SQL, generic model
  browsing, arbitrary imports, file path access, or "admin" tools unless the
  project has a clear allowlist and authorization plan.
- Use typed parameters, Pydantic constraints, return type annotations,
  docstrings, and small JSON-serializable return values.
- Pass durable identifiers, not Django model instances, request objects, lazy
  querysets, open files, or huge payloads.
- Paginate and cap list/search tools. Return stable IDs and summaries, not full
  model dumps.
- Inject the current user/account from validated auth context or a trusted
  dependency. Never let the model provide privileged identity fields in
  production.
- Use synchronous `def` FastMCP tools for ordinary Django ORM work unless the
  project has a clear async design.
- For long-lived MCP processes, call `close_old_connections()` around ORM work
  or centralize connection cleanup in a thin helper.
- Add timeouts to slow or externally dependent tools. Enqueue long-running work
  instead of holding MCP requests open.

## Verification

- Inspect tool names, schemas, and descriptions with `fastmcp list` or
  `fastmcp inspect` when tool contracts matter.
- Test allowed and denied users for every permissioned tool.
- Test invalid inputs, missing objects, pagination caps, destructive action
  confirmation, database state changes, and `transaction.on_commit` side
  effects.
- Add one HTTP transport smoke test when ASGI mounting, auth headers, proxy
  behavior, or URL paths changed.

## References

- FastMCP docs: https://gofastmcp.com/getting-started/welcome
- FastMCP GitHub: https://github.com/PrefectHQ/fastmcp
- FastMCP HTTP deployment: https://gofastmcp.com/deployment/http
- FastMCP tests: https://gofastmcp.com/development/tests
- FastMCP tools: https://gofastmcp.com/servers/tools
- FastMCP authentication: https://gofastmcp.com/servers/auth/authentication
- FastMCP dependency injection: https://gofastmcp.com/servers/dependency-injection
- Django async support: https://docs.djangoproject.com/en/5.2/topics/async/
- Django ASGI deployment: https://docs.djangoproject.com/en/5.2/howto/deployment/asgi/

---

**Source:** [`hashgraph-online/awesome-codex-plugins`](https://github.com/hashgraph-online/awesome-codex-plugins) → `plugins/LVTD-LLC/skills/skills/fastmcp-django/SKILL.md`

Files in this skill

  • SKILL.md5.5 KB
  • agents/openai.yaml194 B
  • references/auth-deployment-testing.md4.9 KB
  • references/tool-design.md5.7 KB
  • references/transports.md2.9 KB
  • workflows/add-fastmcp-to-django.md1.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.