Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
82 changes: 82 additions & 0 deletions .github/workflows/npm-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: Publish pmll-memory-mcp to npm

on:
release:
types: [published]
workflow_dispatch:

jobs:
publish-npm:
name: Publish to npm (OIDC Trusted Publisher)
runs-on: ubuntu-latest
defaults:
run:
working-directory: mcp
permissions:
contents: read
id-token: write # Required for npm OIDC provenance
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
registry-url: "https://registry.npmjs.org"

- name: Install dependencies
run: npm ci

- name: Build
run: npm run build

- name: Run tests
run: npm test

- name: Publish to npm with provenance
run: npm publish --provenance --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
Comment on lines +39 to +40
Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When using OIDC-based provenance (--provenance with id-token: write), npm's OIDC authentication is handled automatically without requiring a NODE_AUTH_TOKEN. However, if NPM_TOKEN is still expected as a fallback or for authentication, it should be noted that mixing OIDC provenance with a classic token can cause conflicts. If the intent is to use purely OIDC trusted publishing (as the job name suggests), the NODE_AUTH_TOKEN env var should be removed and the registry-url configuration alone is sufficient for OIDC. Keeping NODE_AUTH_TOKEN set to a secret that may not exist could cause the publish step to fail if npm attempts token-based auth over OIDC.

Suggested change
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

Copilot uses AI. Check for mistakes.

publish-mcp-registry:
name: Publish to MCP Registry
needs: publish-npm
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install mcp-publisher
run: |
set -euo pipefail
MCP_PUBLISHER_VERSION="v0.1.0"
OS="$(uname -s | tr '[:upper:]' '[:lower:]')"
ARCH="$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')"
TARBALL="mcp-publisher_${OS}_${ARCH}.tar.gz"
BASE_URL="https://github.com/modelcontextprotocol/registry/releases/download/${MCP_PUBLISHER_VERSION}"

echo "Downloading ${TARBALL} for mcp-publisher ${MCP_PUBLISHER_VERSION}..."
curl -L "${BASE_URL}/${TARBALL}" -o "${TARBALL}"

echo "Downloading checksums for mcp-publisher ${MCP_PUBLISHER_VERSION}..."
curl -L "${BASE_URL}/checksums.txt" -o checksums.txt

echo "Verifying checksum for ${TARBALL}..."
grep " ${TARBALL}\$" checksums.txt | sha256sum -c -

echo "Extracting mcp-publisher..."
tar xzf "${TARBALL}" mcp-publisher
sudo mv mcp-publisher /usr/local/bin/

- name: Publish to MCP Registry
env:
MCP_REGISTRY_TOKEN: ${{ secrets.MCP_REGISTRY_TOKEN }}
run: |
if [ -z "$MCP_REGISTRY_TOKEN" ]; then
echo "::warning::MCP_REGISTRY_TOKEN not set; skipping MCP Registry publish."
exit 0
fi
mcp-publisher publish
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,12 @@ cython_debug/
.cursorignore
.cursorindexingignore

# Node.js
node_modules/
dist/

# TypeScript / MCP build artifacts
mcp/dist/
mcp/node_modules/

# MCP Registry auth tokens (secrets!)
.mcpregistry_*
4 changes: 2 additions & 2 deletions mcp/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "pmll-memory-mcp",
"version": "0.1.0",
"mcpName": "io.github.drqedwards/pmll-memory-mcp",
"version": "0.1.1",
"mcpName": "io.github.drQedwards/pmll-memory-mcp",
"description": "PMLL Memory MCP Server — persistent KV context memory and Q-promise deduplication for Claude agent tasks",
"type": "module",
"main": "dist/index.js",
Expand Down
2 changes: 1 addition & 1 deletion mcp/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ import { peekContext } from "./peek.js";
const server = new McpServer(
{
name: "pmll-memory-mcp",
version: "0.1.0",
version: "0.1.1",
},
{
instructions:
Expand Down
1 change: 0 additions & 1 deletion node_modules/.bin/acorn

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/conc

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/concurrently

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/eleventy

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/eleventy-dev-server

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/errno

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/esbuild

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/esparse

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/esvalidate

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/is-docker

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/js-yaml

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/liquid

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/liquidjs

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/markdown-it

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/mime

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/node-which

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/nunjucks-precompile

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/rc

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/semver

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/serve

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/tree-kill

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/tsc

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/tsserver

This file was deleted.

Loading