Skip to content

Commit 7a502e6

Browse files
groksrcclaude
andauthored
feat: Add MCP registry publication files (#515)
Signed-off-by: Drew Cain <groksrc@gmail.com> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
1 parent c7835a9 commit 7a502e6

4 files changed

Lines changed: 70 additions & 6 deletions

File tree

.claude/commands/release/release.md

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,34 @@ The GitHub Actions workflow (`.github/workflows/release.yml`) then:
7878
2. Verify formula version matches release
7979
3. Test Homebrew installation: `brew install basicmachines-co/basic-memory/basic-memory`
8080

81+
#### MCP Registry Publication
82+
83+
After PyPI release is published, update the MCP registry:
84+
85+
1. **Verify PyPI Release**
86+
- Confirm package is live: https://pypi.org/project/basic-memory/<version>/
87+
- The `server.json` version was auto-updated by `just release`
88+
89+
2. **Publish to MCP Registry**
90+
```bash
91+
cd /Users/drew/code/basic-memory
92+
mcp-publisher publish
93+
```
94+
95+
If not authenticated:
96+
```bash
97+
mcp-publisher login github
98+
# Follow device authentication flow
99+
mcp-publisher publish
100+
```
101+
102+
3. **Verify Publication**
103+
```bash
104+
curl "https://registry.modelcontextprotocol.io/v0.1/servers?search=basic-memory"
105+
```
106+
107+
**Note:** The `mcp-publisher` CLI can be installed via Homebrew (`brew install mcp-publisher`) or from GitHub releases.
108+
81109
#### Website Updates
82110

83111
**1. basicmachines.co** (`/Users/drew/code/basicmachines.co`)
@@ -145,6 +173,7 @@ Before starting, verify:
145173
📋 GitHub Release: https://github.com/basicmachines-co/basic-memory/releases/tag/v0.13.2
146174
📦 PyPI: https://pypi.org/project/basic-memory/0.13.2/
147175
🍺 Homebrew: https://github.com/basicmachines-co/homebrew-basic-memory
176+
🔌 MCP Registry: https://registry.modelcontextprotocol.io
148177
🚀 GitHub Actions: Completed
149178
150179
Install with pip/uv:
@@ -162,8 +191,9 @@ Users can now upgrade:
162191
- This creates production releases used by end users
163192
- Must pass all quality gates before proceeding
164193
- Uses the automated justfile target for consistency
165-
- Version is automatically updated in `__init__.py`
194+
- Version is automatically updated in `__init__.py` and `server.json`
166195
- Triggers automated GitHub release with changelog
167196
- Package is published to PyPI for `pip` and `uv` users
168197
- Homebrew formula is automatically updated for stable releases
198+
- MCP Registry is updated manually via `mcp-publisher publish`
169199
- Supports multiple installation methods (uv, pip, Homebrew)

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<!-- mcp-name: io.github.basicmachines-co/basic-memory -->
12
[![License: AGPL v3](https://img.shields.io/badge/License-AGPL_v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)
23
[![PyPI version](https://badge.fury.io/py/basic-memory.svg)](https://badge.fury.io/py/basic-memory)
34
[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)

justfile

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -204,9 +204,14 @@ release version:
204204
echo "📝 Updating version in __init__.py..."
205205
sed -i.bak "s/__version__ = \".*\"/__version__ = \"$VERSION_NUM\"/" src/basic_memory/__init__.py
206206
rm -f src/basic_memory/__init__.py.bak
207-
207+
208+
# Update version in server.json (MCP registry metadata)
209+
echo "📝 Updating version in server.json..."
210+
sed -i.bak "s/\"version\": \"[^\"]*\"/\"version\": \"$VERSION_NUM\"/g" server.json
211+
rm -f server.json.bak
212+
208213
# Commit version update
209-
git add src/basic_memory/__init__.py
214+
git add src/basic_memory/__init__.py server.json
210215
git commit -m "chore: update version to $VERSION_NUM for {{version}} release"
211216

212217
# Create and push tag
@@ -221,9 +226,10 @@ release version:
221226
echo "📦 GitHub Actions will build and publish to PyPI"
222227
echo "🔗 Monitor at: https://github.com/basicmachines-co/basic-memory/actions"
223228
echo ""
224-
echo "📝 REMINDER: Update documentation sites after release is published:"
229+
echo "📝 REMINDER: Post-release tasks:"
225230
echo " 1. docs.basicmemory.com - Add release notes to src/pages/latest-releases.mdx"
226231
echo " 2. basicmachines.co - Update version in src/components/sections/hero.tsx"
232+
echo " 3. MCP Registry - Run: mcp-publisher publish"
227233
echo " See: .claude/commands/release/release.md for detailed instructions"
228234

229235
# Create a beta release (e.g., just beta v0.13.2b1)
@@ -269,9 +275,14 @@ beta version:
269275
echo "📝 Updating version in __init__.py..."
270276
sed -i.bak "s/__version__ = \".*\"/__version__ = \"$VERSION_NUM\"/" src/basic_memory/__init__.py
271277
rm -f src/basic_memory/__init__.py.bak
272-
278+
279+
# Update version in server.json (MCP registry metadata)
280+
echo "📝 Updating version in server.json..."
281+
sed -i.bak "s/\"version\": \"[^\"]*\"/\"version\": \"$VERSION_NUM\"/g" server.json
282+
rm -f server.json.bak
283+
273284
# Commit version update
274-
git add src/basic_memory/__init__.py
285+
git add src/basic_memory/__init__.py server.json
275286
git commit -m "chore: update version to $VERSION_NUM for {{version}} beta release"
276287

277288
# Create and push tag

server.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3+
"name": "io.github.basicmachines-co/basic-memory",
4+
"description": "Local-first knowledge management with bi-directional LLM sync via Markdown files.",
5+
"repository": {
6+
"url": "https://github.com/basicmachines-co/basic-memory.git",
7+
"source": "github"
8+
},
9+
"version": "0.17.6",
10+
"packages": [
11+
{
12+
"registryType": "pypi",
13+
"identifier": "basic-memory",
14+
"version": "0.17.6",
15+
"runtimeHint": "uvx",
16+
"runtimeArguments": ["basic-memory", "mcp"],
17+
"transport": {
18+
"type": "stdio"
19+
}
20+
}
21+
]
22+
}

0 commit comments

Comments
 (0)