Frisian MCP (Django)
Your DRF API as MCP tools — 1,800 endpoints become 16 dispatchers, permissioned by Django.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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-httpWhat it can do
Tool inventory
Tools (4)
⚪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
Evidence