Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f587a4e31f | |||
| 6e95447272 | |||
| 96789db29d | |||
| 615f345928 | |||
| 9adfc72612 | |||
| 6c3997b24c |
@@ -1,3 +1,41 @@
|
|||||||
|
## v0.24.0 (2025-11-04)
|
||||||
|
|
||||||
|
### Feat
|
||||||
|
|
||||||
|
- add scope protection to OAuth provisioning tools
|
||||||
|
- enable authorization services for token exchange in Keycloak
|
||||||
|
- implement scope-based audience mapping and RFC 9728 support
|
||||||
|
- integrate token exchange into MCP server application
|
||||||
|
- implement RFC 8693 Standard Token Exchange for Keycloak
|
||||||
|
- Add userinfo route/page
|
||||||
|
- add browser-based user info page with separate OAuth flow
|
||||||
|
- Implement ADR-004 Progressive Consent foundation (partial)
|
||||||
|
- Complete ADR-004 Progressive Consent OAuth flows implementation
|
||||||
|
- Implement ADR-004 Progressive Consent foundation components
|
||||||
|
- Implement ADR-004 Hybrid Flow with comprehensive integration tests
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- add missing await for get_nextcloud_client in capabilities resource
|
||||||
|
- use valid Fernet encryption keys in token exchange tests
|
||||||
|
- accept resource URL in token audience for Nextcloud JWT tokens
|
||||||
|
- remove token-exchange-nextcloud scope and accept tokens without audience
|
||||||
|
- move audience mapper from scope to nextcloud-mcp-server client
|
||||||
|
- move token-exchange-nextcloud from default to optional scopes
|
||||||
|
- restructure routes to prevent SessionAuthBackend from interfering with FastMCP OAuth
|
||||||
|
- allow OAuth Bearer tokens on /mcp endpoint by excluding from session auth
|
||||||
|
- correct OAuth token audience validation using RFC 8707 resource parameter
|
||||||
|
- remove remaining references to deleted oauth_callback and oauth_token
|
||||||
|
- remove Hybrid Flow, make Progressive Consent default (ADR-004)
|
||||||
|
- browser OAuth userinfo endpoint and refresh token rotation
|
||||||
|
- make ENABLE_PROGRESSIVE_CONSENT consistently opt-in (default false)
|
||||||
|
- make provisioning checks opt-in (default false)
|
||||||
|
- Disable Progressive Consent for mcp-oauth to enable Hybrid Flow tests
|
||||||
|
|
||||||
|
### Refactor
|
||||||
|
|
||||||
|
- integrate token exchange into unified get_client() pattern
|
||||||
|
|
||||||
## v0.23.0 (2025-11-03)
|
## v0.23.0 (2025-11-03)
|
||||||
|
|
||||||
### Feat
|
### Feat
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ apiVersion: v2
|
|||||||
name: nextcloud-mcp-server
|
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.23.0
|
version: 0.24.0
|
||||||
appVersion: "0.23.0"
|
appVersion: "0.24.0"
|
||||||
keywords:
|
keywords:
|
||||||
- nextcloud
|
- nextcloud
|
||||||
- mcp
|
- mcp
|
||||||
|
|||||||
+2
-2
@@ -17,7 +17,7 @@ services:
|
|||||||
# Note: Redis is an external service. You can find more information about the configuration here:
|
# Note: Redis is an external service. You can find more information about the configuration here:
|
||||||
# https://hub.docker.com/_/redis
|
# https://hub.docker.com/_/redis
|
||||||
redis:
|
redis:
|
||||||
image: docker.io/library/redis:alpine@sha256:59b6e694653476de2c992937ebe1c64182af4728e54bb49e9b7a6c26614d8933
|
image: docker.io/library/redis:alpine@sha256:28c9c4d7596949a24b183eaaab6455f8e5d55ecbf72d02ff5e2c17fe72671d31
|
||||||
restart: always
|
restart: always
|
||||||
|
|
||||||
app:
|
app:
|
||||||
@@ -114,7 +114,7 @@ services:
|
|||||||
- oauth-tokens:/app/data
|
- oauth-tokens:/app/data
|
||||||
|
|
||||||
keycloak:
|
keycloak:
|
||||||
image: quay.io/keycloak/keycloak:26.4.2
|
image: quay.io/keycloak/keycloak:26.4.2@sha256:3617b09bb4b7510a8d8d9b9fc5707399e2d70688dbcc2f8fb013a144829be1b9
|
||||||
command:
|
command:
|
||||||
- "start-dev"
|
- "start-dev"
|
||||||
- "--import-realm"
|
- "--import-realm"
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "nextcloud-mcp-server"
|
name = "nextcloud-mcp-server"
|
||||||
version = "0.23.0"
|
version = "0.24.0"
|
||||||
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"}
|
||||||
|
|||||||
@@ -966,7 +966,7 @@ wheels = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nextcloud-mcp-server"
|
name = "nextcloud-mcp-server"
|
||||||
version = "0.23.0"
|
version = "0.24.0"
|
||||||
source = { editable = "." }
|
source = { editable = "." }
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ name = "aiosqlite" },
|
{ name = "aiosqlite" },
|
||||||
|
|||||||
Reference in New Issue
Block a user