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