mirror of
https://github.com/evdboom/Bindery.git
synced 2026-07-22 06:49:36 +00:00
feat(release): add standalone MCP zip asset and standardized release notes
This commit is contained in:
parent
c835e5fbe1
commit
fba4827d2c
5 changed files with 127 additions and 7 deletions
24
.github/release-notes-template.md
vendored
Normal file
24
.github/release-notes-template.md
vendored
Normal 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.
|
||||
29
.github/workflows/release.yml
vendored
29
.github/workflows/release.yml
vendored
|
|
@ -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 ───────────────
|
||||
|
|
|
|||
20
README.md
20
README.md
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
38
mcpb/standalone-mcp-README.md
Normal file
38
mcpb/standalone-mcp-README.md
Normal 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).
|
||||
Loading…
Reference in a new issue