textual-docs-mcp
An MCP server for Textual TUI framework documentation, code examples, widget references, and best practices.
What You Get
This MCP server has:
- Full-text BM25 search across all Textual documentation, guides, and examples
- Widget documentation — complete reference for every built-in widget
- Guide retrieval — layout, events, reactivity, CSS, workers, screens, and more
- Code examples — real, runnable Python examples covering common Textual patterns
- Topic catalogues — browse all available guides and widgets
All documentation is bundled inside the package — no external API calls, no network requests, no rate limits.
Installation
pip (recommended)
pip install textual-docs-mcp
From Source
git clone https://github.com/diaz3618/textual-docs-mcp.git
cd textual-docs-mcp
pip install -e ".[dev]"
Docker
docker pull ghcr.io/diaz3618/textual-docs-mcp:latest
Or build locally:
docker build -t textual-docs-mcp .
Usage
Stdio Transport (MCP Clients)
textual-docs-mcp
# or
python -m textual_docs_mcp
Docker
docker run -i textual-docs-mcp
MCP Client Configuration
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"textual-docs": {
"command": "uvx",
"args": ["textual-docs-mcp"]
}
}
}
Claude Code
claude mcp add --scope user textual-docs -- uvx textual-docs-mcp
VS Code (GitHub Copilot)
Add to .vscode/mcp.json:
{
"servers": {
"textual-docs": {
"type": "stdio",
"command": "uvx",
"args": ["textual-docs-mcp"]
}
}
}
Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"textual-docs": {
"command": "uvx",
"args": ["textual-docs-mcp"]
}
}
}
Docker
{
"mcpServers": {
"textual-docs": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/diaz3618/textual-docs-mcp:latest"]
}
}
}
Available Tools
| Tool | Description |
|---|---|
search_textual_docs_tool |
BM25 full-text search across all docs, guides, and examples |
get_guide_tool |
Fetch a specific Textual guide (layout, events, reactivity, ...) |
get_widget_docs_tool |
Fetch complete docs for a specific widget |
get_code_examples_tool |
Fetch runnable code examples for a topic |
list_guides_tool |
Catalogue of all available guides and how-to articles |
list_widgets_tool |
Catalogue of all available widget documentation |
get_textual_overview_tool |
High-level introduction to the Textual framework |
Development
# Install with dev dependencies
make dev
# Run tests
make test
# Run all checks (lint, typecheck, deadcode)
make check
# Build Docker image
make docker-build
# Rebuild documentation bundle (requires Textual source)
TEXTUAL_REPO_PATH=/path/to/textual make bundle
See make help for all available targets.
More Documentation
- Installation & Clients — Setup for multiple MCP clients
- Available Tools — Detailed tool reference
- Skills & Agents — Enhance your AI assistant
- Architecture — Module design, data flow, bundle format
Plugins
Pre-configured plugins for popular AI coding assistants:
- Claude Code — MCP config, skills, agents
- Cursor — MCP config, rules, skills
License
Metadata
Release files for textual-docs-mcp 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| textual_docs_mcp-0.1.4.tar.gz | 41.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| textual_docs_mcp-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 41.4 MB
Release files / textual_docs_mcp-0.1.4.tar.gz
| Download URL | textual_docs_mcp-0.1.4.tar.gz |
|---|---|
| Size | 41.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6cda4b0d4fc06b67b135cd6f9d0c18236e41a1c42bf3cc9977511125d0e3189a
|
|
BLAKE2b-256 checksum How to use checksums |
d9d0dd96e03ca8873ea16d7d169d94f04a56d57abefa34e2db99d126767b662c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Release files / textual_docs_mcp-0.1.4-py3-none-any.whl
| Download URL | textual_docs_mcp-0.1.4-py3-none-any.whl |
|---|---|
| Size | 203.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9fc27201afdf73bfbed0b2e14e08335b1c369a5dbd5a00eabe5bef13634dfadd
|
|
BLAKE2b-256 checksum How to use checksums |
20f13c26acc457897a5651acb6fb740cdb7e984ffb52d4e9229594904de74162
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|