Skip to content

Commit ea0bd70

Browse files
committed
Release v0.2.2
- Remove misleading default values for docset parameters - Make language parameter optional with smart defaults based on docset config - Fix markdown rendering issues with bold text in HTML summary tags - Add Kapeli to spell check dictionary - Improve documentation accuracy in README Breaking changes: - `search_docs` now requires `docset` parameter (no default) - `list_frameworks` now requires `docset` parameter (no default)
1 parent 8d7ea97 commit ea0bd70

7 files changed

Lines changed: 33 additions & 24 deletions

File tree

.cspell.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"intfp",
1919
"joomla",
2020
"jqueryui",
21+
"Kapeli",
2122
"kobold",
2223
"lgblock",
2324
"lgwin",

.vscode/settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"allowed_elements": [
2020
"details",
2121
"summary",
22+
"b"
2223
]
2324
}
2425
},

README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ Add to your MCP config and restart your MCP client. Then try asking something li
7373
DocsetMCP supports 165+ docsets including:
7474

7575
<details>
76-
<summary>**Popular Languages**</summary>
76+
<summary><b>Popular Languages</b></summary>
7777

7878
- Python (2 & 3)
7979
- JavaScript / TypeScript
@@ -90,7 +90,7 @@ DocsetMCP supports 165+ docsets including:
9090
</details>
9191

9292
<details>
93-
<summary>**Web Frameworks**</summary>
93+
<summary><b>Web Frameworks</b></summary>
9494

9595
- React / Angular / Vue
9696
- Node.js / Express
@@ -103,7 +103,7 @@ DocsetMCP supports 165+ docsets including:
103103
</details>
104104

105105
<details>
106-
<summary>**Developer Tools**</summary>
106+
<summary><b>Developer Tools</b></summary>
107107

108108
- Git (cheatsheet)
109109
- Docker (cheatsheet)
@@ -130,7 +130,7 @@ Use `list_available_docsets` to see all docsets installed on your system.
130130
Choose your MCP client below for specific setup instructions:
131131

132132
<details>
133-
<summary>**🤖 Claude Desktop**</summary>
133+
<summary><b>🤖 Claude Desktop</b></summary>
134134

135135
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
136136

@@ -148,7 +148,7 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
148148
</details>
149149

150150
<details>
151-
<summary>**⌨️ Claude Code CLI**</summary>
151+
<summary><b>⌨️ Claude Code CLI</b></summary>
152152

153153
```bash
154154
# For current project
@@ -161,7 +161,7 @@ claude mcp add --scope user docsetmcp "uvx docsetmcp"
161161
</details>
162162

163163
<details>
164-
<summary>**📝 Cursor, VS Code, Windsurf and other MCP-compatible clients**</summary>
164+
<summary><b>📝 Cursor, VS Code, Windsurf and other MCP-compatible clients</b></summary>
165165

166166
Add to your MCP configuration (Cursor: `.mcp/mcp.json` in your project root:
167167

@@ -295,8 +295,8 @@ Search and extract documentation from any docset.
295295
| Parameter | Type | Description | Default |
296296
|-----------|------|-------------|---------|
297297
| `query` | string | API/function name to search | *required* |
298-
| `docset` | string | Target docset (e.g., 'nodejs', 'python_3') | 'apple_api_reference' |
299-
| `language` | string | Programming language filter | - |
298+
| `docset` | string | Target docset (e.g., 'nodejs', 'python_3') | *required* |
299+
| `language` | string | Programming language filter | docset default |
300300
| `max_results` | int | Number of results (1-10) | 3 |
301301

302302
### 📋 `search_cheatsheet`
@@ -324,13 +324,13 @@ List frameworks/types within a specific docset.
324324

325325
| Parameter | Type | Description | Default |
326326
|-----------|------|-------------|---------|
327-
| `docset` | string | Target docset | 'apple_api_reference' |
327+
| `docset` | string | Target docset | *required* |
328328
| `filter` | string | Filter framework names | - |
329329

330330
## Troubleshooting
331331

332332
<details>
333-
<summary>**❌ "Docset not found" error**</summary>
333+
<summary><b>❌ "Docset not found" error</b></summary>
334334

335335
This means the docset isn't installed in Dash. To fix:
336336

@@ -342,7 +342,7 @@ This means the docset isn't installed in Dash. To fix:
342342
</details>
343343

344344
<details>
345-
<summary>**🔌 MCP connection failed**</summary>
345+
<summary><b>🔌 MCP connection failed</b></summary>
346346

347347
1. **Check installation**: Run `pip show docsetmcp` to verify installation
348348
2. **Test manually**: Run `uvx docsetmcp` in terminal - you should see MCP output
@@ -354,7 +354,7 @@ This means the docset isn't installed in Dash. To fix:
354354
</details>
355355

356356
<details>
357-
<summary>**📭 No results found**</summary>
357+
<summary><b>📭 No results found</b></summary>
358358

359359
- The content might not be in your local Dash cache
360360
- Try searching with different terms or partial matches
@@ -364,7 +364,7 @@ This means the docset isn't installed in Dash. To fix:
364364
</details>
365365

366366
<details>
367-
<summary>**🐛 Other issues**</summary>
367+
<summary><b>🐛 Other issues</b></summary>
368368

369369
1. **Python version**: Ensure you have Python 3.10 or higher
370370
2. **UV not found**: Install UV package manager from <https://docs.astral.sh/uv/>

docsetmcp/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
"""DocsetMCP - Extract documentation from Dash docsets as Markdown through MCP"""
22

3-
__version__ = "0.2.1"
3+
__version__ = "0.2.2"
44
__author__ = "Cody Bromley"
55
__email__ = "dev@codybrom.com"

docsetmcp/server.py

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1134,17 +1134,17 @@ def get_full_content(self) -> str:
11341134
@mcp.tool()
11351135
def search_docs(
11361136
query: str,
1137-
docset: str = "apple_api_reference",
1138-
language: str = "swift",
1137+
docset: str,
1138+
language: str | None = None,
11391139
max_results: int = 3,
11401140
) -> str:
11411141
"""
11421142
Search and extract documentation from Dash docsets as Markdown.
11431143
11441144
Args:
11451145
query: The API/function name to search for (e.g., 'AppIntent', 'fs.readFile', 'echo')
1146-
docset: Docset to search in ('apple_api_reference', 'nodejs', 'bash', etc.)
1147-
language: Programming language variant (varies by docset)
1146+
docset: Docset to search in (e.g., 'apple_api_reference', 'nodejs', 'bash')
1147+
language: Programming language variant (optional, varies by docset)
11481148
max_results: Maximum number of results to return (1-10)
11491149
11501150
Returns:
@@ -1159,6 +1159,15 @@ def search_docs(
11591159
if not 1 <= max_results <= 10:
11601160
return "Error: max_results must be between 1 and 10"
11611161

1162+
# Use docset-specific default language if none provided
1163+
if language is None:
1164+
# Get the first configured language as default
1165+
config = extractor.config
1166+
if "languages" in config and config["languages"]:
1167+
language = next(iter(config["languages"]))
1168+
else:
1169+
language = "swift" # Fallback for compatibility
1170+
11621171
return extractor.search(query, language, max_results)
11631172

11641173

@@ -1187,14 +1196,12 @@ def list_available_docsets() -> str:
11871196

11881197

11891198
@mcp.tool()
1190-
def list_frameworks(
1191-
docset: str = "apple_api_reference", filter: str | None = None
1192-
) -> str:
1199+
def list_frameworks(docset: str, filter: str | None = None) -> str:
11931200
"""
11941201
List available frameworks/types in a specific docset.
11951202
11961203
Args:
1197-
docset: Docset to list from ('apple_api_reference', 'nodejs', 'bash', etc.)
1204+
docset: Docset to list from (e.g., 'nodejs', 'python_3', 'bash')
11981205
filter: Optional filter for framework/type names
11991206
12001207
Returns:

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "docsetmcp",
3-
"version": "0.2.1",
3+
"version": "0.2.2",
44
"description": "Model Context Protocol server for Dash-style docsets",
55
"scripts": {
66
"setup": "./scripts/setup_env.sh",

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
setup(
1414
name="docsetmcp",
15-
version="0.2.1",
15+
version="0.2.2",
1616
author="Cody Bromley",
1717
author_email="dev@codybrom.com",
1818
description="Search local documentation from Dash through MCP",

0 commit comments

Comments
 (0)