FM

frisian-mcp/frisian-mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

6 stars 6 forks 质量 68 趋势 28NOASSERTION

Server-side, framework-permissioned MCP server for Django/DRF. Per-agent permission gating with dispatcher-pattern schema compression.

概览

frisian-mcp turns your existing Django REST Framework ViewSets into Model Context Protocol tools with zero boilerplate. Add the package, include one URL, and every ViewSet action becomes a callable MCP tool — name, description, and input schema derived from your serializers automatically. A 50-action Django app loads in 500–2,000 tokens of tools/list schema instead of the 15,000–25,000 conventional flat MCP would emit; a 60-device bulk-write response is 24 tokens instead of ~10,800 of full echo. Same surface, two orders of magnitude less context burned before the agent has done any reasoning. Full numbers in Token efficiency. A live MCP server is hosted at https://frisian-mcp.com/ for hands-on evaluation — point any MCP-compatible client at it to see the dispatcher pattern and lean envelope behavior against a real surface. The same site serves the project documentation through an MCP-consumable dispatcher, so coding agents (Claude Code, Codex, Gemini CLI, etc.

README

以下为原文 README 节选,完整内容请查看原文。

frisian-mcp

The Django MCP gateway that discovers your API automatically.

frisian-mcp turns your existing Django REST Framework ViewSets into Model Context Protocol tools with zero boilerplate. Add the package, include one URL, and every ViewSet action becomes a callable MCP tool — name, description, and input schema derived from your serializers automatically.

Designed for token-efficient agent workflows. A 50-action Django app loads in 500–2,000 tokens of tools/list schema instead of the 15,000–25,000 conventional flat MCP would emit; a 60-device bulk-write response is 24 tokens instead of ~10,800 of full echo. Same surface, two orders of magnitude less context burned before the agent has done any reasoning. Full numbers in Token efficiency.

Version: 1.1.1 | License: Apache 2.0 | Python: 3.11+ | Django: 5.x

pip install frisian-mcp

Project site:

A live MCP server is hosted at https://frisian-mcp.com/ for hands-on evaluation — point any MCP-compatible client at it to see the dispatcher pattern and lean envelope behavior against a real surface. The same site serves the project documentation through an MCP-consumable dispatcher, so coding agents (Claude Code, Codex, Gemini CLI, etc.) can connect to it directly and consume installation, configuration, and decorator reference material as part of their working context while integrating frisian-mcp into your own project.


At a glance

Feature Details
Auto-discovery Walks URL patterns at startup; registers every ViewSet action as an MCP tool
Zero boilerplate Name, description, and input schema derived from DRF serializers automatically
@mcp_dispatcher One tool → many actions; built-in help mode; per-action validation
@mcp_tool Explicit single-function tool registration for custom logic
@mcp_resource Expose server-side content via resources/list / resources/read
Filter introspection SearchFilter, OrderingFilter, DjangoFilterBackend → schema properties on list
Allowlist / denylist FRISIAN_MCP_TOOL_ALLOWLIST / FRISIAN_MCP_TOOL_DENYLIST for surgical surface control
Dispatch groups FRISIAN_MCP_DISPATCH_GROUPS — bundle N tools into 1 dispatcher; action="help" for discovery
Deferred discovery URL scan fires on first request — captures late-loading plugin ViewSets
在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "frisian-mcp": { "url": "http://localhost:8000/mcp/", "transport": "http", "headers": { "Authorization": "Bearer mytoken123" } } } }