Frisian MCP (Django)

Your DRF API as MCP tools — 1,800 endpoints become 16 dispatchers, permissioned by Django.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
79%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,203Tokens (tool definitions)
~2.8 KBTypical response size
Moderate attention impact (0.94% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "django": {
      "url": "https://mcp.frisian-mcp.com/mcp/"
    }
  }
}

Remote endpoints

https://mcp.frisian-mcp.com/mcp/streamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪docs(action, params, continuation_token, mode, page, ...)

Start here — frisian-mcp documentation and server guide. Actions: about (server identity and links), getting_started (step-by-step adoption guide), integrations (Django/DRF config reference), security (auth model, OAuth, API keys, tiers), demo (explore the live demo endpoints), documents (browse all documentation articles), rag (semantic and full-text doc search).

Input Schema

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "about",
        "getting_started",
        "integrations",
        "security",
        "demo",
        "documents",
        "rag"
      ],
      "description": "Operation to perform. Omit or use 'help' to list all available actions and their required parameters."
    },
    "params": {
      "type": "object",
      "additionalProperties": true,
      "description": "Action-specific parameters. about: {version}; getting_started: {version}; integrations: {version}; security: {version}; demo: {surface}; documents: {sub_action, slug, id, category, limit, offset}; rag: {query, limit, offset, category}. 'mode', 'page', 'page_size' and 'filter_keys' are top-level ONLY on a continuation call (i.e. alongside a 'continuation_token'); otherwise they are ordinary action parameters and belong here."
    },
    "continuation_token": {
      "type": "string",
      "description": "From a probe response. Send at the TOP LEVEL, not inside 'params'."
    },
    "mode": {
      "type": "string",
      "enum": [
        "summary",
        "paginated",
        "filtered",
        "full"
      ]
    },
    "page": {
      "type": "integer",
      "default": 1
    },
    "page_size": {
      "type": "integer"
    },
    "filter_keys": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}
⚪demo(action, params, continuation_token, mode, page, ...)

Live working demo of frisian-mcp. Three capability groups: crm (contacts, companies, deals, tasks, memos), ops (automation, infrastructure, notifications, security, compliance), platform (analytics, data, reporting, integrations, users). All reads and writes are real and persistent.

Input Schema

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "crm",
        "ops",
        "platform"
      ],
      "description": "Operation to perform. Omit or use 'help' to list all available actions and their required parameters."
    },
    "params": {
      "type": "object",
      "additionalProperties": true,
      "description": "Action-specific parameters. crm: {resource, action}; ops: {group, action}; platform: {group, action}. 'mode', 'page', 'page_size' and 'filter_keys' are top-level ONLY on a continuation call (i.e. alongside a 'continuation_token'); otherwise they are ordinary action parameters and belong here."
    },
    "continuation_token": {
      "type": "string",
      "description": "From a probe response. Send at the TOP LEVEL, not inside 'params'."
    },
    "mode": {
      "type": "string",
      "enum": [
        "summary",
        "paginated",
        "filtered",
        "full"
      ]
    },
    "page": {
      "type": "integer",
      "default": 1
    },
    "page_size": {
      "type": "integer"
    },
    "filter_keys": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}
🟢install(action, params, continuation_token, mode, page, ...)

Installation guides for frisian-mcp integrations (Django framework tier). Actions: nautobot, netbox, paperless, edx. Each action returns the files changed to make the integration work, organised by version. Pass query for semantic search within the section.

Input Schema

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "nautobot",
        "netbox",
        "paperless",
        "edx"
      ],
      "description": "Operation to perform. Omit or use 'help' to list all available actions and their required parameters."
    },
    "params": {
      "type": "object",
      "additionalProperties": true,
      "description": "Action-specific parameters. nautobot: (no params); netbox: (no params); paperless: (no params); edx: (no params). 'mode', 'page', 'page_size' and 'filter_keys' are top-level ONLY on a continuation call (i.e. alongside a 'continuation_token'); otherwise they are ordinary action parameters and belong here."
    },
    "continuation_token": {
      "type": "string",
      "description": "From a probe response. Send at the TOP LEVEL, not inside 'params'."
    },
    "mode": {
      "type": "string",
      "enum": [
        "summary",
        "paginated",
        "filtered",
        "full"
      ]
    },
    "page": {
      "type": "integer",
      "default": 1
    },
    "page_size": {
      "type": "integer"
    },
    "filter_keys": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}
🟢troubleshooting(action, params, continuation_token, mode, page, ...)

Troubleshooting guides for frisian-mcp integrations (Django framework tier). Actions: nautobot, netbox, paperless, edx. Each action returns diagnostic guides and relevant files for that integration. Pass query for semantic search within the section.

Input Schema

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "nautobot",
        "netbox",
        "paperless",
        "edx"
      ],
      "description": "Operation to perform. Omit or use 'help' to list all available actions and their required parameters."
    },
    "params": {
      "type": "object",
      "additionalProperties": true,
      "description": "Action-specific parameters. nautobot: (no params); netbox: (no params); paperless: (no params); edx: (no params). 'mode', 'page', 'page_size' and 'filter_keys' are top-level ONLY on a continuation call (i.e. alongside a 'continuation_token'); otherwise they are ordinary action parameters and belong here."
    },
    "continuation_token": {
      "type": "string",
      "description": "From a probe response. Send at the TOP LEVEL, not inside 'params'."
    },
    "mode": {
      "type": "string",
      "enum": [
        "summary",
        "paginated",
        "filtered",
        "full"
      ]
    },
    "page": {
      "type": "integer",
      "default": 1
    },
    "page_size": {
      "type": "integer"
    },
    "filter_keys": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools