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.
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 / Cascade
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
💻 OpenCode
Add this to your ~/.opencode/opencode.json or project-level .opencode/opencode.json:
{
"$schema": "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",
"mcp": {
"flet-mcp": {
"type": "local",
"command": ["uvx", "flet-mcp-server"],
"enabled": true,
"env": {
"GITHUB_TOKEN": "your-github-token"
}
}
}
}Environment Variables
Variable | Default | Description |
|
| Directory for persistent cache storage |
| (none) | GitHub personal access token for higher API rate limits |
|
| GitHub repository to fetch docs from |
|
| Branch or tag to fetch docs from |
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.lockInstall
git clone https://github.com/Nwokike/flet-mcp-server.git
cd flet-mcp-server
uv syncTest
uv run pytestLint
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
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