From a093117c0a98bb2f14d6ecf9d94e3ff035c29a95 Mon Sep 17 00:00:00 2001 From: Bryan Thompson Date: Sat, 21 Feb 2026 09:46:51 -0600 Subject: [PATCH] Add MCPB packaging for pdf-server Adds manifest.json, icon.png, .mcpbignore, and a GitHub Actions workflow so the pdf-server can be packaged as an .mcpb bundle for the MCP Directory. - manifest.json: Curated v0.3 manifest with tools, compatibility, privacy - icon.png: 64x64 PDF document icon - .mcpbignore: Excludes source, tests, screenshots from bundle - build-pdf-mcpb.yml: Builds MCPB on push (with Bun for TS bundling) The workflow triggers on changes to examples/pdf-server/** and on pdf-server-v* tags (attaching the .mcpb to the GitHub Release). Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/build-pdf-mcpb.yml | 56 +++++++++++++++++++++++++++ examples/pdf-server/.mcpbignore | 33 ++++++++++++++++ examples/pdf-server/icon.png | Bin 0 -> 549 bytes examples/pdf-server/manifest.json | 39 +++++++++++++++++++ 4 files changed, 128 insertions(+) create mode 100644 .github/workflows/build-pdf-mcpb.yml create mode 100644 examples/pdf-server/.mcpbignore create mode 100644 examples/pdf-server/icon.png create mode 100644 examples/pdf-server/manifest.json diff --git a/.github/workflows/build-pdf-mcpb.yml b/.github/workflows/build-pdf-mcpb.yml new file mode 100644 index 000000000..3817a1159 --- /dev/null +++ b/.github/workflows/build-pdf-mcpb.yml @@ -0,0 +1,56 @@ +name: Build PDF Server MCPB + +on: + push: + paths: + - 'examples/pdf-server/**' + tags: + - 'pdf-server-v*' + workflow_dispatch: + +defaults: + run: + working-directory: examples/pdf-server + +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: write + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Setup Bun + uses: oven-sh/setup-bun@v2 + + - name: Install dependencies + run: npm install + + - name: Build + run: npm run build + + - name: Remove dev dependencies + run: npm prune --production + + - name: Pack MCPB + run: npx @anthropic-ai/mcpb@latest pack . + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: pdf-server-mcpb + path: examples/pdf-server/*.mcpb + retention-days: 30 + + - name: Attach to release + if: startsWith(github.ref, 'refs/tags/pdf-server-v') + uses: softprops/action-gh-release@v2 + with: + files: examples/pdf-server/*.mcpb diff --git a/examples/pdf-server/.mcpbignore b/examples/pdf-server/.mcpbignore new file mode 100644 index 000000000..dc11e182a --- /dev/null +++ b/examples/pdf-server/.mcpbignore @@ -0,0 +1,33 @@ +# Source (dist/ has bundled output) +src/ +*.ts +tsconfig*.json +vite.config.* + +# Root-level HTML template (dist/mcp-app.html is the built version) +/mcp-app.html + +# Dev/test +*.test.* +*.spec.* +__tests__/ +jest.config.* +vitest.config.* +.eslintrc* +.prettierrc* + +# Screenshots and non-icon images +screenshot.* +grid-cell.* +pdf-icon.svg +*.svg + +# Docs (README stays for directory listing) +CHANGELOG* +CONTRIBUTING* +docs/ + +# Build artifacts +*.tsbuildinfo +coverage/ +node_modules/ diff --git a/examples/pdf-server/icon.png b/examples/pdf-server/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fb7ea3ec7e35192490d43a91bb5e5107d847191e GIT binary patch literal 549 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(<^uz(rC1}St4blLz^*6-=!7*fIb zcD7+&i-CyC|7DK^L^vNQbm%QVHBY(S@k6e-_ZKp?7*=q$N0@QwFeok75tzY{(s+Q4fv-`JL4--0L4qZXL4e~8 zgIwDOE(W=#f+&X5n<7F(!$e$lE__z`>$js~O8K`n*4Y=9F3Vi=+KT%-z{vPvkUxyvMQMb35@icFr_P_Q!_mtmfGKC+kOQ>JGd);NVg#CJdRxv!7S){4O z81whg?og%=K08IGGOVk6cvp+DVp&X=7en~|4|!7=Y=ZS%RU1~vS8VrUn5Q{?k=18.0.0" } + }, + "privacy_policies": ["https://www.anthropic.com/privacy"] +}