diff --git a/README.md b/README.md index b00ab16..255970c 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Install the DocPull runtime, add the marketplace, and install the plugins you need: ```bash -pipx install 'docpull[mcp]==6.5.1' +pipx install 'docpull[mcp]==6.5.3' codex plugin marketplace add raintree-technology/plugins codex plugin add docpull@raintree codex plugin add hig-doctor@raintree @@ -27,7 +27,8 @@ codex plugin add @raintree codex plugin remove @raintree ``` -DocPull 6.5.1 constrains its MCP runtime to the compatible major version. The +DocPull 6.5.3 constrains its MCP runtime to the compatible major version and +reports the exact setup command when its executable is missing. The immutable `v0.1.0` tag records the withdrawn 6.5.0 bundle, and `v0.1.1` records the rollback. diff --git a/plugins.lock.json b/plugins.lock.json index 748c216..38dea58 100644 --- a/plugins.lock.json +++ b/plugins.lock.json @@ -4,10 +4,10 @@ { "name": "docpull", "repository": "https://github.com/raintree-technology/docpull.git", - "ref": "v6.5.1", - "commit": "ca55534347234990c361da83571472e00d6f33da", + "ref": "v6.5.3", + "commit": "cd9cc695974c64a6cb3be9c1436b0475db1c933e", "sourcePaths": ["plugin"], - "version": "6.5.1" + "version": "6.5.3" }, { "name": "hig-doctor", diff --git a/plugins/docpull/.claude-plugin/plugin.json b/plugins/docpull/.claude-plugin/plugin.json index 0ff39e3..cce8849 100644 --- a/plugins/docpull/.claude-plugin/plugin.json +++ b/plugins/docpull/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "docpull", - "version": "6.5.1", + "version": "6.5.3", "description": "Pull public web sources into Claude Code. Indexes static and server-rendered sites as local Markdown with conditional-GET caching, then exposes them as MCP tools. Local, browser-free, no API keys.", "author": { "name": "Raintree Technology", diff --git a/plugins/docpull/.codex-plugin/plugin.json b/plugins/docpull/.codex-plugin/plugin.json index 6afc67b..ee266bb 100644 --- a/plugins/docpull/.codex-plugin/plugin.json +++ b/plugins/docpull/.codex-plugin/plugin.json @@ -1,7 +1,7 @@ { "id": "docpull", "name": "docpull", - "version": "6.5.1", + "version": "6.5.3", "description": "Pull public web sources into Codex as local, searchable Markdown through docpull's MCP server.", "skills": "./skills/", "mcpServers": "./.mcp.json", @@ -44,6 +44,6 @@ "brandColor": "#0F6B5D", "composerIcon": "./assets/logo.svg", "logo": "./assets/logo.svg", - "defaultPrompt": "Use docpull when I ask about a specific library, framework, SDK, API, website, or public source URL. Prefer cached sources first, fetch only the requested source, and cite source paths when answering." + "defaultPrompt": "Use DocPull for a named library, framework, SDK, API, website, or public URL. Prefer cached sources and cite source paths." } } diff --git a/plugins/docpull/.mcp.json b/plugins/docpull/.mcp.json index 68cf2b3..56586ae 100644 --- a/plugins/docpull/.mcp.json +++ b/plugins/docpull/.mcp.json @@ -1,8 +1,9 @@ { "mcpServers": { "docpull": { - "command": "docpull", - "args": ["mcp"] + "command": "node", + "args": ["./scripts/launch-docpull-mcp.mjs"], + "cwd": "." } } } diff --git a/plugins/docpull/README.md b/plugins/docpull/README.md index 08ebe1d..e544590 100644 --- a/plugins/docpull/README.md +++ b/plugins/docpull/README.md @@ -20,12 +20,13 @@ for the boundary between the plugin's MCP tools and the broader CLI/SDK. The plugin wraps the `docpull` CLI. Install the MCP extra first: ```bash -pip install 'docpull[mcp]' # or: pipx install 'docpull[mcp]' -docpull --version # should print 6.5.1 or newer +pipx install 'docpull[mcp]==6.5.3' +docpull --version # should print 6.5.3 or newer docpull mcp --help ``` -The plain `pip install docpull` does not include the MCP dependency. +The plain `pip install docpull` does not include the MCP dependency. If the +executable is missing, the plugin exits with the exact `pipx` setup command. In Claude Code: diff --git a/plugins/docpull/scripts/launch-docpull-mcp.mjs b/plugins/docpull/scripts/launch-docpull-mcp.mjs new file mode 100644 index 0000000..27e4626 --- /dev/null +++ b/plugins/docpull/scripts/launch-docpull-mcp.mjs @@ -0,0 +1,29 @@ +#!/usr/bin/env node + +import { spawn } from "node:child_process"; + +const child = spawn("docpull", ["mcp", ...process.argv.slice(2)], { + stdio: "inherit", +}); + +child.on("error", (error) => { + if (error.code === "ENOENT") { + console.error( + "DocPull is not installed. Run: pipx install 'docpull[mcp]==6.5.3'", + ); + process.exitCode = 127; + return; + } + + console.error(`DocPull could not start: ${error.message}`); + process.exitCode = 1; +}); + +child.on("exit", (code, signal) => { + if (signal) { + process.kill(process.pid, signal); + return; + } + + process.exitCode = code ?? 1; +});