flet-mcp-server
The Flet MCP Server provides AI agents with tools to explore, search, and retrieve official Flet UI framework documentation, controls, and ecosystem packages.
list_flet_controls: Get a comprehensive list of all available Flet UI controls to discover what UI elements can be built.search_flet_docs(query): Search the official Flet docs index by keyword (e.g., 'dropdown', 'layout') to find relevant documentation file paths.get_flet_doc(doc_path): Fetch the full Markdown content of a specific documentation page using a file path.list_official_packages: Retrieve all official Flet extension packages (e.g.,flet-audio,flet-video).search_flet_ecosystem(query): Search for community-built third-party Flet packages and components (e.g., 'calendar', 'auth').get_package_details(package_name): Fetch PyPI details including the current version and installation instructions for any Flet-related package.
Flet MCP Server dynamically fetches and serves official Flet documentation, controls, packages, and ecosystem resources for AI agents and MCP-compatible clients.
Features
GitHub Tree Sync: Maps documentation in real-time from the Flet repository.
Intelligent Caching: Uses
diskcachefor fast responses with 24-hour TTL.Smart Search: Fuzzy matching, keyword aliases, and direct path search over documentation.
Ecosystem Discovery: Finds and verifies official and community Flet packages via PyPI metadata.
AI-Optimized: Tool definitions designed for LLM understanding with clear usage guidance.
Configurable: Supports custom Flet repo/branch via environment variables.
Resource Safe: Shared HTTP client with proper lifecycle management and graceful shutdown.
Related MCP server: MPC Docs Server
Tools Included
1. list_flet_controls
List all available Flet UI controls.
2. search_flet_docs(query)
Search the documentation index with fuzzy matching and keyword aliases.
3. get_flet_doc(doc_path)
Get raw Markdown for a specific doc file.
4. list_official_packages()
List official Flet extension packages from the monorepo.
5. search_flet_ecosystem(query)
Search for verified community Flet components on GitHub.
6. get_package_details(package_name)
Fetch version, type classification, and installation info from PyPI.
Client Configuration Examples
VSCode
Add this to your .vscode/mcp.json:
{
"servers": {
"flet-mcp-server": {
"command": "uvx",
"args": ["flet-mcp-server"]
}
}
}
Antigravity
Add this to your mcp_config.json:
{
"mcpServers": {
"flet-mcp-server": {
"command": "uvx",
"args": ["flet-mcp-server"]
}
}
}
Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"flet-mcp-server": {
"command": "uvx",
"args": ["flet-mcp-server"]
}
}
}
Cursor / Windsurf
In your IDE's MCP settings, add a new server:
Name: Flet MCP
Type: Command
Command:
uvx flet-mcp-server
Zed
Add this to your settings.json file inside the context_servers object:
{
"context_servers": {
/// Configure an MCP server that runs locally via stdin/stdout
///
/// The name of your MCP server
"flet-mcp-server": {
/// The command which runs the MCP server
"command": "uvx",
/// The arguments to pass to the MCP server
"args": [
"flet-mcp-server"
],
/// The environment variables to set
"env": {}
}
}
}
OpenCode
Add this to your ~/.config/opencode/opencode.json or project-level .opencode/opencode.json:
{
"$schema": "[https://opencode.ai/config.json](https://opencode.ai/config.json)",
"mcp": {
"flet-mcp": {
"type": "local",
"command": ["uvx", "flet-mcp-server"],
"enabled": true
}
}
}
For authenticated GitHub API access (higher rate limits), set GITHUB_TOKEN in your environment:
{
"$schema": "[https://opencode.ai/config.json](https://opencode.ai/config.json)",
"mcp": {
"flet-mcp": {
"type": "local",
"command": ["uvx", "flet-mcp-server"],
"enabled": true,
"env": {
"GITHUB_TOKEN": "your-github-token"
}
}
}
}
Development
Directory Structure
flet-mcp-server/
├── .github/
│ └── workflows/
│ ├── ci.yml
│ └── publish.yml
├── docs/
│ ├── ARCHITECTURE.md
│ └── CONTRIBUTING.md
├── src/
│ └── flet_mcp/
│ ├── services/
│ │ ├── github_docs.py
│ │ ├── packages.py
│ │ └── __init__.py
│ ├── __init__.py
│ ├── exceptions.py
│ ├── http.py
│ ├── main.py
│ └── server.py
├── tests/
│ └── test_fetcher.py
├── LICENSE
├── README.md
├── pyproject.toml
└── uv.lock
Install
git clone https://github.com/Nwokike/flet-mcp-server.git
cd flet-mcp-server
uv sync
Test
uv run pytest
Lint
uv run ruff check .
Changelog
v0.2.0
Smart Search: Added fuzzy matching, keyword alias index, and multi-strategy search (direct > alias > fuzzy)
Shared HTTP Client: Single
httpx.AsyncClientwith proper lifecycle management via server lifespanCustom Exceptions:
DocNotFoundError,PackageNotFoundError,FetchError,TreeFetchErrorfor better error handlingConfigurable Repo/Branch:
FLET_REPOandFLET_BRANCHenvironment variables for version pinningRobust Control Parsing: Set-based deduplication with safer path parsing
Concurrent Verification: Batched PyPI verification with semaphore-based rate limiting for ecosystem search
Graceful Shutdown: Server lifespan handler cleans up HTTP connections
Better Error Handling: All tools catch and format errors gracefully for LLM consumption
Mocked Tests: Full test suite with mocked HTTP responses for fast, reliable CI
OpenCode Support: Added OpenCode MCP configuration example to README
Expanded Fallback: Added
flet,flet-cli,flet-desktop,flet-webto fallback package list
Initial release with 6 MCP tools
GitHub Tree API integration with diskcache
PyPI verification for ecosystem packages
License
MIT
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Nwokike/flet-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server