enable_docset_fts
Enable full-text search for a specific docset.
Args: identifier: The docset identifier (from list_installed_docsets)
Returns: True if FTS was successfully enabled, False otherwise
Search the docsets already installed in Dash and read a page back as plain text, at the versions sitting on your own machine.
LABSCO SUMMARY
Because the corpus is your own docsets rather than a web index, the answer matches the version in front of you instead of whatever ranks well today, and nothing about the query leaves the machine. Two limits are worth knowing up front: full-text search is per-docset and off until you enable it, and both the docset list and the search results are truncated when they would exceed 25,000 tokens.
A server over the Dash docsets installed on your Mac, searching them and returning pages through Dash's own local API.
macOS with Dash 8 installed and the docsets you intend to search already downloaded — the server reads what is there, and the listing comes back empty when nothing is. Python 3.12 or newer and uv to run it. Page loads only accept a URL pointing at the local Dash API on 127.0.0.1. MIT.
One command — uvx --from git+https://github.com/Kapeli/dash-mcp-server.git dash-mcp-server
USE CASES
Find the identifier of the docset you want, search inside it rather than across everything, and open the result as text through the local Dash API.
Turn on full-text search for that docset, then run the query again — matching now reaches the body of the pages rather than their titles alone.
The corpus is local, so a search on a plane returns the same result as one at the desk.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
enable_docset_ftsEnable full-text search for a specific docset.
Args: identifier: The docset identifier (from list_installed_docsets)
Returns: True if FTS was successfully enabled, False otherwise
list_installed_docsetsList all installed documentation sets in Dash. An empty list is returned if the user has no docsets installed. Results are automatically truncated if they would exceed 25,000 tokens.
load_documentation_pageLoad a documentation page from a load_url returned by search_documentation.
Args: load_url: The load_url value from a search result (must point to the local Dash API at 127.0.0.1)
Returns: The documentation page content as plain text with markdown-style links
search_documentationSearch for documentation across docset identifiers and snippets.
Args: query: The search query string docset_identifiers: Comma-separated list of docset identifiers to search in (from list_installed_docsets) search_snippets: Whether to include snippets in search results max_results: Maximum number of results to return (1-1000)
Results are automatically truncated if they would exceed 25,000 tokens.
BEFORE YOU INSTALL
4 tools when we connected. search_documentation matches titles only until you run enable_docset_fts for a docset.
Both documented clients run the server on your machine.
CONTEXT COST
Rated by the size of the 4 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
brew install uvuvx --from git+https://github.com/Kapeli/dash-mcp-server.git dash-mcp-server{
"mcpServers": {
"dash-api": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/Kapeli/dash-mcp-server.git",
"dash-mcp-server"
]
}
}
}claude mcp add dash-api -- uvx --from "git+https://github.com/Kapeli/dash-mcp-server.git" "dash-mcp-server"