This project has been archived by its maintainers, and is no longer receiving any updates.
quickshell-docs-mcp
Live Quickshell documentation for AI coding agents.
An MCP server that gives AI agents live access to the official Quickshell documentation, so they stop guessing QML API names from stale training data.
Also included:
- Qt base types (
Rectangle,RowLayout, ...) from doc.qt.io - Official example configs from quickshell-examples
- Real-world implementations, searchable across the Caelestia and Noctalia shells
Every result carries its source URL. When implementations disagree with the docs, the docs win.
Table of Contents
Install
pip install quickshell-docs-mcp # or: uvx quickshell-docs-mcp
From source
git clone https://github.com/franklinnolasco7/quickshell-docs-mcp
cd quickshell-docs-mcp
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
Nix
nix run github:franklinnolasco7/quickshell-docs-mcp
Docker
docker build -t quickshell-docs-mcp .
docker run --rm -i quickshell-docs-mcp # speaks MCP over stdio
Configure
opencode (opencode.json):
{
"mcp": {
"quickshell-docs": {
"type": "local",
"command": ["/absolute/path/to/quickshell-docs-mcp/.venv/bin/quickshell-docs-mcp"],
"enabled": true
}
}
}
Claude Desktop: same JSON under claude_desktop_config.json, wrapped in mcpServers. For HTTP transport, set QUICKSHELL_DOCS_MCP_TRANSPORT=http (plus optional HOST/PORT).
Set
QUICKSHELL_DOCS_MCP_LOG=DEBUGfor verbose request logging on stderr. Bulk doc indexes persist on disk (~/.cache/quickshell-docs-mcp, 30-day freshness). Relocate or disable withQUICKSHELL_DOCS_MCP_DISK_CACHE, re-tune withQUICKSHELL_DOCS_MCP_DISK_TTL_HOURS.
Tools
| Tool | What it does |
|---|---|
quickshell_search |
Search type names, guide slugs, optionally full text including deep search over type pages. Call this before writing QML from memory. |
quickshell_list_versions |
Published doc versions and the latest |
quickshell_list_types / quickshell_get_type |
Browse and fetch Quickshell QML type docs |
quickshell_list_guide_pages / quickshell_get_guide_page |
Usage Guide pages as Markdown |
quickshell_about / quickshell_changelog |
About and Changelog pages |
quickshell_list_qt_types / quickshell_get_qt_type |
Qt-side types (QtQuick, Controls, Layouts, ...) |
quickshell_list_examples / quickshell_get_example |
Official example configs |
quickshell_search_implementations |
Find bar/OSD/IPC/... patterns in Caelestia or Noctalia |
quickshell_get_implementation |
Read those files, narrowed via find= |
quickshell_stats |
Session call counts and cache-hit ratio |
Page-fetching tools accept version="latest" (default) or an explicit version like "v0.3.0". Cache-backed tools accept refresh=True to bypass the 30-minute cache.
Source Hierarchy
- Official documentation (quickshell.org, doc.qt.io), authoritative
- Official examples, next in line
- Caelestia / Noctalia results, practical references labeled
real-world implementation
References
Data comes from these upstream sources:
| Source | URL | What it provides |
|---|---|---|
| Quickshell docs | https://quickshell.org | Type references, usage guide, changelog |
| Qt docs | https://doc.qt.io/qt-6 | QtQuick base types (Rectangle, RowLayout, etc.) |
| Quickshell examples | https://git.outfoxxed.me/quickshell/quickshell-examples | Official example configs |
| Caelestia shell | https://github.com/caelestia-dots/shell | Real-world implementation references |
| Noctalia shell | https://github.com/noctalia-dev/noctalia (legacy-v4) | Real-world implementation references |
Development
See CONTRIBUTING.md for setup, workflow, and how to submit changes.
Limitations
- Deep type-page search (
include_type_pages=True) fetches every type page once per machine (~15s cold, then cached on disk for 30 days across sessions;refresh=Trueforces a refetch). Plain name search stays instant. - Example configs may target a different Quickshell version than yours; listings include a
last_modifieddate so you can judge their age.
License
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file quickshell_docs_mcp-1.0.0.tar.gz.
File metadata
- Download URL: quickshell_docs_mcp-1.0.0.tar.gz
- Upload date:
- Size: 148.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5181e8ebaa628bf677d09ddc5ef6b9ef66fbd82ef78a4f3142c81cc42659b6e
|
|
| MD5 |
4d80c0777c2b41d3db098985a81f23c9
|
|
| BLAKE2b-256 |
2c0effa8d9b02c3e32dbbb4f411f7b23b7eb3b3111b6fef181c17c24109abb66
|
Provenance
The following attestation bundles were made for quickshell_docs_mcp-1.0.0.tar.gz:
Publisher:
semantic-release.yml on franklinnolasco7/quickshell-docs-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quickshell_docs_mcp-1.0.0.tar.gz -
Subject digest:
d5181e8ebaa628bf677d09ddc5ef6b9ef66fbd82ef78a4f3142c81cc42659b6e - Sigstore transparency entry: 2583504874
- Sigstore integration time:
-
Permalink:
franklinnolasco7/quickshell-docs-mcp@93b198236e645f01bc7e3efd74582bb59763a7ea -
Branch / Tag:
refs/heads/main - Owner: https://github.com/franklinnolasco7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
semantic-release.yml@93b198236e645f01bc7e3efd74582bb59763a7ea -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file quickshell_docs_mcp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: quickshell_docs_mcp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 27.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b04fdd3b1377c795ed4a6f2fca6a6de662dbf3c328087ff09857e93692952b18
|
|
| MD5 |
e38afccf52042c4c76e5f89159ae151b
|
|
| BLAKE2b-256 |
fa6d915d356857383cf9b4ed5d5441560ea61c7ca0102cab4461712bda2bac3b
|
Provenance
The following attestation bundles were made for quickshell_docs_mcp-1.0.0-py3-none-any.whl:
Publisher:
semantic-release.yml on franklinnolasco7/quickshell-docs-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quickshell_docs_mcp-1.0.0-py3-none-any.whl -
Subject digest:
b04fdd3b1377c795ed4a6f2fca6a6de662dbf3c328087ff09857e93692952b18 - Sigstore transparency entry: 2583504891
- Sigstore integration time:
-
Permalink:
franklinnolasco7/quickshell-docs-mcp@93b198236e645f01bc7e3efd74582bb59763a7ea -
Branch / Tag:
refs/heads/main - Owner: https://github.com/franklinnolasco7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
semantic-release.yml@93b198236e645f01bc7e3efd74582bb59763a7ea -
Trigger Event:
workflow_dispatch
-
Statement type: