feat(release): add standalone MCP zip asset and standardized release notes

This commit is contained in:
Erik van der Boom 2026-07-14 22:39:15 +02:00
parent c835e5fbe1
commit fba4827d2c
5 changed files with 127 additions and 7 deletions

24
.github/release-notes-template.md vendored Normal file
View file

@ -0,0 +1,24 @@
# Bindery {{VERSION}}
## Highlights
- Standardized release packaging across all supported surfaces.
- See attached assets below for install-ready downloads.
## Release Assets
- bindery-{{VERSION}}.mcpb (Claude Desktop / Cowork MCP package)
- bindery-mcp-server-{{VERSION}}.zip (Standalone MCP package for clients that support command + args + env configuration, such as ChatGPT Work and LM Studio)
- bindery-{{VERSION}}.vsix (VS Code extension)
- bindery-obsidian-bundled-{{VERSION}}.zip (Obsidian plugin bundle)
- obsidian-plugin/dist/main.js and obsidian-plugin/dist/manifest.json (raw Obsidian artifacts for obsidian automated scanning)
## Installation
- VS Code extension and MCP setup overview: https://github.com/evdboom/Bindery/blob/main/README.md
- MCP package details and manual install: https://github.com/evdboom/Bindery/blob/main/mcpb/README.md
- Standalone MCP zip quick install: included README.md inside bindery-mcp-server-{{VERSION}}.zip
## Notes
- Release notes below this section are auto-generated from merged pull requests and commits.

View file

@ -25,9 +25,9 @@ jobs:
fi
echo "release_version=$VERSION" >> "$GITHUB_OUTPUT"
# ── Job 1: Build .mcpb for Claude Desktop ───────────────────────────────────
# ── Job 1: Build .mcpb for Claude Desktop + standalone MCP zip ─────────────
build-mcpb:
name: Build .mcpb
name: Build MCP Packages
needs: validate-release-version
runs-on: ubuntu-latest
permissions:
@ -76,15 +76,38 @@ jobs:
mv "$f" "bindery-${VERSION}.mcpb" 2>/dev/null || true
done
- name: Package standalone MCP server zip
run: |
VERSION="$RELEASE_VERSION"
mkdir -p mcpb/standalone-mcp/server
cp mcpb/server/index.js mcpb/standalone-mcp/server/index.js
cp mcpb/standalone-mcp-README.md mcpb/standalone-mcp/README.md
cd mcpb/standalone-mcp
zip "../../bindery-mcp-server-${VERSION}.zip" README.md server/index.js
- name: Render standardized release notes
run: |
VERSION="$RELEASE_VERSION"
sed "s/{{VERSION}}/${VERSION}/g" .github/release-notes-template.md > .github/release-notes.generated.md
- name: Attest .mcpb build provenance
uses: actions/attest-build-provenance@v4
with:
subject-path: mcpb/*.mcpb
- name: Attest standalone MCP zip provenance
uses: actions/attest-build-provenance@v4
with:
subject-path: bindery-mcp-server-*.zip
- name: Upload .mcpb to release
uses: softprops/action-gh-release@v3
with:
files: mcpb/*.mcpb
files: |
mcpb/*.mcpb
bindery-mcp-server-*.zip
body_path: .github/release-notes.generated.md
generate_release_notes: true
fail_on_unmatched_files: true
# ── Job 2: Package VS Code extension + attach VSIX to release ───────────────

View file

@ -85,7 +85,10 @@ Then in Obsidian: Settings → Community plugins (if not restricted) → Install
### [mcpb/](mcpb/) — Claude Desktop Extension
Packages the MCP server as a `.mcpb` file for one-click installation in Claude Desktop or Cowork.
Release assets now include two MCP package formats:
- `bindery-<version>.mcpb` for Claude Desktop / Cowork
- `bindery-mcp-server-<version>.zip` as a standalone MCP package for clients that support command + args + env setup (for example ChatGPT Work or LM Studio)
**Download the latest release** from [Releases](../../releases) — no build step needed.
@ -110,6 +113,21 @@ Packages the MCP server as a `.mcpb` file for one-click installation in Claude D
- **Note:** full embedding can be a heavy operation, depending on your hardware, when running a local Ollama instance.
6. Tools are now available — the agent calls `list_books` to discover book names
### Standalone MCP Clients (ChatGPT Work, LM Studio, etc.)
1. Download `bindery-mcp-server-*.zip` from the [latest release](../../releases/latest)
2. Unzip it to a stable folder
3. In your MCP client, add an MCP server with:
- eg. in ChatGPT Work -> **Settings** -> **Plug-ins** -> **MCP's** tab
- Command: `node`
- Args: absolute path to `server/index.js` from the unzipped folder
4. Set environment variables:
- `BINDERY_BOOKS` (required): semicolon-separated `Name=path` pairs
- `BINDERY_OLLAMA_URL` (optional): Ollama endpoint for semantic features
- `BINDERY_ENABLE_SEMANTIC_INDEX` (optional): `true` to enable full semantic index builds
- `BINDERY_DEFAULT_SEARCH_MODE` (optional): `lexical`, `semantic_rerank`, or `full_semantic`
5. Save and reconnect the MCP server
## Architecture Overview
The following flow shows how Bindery's writing environments connect to agents, MCP, and skills at a high level.

View file

@ -1,4 +1,4 @@
# Bindery MCP — Desktop Extension (.mcpb)
# Bindery MCP — Desktop Packages
Book authoring tools for Claude Desktop: chapter navigation, full-text search,
translation management, session memory, typography formatting, and version snapshots.
@ -20,7 +20,7 @@ Works with any Markdown book project structured with the Bindery VS Code extensi
- **Version snapshots** — git-based save points after writing sessions
- **Review diffs** — structured git diff of uncommitted changes
## Manual Installation
## Manual Installation (Claude Desktop)
To install manually without using published Claude Connectors
@ -29,6 +29,21 @@ To install manually without using published Claude Connectors
3. Click **Install from file** (or drag-drop the `.mcpb` file)
4. Fill in the **Books** field (see Configuration below)
## Manual Installation (Standalone MCP clients)
1. Download the `bindery-mcp-server-*.zip` file from the latest release
2. Unzip it to a stable folder
3. In your MCP client, add a new MCP server.
- eg. in ChatGPT Work -> **Settings** -> **Plug-ins** -> **MCP's** tab
4. With:
- Command: `node`
- Args: absolute path to `server/index.js` from the unzipped folder
5. Add environment variables:
- `BINDERY_BOOKS` (required): semicolon-separated `Name=path` pairs
- `BINDERY_OLLAMA_URL` (optional): Ollama endpoint for semantic features
- `BINDERY_ENABLE_SEMANTIC_INDEX` (optional): `true` to enable full semantic index builds
- `BINDERY_DEFAULT_SEARCH_MODE` (optional): `lexical`, `semantic_rerank`, or `full_semantic`
## Configuration
| Setting | Required | Description |
@ -165,7 +180,7 @@ table with issue type, location, and the reference that contradicts it.
| `identify_book` | Match a working directory to a book name |
| `health` | Server status: settings, index, embedding backend |
| `init_workspace` | Create or update `.bindery/settings.json`, `translations.json`, generated `.bindery/README.md`, and the opinionated Arc / Notes / Characters / SESSION / PREFERENCES / memory / status scaffold |
| `setup_ai_files` | Generate AI instruction files (CLAUDE.md, copilot-instructions.md, .cursor/rules, AGENTS.md), Claude skill templates, skill zips, and refresh generated `.bindery/README.md` |
| `setup_ai_files` | Generate AI instruction files (CLAUDE.md, copilot-instructions.md, .cursor/rules, AGENTS.md), Claude skill templates, and refresh generated `.bindery/README.md` |
| `index_build` | Build or rebuild the lexical index and, when enabled, the semantic embedding index |
| `index_status` | Show lexical and semantic index status, build times, and stale hints |
| `get_text` | Read any file by relative path, with optional line range |
@ -230,6 +245,8 @@ mcpb pack
This produces `bindery-mcp-<version>.mcpb`.
For standalone MCP clients, release CI also produces `bindery-mcp-server-<version>.zip` containing `server/index.js` and setup instructions.
## Files
- `manifest.json` — Extension metadata, tool declarations, user config schema

View file

@ -0,0 +1,38 @@
# Bindery Standalone MCP Server Package
This package contains:
- `server/index.js` (the bundled Bindery MCP server)
- `README.md` (this file)
## Install in any MCP client
1. Unzip this archive to a stable folder on your machine.
2. In your MCP client, add a new MCP server.
- eg. in ChatGPT Work -> **Settings** -> **Plug-ins** -> **MCP's** tab
3. Use the following values:
- Command: `node`
- Args: absolute path to `server/index.js` in the folder you unzipped
4. Configure environment variables (at minimum `BINDERY_BOOKS`).
## Environment variables
- `BINDERY_BOOKS` (required)
- Semicolon-separated `Name=path` pairs.
- Example: `MyBook=C:\Users\Me\MyBook;MyNovel=D:\Writing\MyNovel`
- `BINDERY_OLLAMA_URL` (optional)
- Ollama endpoint for semantic reranking/full semantic search.
- Example: `http://localhost:11434`
- `BINDERY_ENABLE_SEMANTIC_INDEX` (optional)
- `true` to enable full semantic index builds via `index_build`.
- Default: `false`
- `BINDERY_DEFAULT_SEARCH_MODE` (optional)
- One of `lexical`, `semantic_rerank`, `full_semantic`.
- Default: `lexical`
## Notes
- Keep the unzipped folder in place after configuring the MCP server.
- If Node is not on PATH, use the absolute path to the Node executable as Command.
- If Node is not installed at all you can get it from *https://nodejs.org/*
- This package is suitable for any MCP client that supports executable command + arguments + environment variables (for example ChatGPT Work or LM Studio).