Compare commits
25 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ac116366e9 | |||
| f8734b3edd | |||
| 0ea7145df1 | |||
| f7a3d2d8f5 | |||
| 18298177f7 | |||
| d9fa81082a | |||
| 651b73545d | |||
| 46505210cd | |||
| abf051afdb | |||
| d4d1a332fb | |||
| a3ed321e14 | |||
| 2bb738ed3f | |||
| 10c8b62818 | |||
| 87abadbbfc | |||
| defc55a5dc | |||
| 6a68e45e7c | |||
| a2fa4b2832 | |||
| 9cfadbfc04 | |||
| 6fed78196e | |||
| db430dd2c9 | |||
| 3618aed39e | |||
| 4c083c7314 | |||
| 3202640cf7 | |||
| c9bbe71869 | |||
| cb7f9cec2d |
@@ -12,6 +12,8 @@ env:
|
|||||||
jobs:
|
jobs:
|
||||||
build-and-publish:
|
build-and-publish:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ jobs:
|
|||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.11'
|
python-version: '3.14'
|
||||||
|
|
||||||
- name: Install uv
|
- name: Install uv
|
||||||
run: |
|
run: |
|
||||||
@@ -85,7 +85,7 @@ jobs:
|
|||||||
|
|
||||||
# Count conventional commits that are NOT scoped to helm or astrolabe
|
# Count conventional commits that are NOT scoped to helm or astrolabe
|
||||||
mcp_commit_count=$(git log "$commit_range" --oneline --grep="^(feat|fix|docs|refactor|perf|test|build|ci|chore)" -E | \
|
mcp_commit_count=$(git log "$commit_range" --oneline --grep="^(feat|fix|docs|refactor|perf|test|build|ci|chore)" -E | \
|
||||||
grep -v "(helm)" | grep -v "(astrolabe)" | wc -l)
|
{ grep -v "(helm)" || true; } | { grep -v "(astrolabe)" || true; } | wc -l)
|
||||||
|
|
||||||
if [ "$mcp_commit_count" -gt 0 ]; then
|
if [ "$mcp_commit_count" -gt 0 ]; then
|
||||||
echo "Found $mcp_commit_count commits for MCP server since $last_mcp_tag"
|
echo "Found $mcp_commit_count commits for MCP server since $last_mcp_tag"
|
||||||
@@ -125,7 +125,8 @@ jobs:
|
|||||||
- name: Push tags
|
- name: Push tags
|
||||||
if: steps.bump.outputs.bumped == 'true'
|
if: steps.bump.outputs.bumped == 'true'
|
||||||
run: |
|
run: |
|
||||||
git push --follow-tags
|
git push
|
||||||
|
git push --tags
|
||||||
echo "Pushed tags for components:${{ steps.bump.outputs.components }}"
|
echo "Pushed tags for components:${{ steps.bump.outputs.components }}"
|
||||||
|
|
||||||
- name: Summary
|
- name: Summary
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ jobs:
|
|||||||
type=raw,value=latest,enable={{is_default_branch}}
|
type=raw,value=latest,enable={{is_default_branch}}
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3
|
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
|
||||||
|
|
||||||
- name: Log in to GitHub Container Registry
|
- name: Log in to GitHub Container Registry
|
||||||
if: github.event_name != 'pull_request'
|
if: github.event_name != 'pull_request'
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ jobs:
|
|||||||
|
|
||||||
- name: Run chart-releaser
|
- name: Run chart-releaser
|
||||||
uses: helm/chart-releaser-action@cae68fefc6b5f367a0275617c9f83181ba54714f # v1.7.0
|
uses: helm/chart-releaser-action@cae68fefc6b5f367a0275617c9f83181ba54714f # v1.7.0
|
||||||
|
with:
|
||||||
|
skip_existing: true
|
||||||
env:
|
env:
|
||||||
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,39 @@ All notable changes to the Nextcloud MCP Server will be documented in this file.
|
|||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [PEP 440](https://peps.python.org/pep-0440/).
|
and this project adheres to [PEP 440](https://peps.python.org/pep-0440/).
|
||||||
|
|
||||||
|
## v0.56.2 (2025-12-20)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **astrolabe**: screenshots in info.xml
|
||||||
|
- **astrolabe**: screenshots in info.xml
|
||||||
|
|
||||||
|
## v0.56.1 (2025-12-19)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **astrolabe**: Update screenshots
|
||||||
|
- **ci**: skip existing Helm chart releases to prevent duplicate release errors
|
||||||
|
|
||||||
|
## v0.56.0 (2025-12-19)
|
||||||
|
|
||||||
|
### Feat
|
||||||
|
|
||||||
|
- **ci**: add --increment flag to bump scripts for manual version control
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **astrolabe**: add contents:write permission to appstore workflow
|
||||||
|
- **astrolabe**: update commitizen pattern to properly update info.xml version
|
||||||
|
- **astrolabe**: prevent workflow failure when only helm/astrolabe commits exist
|
||||||
|
- **astrolabe**: info.xml
|
||||||
|
|
||||||
|
## v0.55.1 (2025-12-19)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **ci**: push all tags explicitly in bump workflow
|
||||||
|
|
||||||
## v0.55.0 (2025-12-19)
|
## v0.55.0 (2025-12-19)
|
||||||
|
|
||||||
### BREAKING CHANGE
|
### BREAKING CHANGE
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ name: nextcloud-mcp-server
|
|||||||
description: A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with Nextcloud
|
description: A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with Nextcloud
|
||||||
type: application
|
type: application
|
||||||
version: 0.54.0
|
version: 0.54.0
|
||||||
appVersion: "0.55.0"
|
appVersion: "0.56.2"
|
||||||
keywords:
|
keywords:
|
||||||
- nextcloud
|
- nextcloud
|
||||||
- mcp
|
- mcp
|
||||||
|
|||||||
+1
-1
@@ -35,7 +35,7 @@ services:
|
|||||||
# Mount OIDC development directory outside /var/www/html to avoid rsync conflicts
|
# Mount OIDC development directory outside /var/www/html to avoid rsync conflicts
|
||||||
# The post-installation hook will register /opt/apps as an additional app directory
|
# The post-installation hook will register /opt/apps as an additional app directory
|
||||||
#- ./third_party:/opt/apps:ro
|
#- ./third_party:/opt/apps:ro
|
||||||
- ./third_party/astrolabe:/opt/apps/astrolabe:ro
|
#- ./third_party/astrolabe:/opt/apps/astrolabe:ro
|
||||||
environment:
|
environment:
|
||||||
- NEXTCLOUD_TRUSTED_DOMAINS=app
|
- NEXTCLOUD_TRUSTED_DOMAINS=app
|
||||||
- NEXTCLOUD_ADMIN_USER=admin
|
- NEXTCLOUD_ADMIN_USER=admin
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "nextcloud-mcp-server"
|
name = "nextcloud-mcp-server"
|
||||||
version = "0.55.0"
|
version = "0.56.2"
|
||||||
description = "Model Context Protocol (MCP) server for Nextcloud integration - enables AI assistants to interact with Nextcloud data"
|
description = "Model Context Protocol (MCP) server for Nextcloud integration - enables AI assistants to interact with Nextcloud data"
|
||||||
authors = [
|
authors = [
|
||||||
{name = "Chris Coutinho", email = "chris@coutinho.io"}
|
{name = "Chris Coutinho", email = "chris@coutinho.io"}
|
||||||
|
|||||||
@@ -2,6 +2,22 @@
|
|||||||
# Bump Astrolabe app version
|
# Bump Astrolabe app version
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Parse optional --increment flag
|
||||||
|
INCREMENT=""
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case $1 in
|
||||||
|
--increment)
|
||||||
|
INCREMENT="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "❌ Error: Unknown option: $1" >&2
|
||||||
|
echo "Usage: $0 [--increment PATCH|MINOR|MAJOR]" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
# Validate dependencies
|
# Validate dependencies
|
||||||
command -v uv >/dev/null 2>&1 || {
|
command -v uv >/dev/null 2>&1 || {
|
||||||
echo "❌ Error: uv not found" >&2
|
echo "❌ Error: uv not found" >&2
|
||||||
@@ -29,9 +45,18 @@ if [ ! -f "package.json" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Bumping Astrolabe version..."
|
echo "Bumping Astrolabe version..."
|
||||||
|
if [ -n "$INCREMENT" ]; then
|
||||||
|
echo " Forcing $INCREMENT bump"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Build commitizen command
|
||||||
|
CZ_CMD="uv run cz --config .cz.toml bump --yes"
|
||||||
|
if [ -n "$INCREMENT" ]; then
|
||||||
|
CZ_CMD="$CZ_CMD --increment $INCREMENT"
|
||||||
|
fi
|
||||||
|
|
||||||
# Run commitizen bump and capture output
|
# Run commitizen bump and capture output
|
||||||
if ! output=$(uv run cz --config .cz.toml bump --yes 2>&1); then
|
if ! output=$($CZ_CMD 2>&1); then
|
||||||
cd ../..
|
cd ../..
|
||||||
echo "❌ Error: Version bump failed" >&2
|
echo "❌ Error: Version bump failed" >&2
|
||||||
echo "$output" >&2
|
echo "$output" >&2
|
||||||
|
|||||||
+26
-1
@@ -2,6 +2,22 @@
|
|||||||
# Bump Helm chart version
|
# Bump Helm chart version
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Parse optional --increment flag
|
||||||
|
INCREMENT=""
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case $1 in
|
||||||
|
--increment)
|
||||||
|
INCREMENT="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "❌ Error: Unknown option: $1" >&2
|
||||||
|
echo "Usage: $0 [--increment PATCH|MINOR|MAJOR]" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
# Validate dependencies
|
# Validate dependencies
|
||||||
command -v uv >/dev/null 2>&1 || {
|
command -v uv >/dev/null 2>&1 || {
|
||||||
echo "❌ Error: uv not found" >&2
|
echo "❌ Error: uv not found" >&2
|
||||||
@@ -24,9 +40,18 @@ if [ ! -f "Chart.yaml" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Bumping Helm chart version..."
|
echo "Bumping Helm chart version..."
|
||||||
|
if [ -n "$INCREMENT" ]; then
|
||||||
|
echo " Forcing $INCREMENT bump"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Build commitizen command
|
||||||
|
CZ_CMD="uv run cz --config .cz.toml bump --yes"
|
||||||
|
if [ -n "$INCREMENT" ]; then
|
||||||
|
CZ_CMD="$CZ_CMD --increment $INCREMENT"
|
||||||
|
fi
|
||||||
|
|
||||||
# Run commitizen bump and capture output
|
# Run commitizen bump and capture output
|
||||||
if ! output=$(uv run cz --config .cz.toml bump --yes 2>&1); then
|
if ! output=$($CZ_CMD 2>&1); then
|
||||||
cd ../..
|
cd ../..
|
||||||
echo "❌ Error: Version bump failed" >&2
|
echo "❌ Error: Version bump failed" >&2
|
||||||
echo "$output" >&2
|
echo "$output" >&2
|
||||||
|
|||||||
+26
-1
@@ -2,6 +2,22 @@
|
|||||||
# Bump MCP server version
|
# Bump MCP server version
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Parse optional --increment flag
|
||||||
|
INCREMENT=""
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case $1 in
|
||||||
|
--increment)
|
||||||
|
INCREMENT="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "❌ Error: Unknown option: $1" >&2
|
||||||
|
echo "Usage: $0 [--increment PATCH|MINOR|MAJOR]" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
# Validate dependencies
|
# Validate dependencies
|
||||||
command -v uv >/dev/null 2>&1 || {
|
command -v uv >/dev/null 2>&1 || {
|
||||||
echo "❌ Error: uv not found" >&2
|
echo "❌ Error: uv not found" >&2
|
||||||
@@ -16,9 +32,18 @@ if [ ! -f "pyproject.toml" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Bumping MCP server version..."
|
echo "Bumping MCP server version..."
|
||||||
|
if [ -n "$INCREMENT" ]; then
|
||||||
|
echo " Forcing $INCREMENT bump"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Build commitizen command
|
||||||
|
CZ_CMD="uv run cz bump --yes"
|
||||||
|
if [ -n "$INCREMENT" ]; then
|
||||||
|
CZ_CMD="$CZ_CMD --increment $INCREMENT"
|
||||||
|
fi
|
||||||
|
|
||||||
# Run commitizen bump and capture output
|
# Run commitizen bump and capture output
|
||||||
if ! output=$(uv run cz bump --yes 2>&1); then
|
if ! output=$($CZ_CMD 2>&1); then
|
||||||
echo "❌ Error: Version bump failed" >&2
|
echo "❌ Error: Version bump failed" >&2
|
||||||
echo "$output" >&2
|
echo "$output" >&2
|
||||||
echo "" >&2
|
echo "" >&2
|
||||||
|
|||||||
Vendored
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
[tool.commitizen]
|
[tool.commitizen]
|
||||||
name = "cz_conventional_commits"
|
name = "cz_conventional_commits"
|
||||||
version = "0.2.0"
|
version = "0.4.4"
|
||||||
tag_format = "astrolabe-v$version"
|
tag_format = "astrolabe-v$version"
|
||||||
version_scheme = "semver"
|
version_scheme = "semver"
|
||||||
update_changelog_on_bump = true
|
update_changelog_on_bump = true
|
||||||
@@ -8,7 +8,7 @@ major_version_zero = true
|
|||||||
|
|
||||||
# Update Astrolabe-specific files only
|
# Update Astrolabe-specific files only
|
||||||
version_files = [
|
version_files = [
|
||||||
"appinfo/info.xml:version",
|
"appinfo/info.xml:<version>",
|
||||||
"package.json:version"
|
"package.json:version"
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
Vendored
+60
@@ -25,6 +25,66 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- Requires external MCP server deployment
|
- Requires external MCP server deployment
|
||||||
- See documentation for setup: https://github.com/cbcoutinho/nextcloud-mcp-server
|
- See documentation for setup: https://github.com/cbcoutinho/nextcloud-mcp-server
|
||||||
|
|
||||||
|
## astrolabe-v0.4.4 (2025-12-20)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **astrolabe**: screenshots in info.xml
|
||||||
|
|
||||||
|
## astrolabe-v0.4.3 (2025-12-19)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **astrolabe**: screenshots in info.xml
|
||||||
|
|
||||||
|
## astrolabe-v0.4.2 (2025-12-19)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **astrolabe**: Update screenshots
|
||||||
|
- **ci**: skip existing Helm chart releases to prevent duplicate release errors
|
||||||
|
|
||||||
|
## astrolabe-v0.4.1 (2025-12-19)
|
||||||
|
|
||||||
|
## astrolabe-v0.4.0 (2025-12-19)
|
||||||
|
|
||||||
|
### Feat
|
||||||
|
|
||||||
|
- **ci**: add --increment flag to bump scripts for manual version control
|
||||||
|
|
||||||
|
## astrolabe-v0.3.2 (2025-12-19)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **astrolabe**: add contents:write permission to appstore workflow
|
||||||
|
|
||||||
|
## astrolabe-v0.3.1 (2025-12-19)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **astrolabe**: update commitizen pattern to properly update info.xml version
|
||||||
|
|
||||||
|
## astrolabe-v0.3.0 (2025-12-19)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **astrolabe**: prevent workflow failure when only helm/astrolabe commits exist
|
||||||
|
- **astrolabe**: info.xml
|
||||||
|
|
||||||
|
## astrolabe-v0.2.1 (2025-12-19)
|
||||||
|
|
||||||
|
### BREAKING CHANGE
|
||||||
|
|
||||||
|
- MCP server now bumps for ANY conventional commit except
|
||||||
|
those explicitly scoped to helm or astrolabe.
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **ci**: push all tags explicitly in bump workflow
|
||||||
|
- **ci**: make MCP server default bump target for all non-scoped commits
|
||||||
|
- **ci**: restrict docker build to MCP server tags only
|
||||||
|
- **ci**: correct appstore-push-action version to v1.0.4
|
||||||
|
|
||||||
## astrolabe-v0.2.0 (2025-12-19)
|
## astrolabe-v0.2.0 (2025-12-19)
|
||||||
|
|
||||||
### BREAKING CHANGE
|
### BREAKING CHANGE
|
||||||
|
|||||||
+5
-3
@@ -29,14 +29,16 @@ Astrolabe connects to a semantic search service that understands the meaning of
|
|||||||
|
|
||||||
See [documentation](https://github.com/cbcoutinho/nextcloud-mcp-server) for configuration details.
|
See [documentation](https://github.com/cbcoutinho/nextcloud-mcp-server) for configuration details.
|
||||||
]]></description>
|
]]></description>
|
||||||
<version>0.2.0</version>
|
<version>0.4.4</version>
|
||||||
<licence>agpl</licence>
|
<licence>agpl</licence>
|
||||||
<author mail="chris@coutinho.io" homepage="https://github.com/cbcoutinho">Chris Coutinho</author>
|
<author homepage="https://github.com/cbcoutinho">Chris Coutinho</author>
|
||||||
<namespace>Astrolabe</namespace>
|
<namespace>Astrolabe</namespace>
|
||||||
<category>ai</category>
|
<category>ai</category>
|
||||||
<bugs>https://github.com/cbcoutinho/nextcloud-mcp-server/issues</bugs>
|
<bugs>https://github.com/cbcoutinho/nextcloud-mcp-server/issues</bugs>
|
||||||
<repository type="git">https://github.com/cbcoutinho/nextcloud-mcp-server</repository>
|
<repository type="git">https://github.com/cbcoutinho/nextcloud-mcp-server</repository>
|
||||||
<screenshot>https://raw.githubusercontent.com/cbcoutinho/nextcloud-mcp-server/master/docs/images/mcp-ui-screenshot.png</screenshot>
|
<screenshot>https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/third_party/astrolabe/screenshots/02-semantic-search-with-plot.png?raw=1</screenshot>
|
||||||
|
<screenshot>https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/third_party/astrolabe/screenshots/01-unified-search-astrolabe.png?raw=1</screenshot>
|
||||||
|
<screenshot>https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/third_party/astrolabe/screenshots/03-chunk-viewer-open.png?raw=1</screenshot>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<nextcloud min-version="30" max-version="32"/>
|
<nextcloud min-version="30" max-version="32"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "astrolabe",
|
"name": "astrolabe",
|
||||||
"version": "0.2.0",
|
"version": "0.4.4",
|
||||||
"license": "AGPL-3.0-or-later",
|
"license": "AGPL-3.0-or-later",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^22.0.0",
|
"node": "^22.0.0",
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 218 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 204 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 736 KiB |
Vendored
+1
-1
Submodule third_party/oidc updated: 860a10cd05...8473b8497b
@@ -1988,7 +1988,7 @@ wheels = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nextcloud-mcp-server"
|
name = "nextcloud-mcp-server"
|
||||||
version = "0.55.0"
|
version = "0.56.2"
|
||||||
source = { editable = "." }
|
source = { editable = "." }
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ name = "aiosqlite" },
|
{ name = "aiosqlite" },
|
||||||
|
|||||||
Reference in New Issue
Block a user