Skip to main content
Glama

Flet MCP Server dynamically fetches and serves official Flet documentation, controls, packages, and ecosystem resources for AI agents and MCP-compatible clients.

Nwokike/flet-mcp-server MCP server

Features

  • GitHub Tree Sync: Maps documentation in real-time from the Flet repository.

  • Intelligent Caching: Uses diskcache for 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

FLET_MCP_CACHE_DIR

/tmp/flet-mcp-cache

Directory for persistent cache storage

GITHUB_TOKEN

(none)

GitHub personal access token for higher API rate limits

FLET_REPO

flet-dev/flet

GitHub repository to fetch docs from

FLET_BRANCH

main

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.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.AsyncClient with proper lifecycle management via server lifespan

  • Custom Exceptions: DocNotFoundError, PackageNotFoundError, FetchError, TreeFetchError for better error handling

  • Configurable Repo/Branch: FLET_REPO and FLET_BRANCH environment variables for version pinning

  • Robust 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-web to fallback package list

  • Initial release with 6 MCP tools

  • GitHub Tree API integration with diskcache

  • PyPI verification for ecosystem packages

License

MIT

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

–Maintainers
–Response time
2wRelease cycle
3Releases (12mo)

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