From 9e26b18ee39fbbea652d6b221a6fc43970eaba9d Mon Sep 17 00:00:00 2001 From: Jeff Dutton Date: Thu, 11 Dec 2025 16:41:58 -0500 Subject: [PATCH] chore: Release v0.9.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug Fixes: - Fixed Direct OAuth Flow failing with 'invalid_grant' error (Issue #107) - Claude Code and MCP Inspector OAuth integrations now work correctly Documentation: - Added comprehensive getting-started guides Test Improvements: - Added 11 Direct OAuth Flow test cases - Reduced code duplication by 14.3% - Implemented PKCE validation logic 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- CHANGELOG.md | 25 +++++++++++++++++++ packages/adapter-vercel/package.json | 2 +- packages/auth/package.json | 2 +- packages/config/package.json | 2 +- .../create-mcp-typescript-simple/package.json | 2 +- packages/example-mcp/package.json | 2 +- packages/example-tools-basic/package.json | 2 +- packages/example-tools-llm/package.json | 2 +- packages/http-server/package.json | 2 +- packages/observability/package.json | 2 +- packages/persistence/package.json | 2 +- packages/server/package.json | 2 +- packages/testing/package.json | 2 +- packages/tools-llm/package.json | 2 +- packages/tools/package.json | 2 +- 15 files changed, 39 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e1f4a7b0..43d99343 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 --- +## [0.9.2] - 2025-12-11 + +### Fixed + +- **Fixed Direct OAuth Flow failing with 'invalid_grant' error** (Issue #107) + - **Problem**: OAuth clients providing their own PKCE parameters (e.g., Claude Code, MCP Inspector) failed during token exchange because the server wasn't storing authorization code mappings + - **Root Cause**: In Direct OAuth Flow, the server wasn't storing the authorization code in the PKCE store, causing provider identification to fail in multi-provider deployments + - **Solution**: Always store authorization code mappings using empty string `''` as sentinel value for Direct OAuth Flow, allowing provider identification while maintaining security + - **Impact**: Claude Code and MCP Inspector OAuth integrations now work correctly; multi-provider routing works as expected + +### Added + +- **Comprehensive getting-started documentation** + - `docs/getting-started/01-overview.md` - Framework overview and architecture + - `docs/getting-started/02-http-session-management.md` - HTTP session management patterns + - `docs/getting-started/03-tool-registry-http-mode.md` - Tool registry for HTTP mode + +### Improved + +- **Test coverage for Direct OAuth Flow** - Added 11 comprehensive test cases validating authorization, token exchange, and provider identification +- **Reduced code duplication** - Refactored test helpers to eliminate 42 lines of duplicated code (14.3% reduction) +- **PKCE validation** - Implemented proper SHA256 code_challenge verification in tests + +--- + ## [0.9.1-rc.2] - 2025-11-28 ### Added diff --git a/packages/adapter-vercel/package.json b/packages/adapter-vercel/package.json index 144e18f9..65452948 100644 --- a/packages/adapter-vercel/package.json +++ b/packages/adapter-vercel/package.json @@ -1,6 +1,6 @@ { "name": "@mcp-typescript-simple/adapter-vercel", - "version": "0.9.1-rc.2", + "version": "0.9.2", "description": "Vercel serverless adapter for MCP TypeScript Simple server", "type": "module", "main": "./dist/index.js", diff --git a/packages/auth/package.json b/packages/auth/package.json index 423012b0..118f2a44 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@mcp-typescript-simple/auth", - "version": "0.9.1-rc.2", + "version": "0.9.2", "description": "OAuth 2.0/2.1 + Dynamic Client Registration (DCR) implementation for MCP servers", "type": "module", "main": "./dist/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index e07f2e6b..22950fb4 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@mcp-typescript-simple/config", - "version": "0.9.1-rc.2", + "version": "0.9.2", "description": "Extensible configuration management for MCP servers", "type": "module", "main": "./dist/index.js", diff --git a/packages/create-mcp-typescript-simple/package.json b/packages/create-mcp-typescript-simple/package.json index 57b01c01..321960f9 100644 --- a/packages/create-mcp-typescript-simple/package.json +++ b/packages/create-mcp-typescript-simple/package.json @@ -1,6 +1,6 @@ { "name": "create-mcp-typescript-simple", - "version": "0.9.1-rc.2", + "version": "0.9.2", "description": "Scaffolding tool for creating production-ready MCP TypeScript Simple servers", "type": "module", "bin": { diff --git a/packages/example-mcp/package.json b/packages/example-mcp/package.json index 4220c15b..03efa8c6 100644 --- a/packages/example-mcp/package.json +++ b/packages/example-mcp/package.json @@ -1,6 +1,6 @@ { "name": "@mcp-typescript-simple/example-mcp", - "version": "0.9.1-rc.2", + "version": "0.9.2", "description": "Example MCP server demonstrating framework usage", "type": "module", "main": "dist/index.js", diff --git a/packages/example-tools-basic/package.json b/packages/example-tools-basic/package.json index 8e7e286a..357947e8 100644 --- a/packages/example-tools-basic/package.json +++ b/packages/example-tools-basic/package.json @@ -1,6 +1,6 @@ { "name": "@mcp-typescript-simple/example-tools-basic", - "version": "0.9.1-rc.2", + "version": "0.9.2", "description": "Example: Basic MCP tools for demonstration and testing", "type": "module", "main": "./dist/index.js", diff --git a/packages/example-tools-llm/package.json b/packages/example-tools-llm/package.json index acf06528..c991b092 100644 --- a/packages/example-tools-llm/package.json +++ b/packages/example-tools-llm/package.json @@ -1,6 +1,6 @@ { "name": "@mcp-typescript-simple/example-tools-llm", - "version": "0.9.1-rc.2", + "version": "0.9.2", "description": "Example: LLM-powered MCP tools for demonstration and testing", "type": "module", "main": "./dist/index.js", diff --git a/packages/http-server/package.json b/packages/http-server/package.json index 43289e6c..dcd0190c 100644 --- a/packages/http-server/package.json +++ b/packages/http-server/package.json @@ -1,6 +1,6 @@ { "name": "@mcp-typescript-simple/http-server", - "version": "0.9.1-rc.2", + "version": "0.9.2", "description": "HTTP server infrastructure for MCP with session management, middleware, and transport layers", "type": "module", "main": "./dist/index.js", diff --git a/packages/observability/package.json b/packages/observability/package.json index 533d457e..646c7255 100644 --- a/packages/observability/package.json +++ b/packages/observability/package.json @@ -1,6 +1,6 @@ { "name": "@mcp-typescript-simple/observability", - "version": "0.9.1-rc.2", + "version": "0.9.2", "description": "Production-ready OpenTelemetry observability for MCP servers", "type": "module", "main": "./dist/index.js", diff --git a/packages/persistence/package.json b/packages/persistence/package.json index 4ec24fd5..1708c29d 100644 --- a/packages/persistence/package.json +++ b/packages/persistence/package.json @@ -1,6 +1,6 @@ { "name": "@mcp-typescript-simple/persistence", - "version": "0.9.1-rc.2", + "version": "0.9.2", "description": "Pluggable persistence layer for MCP servers with memory, file, and Redis support", "type": "module", "main": "./dist/index.js", diff --git a/packages/server/package.json b/packages/server/package.json index 0eb89bb6..55512f42 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,6 +1,6 @@ { "name": "@mcp-typescript-simple/server", - "version": "0.9.1-rc.2", + "version": "0.9.2", "description": "High-level MCP server creation and management", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/testing/package.json b/packages/testing/package.json index 1efc23ec..ec6184ed 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,6 +1,6 @@ { "name": "@mcp-typescript-simple/testing", - "version": "0.9.1-rc.2", + "version": "0.9.2", "description": "Reusable MCP testing framework with port management, process utilities, and Playwright helpers", "type": "module", "main": "./dist/index.js", diff --git a/packages/tools-llm/package.json b/packages/tools-llm/package.json index b7a39763..1bc86e3d 100644 --- a/packages/tools-llm/package.json +++ b/packages/tools-llm/package.json @@ -1,6 +1,6 @@ { "name": "@mcp-typescript-simple/tools-llm", - "version": "0.9.1-rc.2", + "version": "0.9.2", "description": "LLM infrastructure for building LLM-powered MCP tools", "type": "module", "main": "./dist/index.js", diff --git a/packages/tools/package.json b/packages/tools/package.json index 7d99465d..45c6a0ad 100644 --- a/packages/tools/package.json +++ b/packages/tools/package.json @@ -1,6 +1,6 @@ { "name": "@mcp-typescript-simple/tools", - "version": "0.9.1-rc.2", + "version": "0.9.2", "description": "Core tool system for building MCP tools in TypeScript", "type": "module", "main": "./dist/index.js",