Release Notes - v0.3.0¶
Release Date: 2026-01-18
Overview¶
This release marks the transition of the project to its new home as MCPKit under github.com/plexusone/mcpkit. The project has been restructured into focused subpackages for better organization and future growth:
runtime/- Core MCP server runtime with tools, prompts, resources, and transportsoauth2/- OAuth 2.1 Authorization Server with PKCE support
This release also includes error handling improvements following Go best practices.
Installation¶
Requires Go 1.24+ and MCP Go SDK v1.2.0+.
Highlights¶
- Project renamed to MCPKit under
github.com/plexusone/mcpkit - Restructured into focused subpackages:
runtime/andoauth2/ - Improved error handling following Go best practices
Breaking Changes¶
This release contains breaking changes that require updates to your import statements and package references.
Import Path Changes¶
// Before (v0.2.0)
import "github.com/grokify/mcpruntime"
import "github.com/grokify/mcpruntime/oauth2server"
// After (v0.3.0)
import "github.com/plexusone/mcpkit/runtime"
import "github.com/plexusone/mcpkit/oauth2"
Package Name Changes¶
// Before (v0.2.0)
rt := mcpruntime.New(&mcp.Implementation{...}, nil)
mcpruntime.AddTool(rt, tool, handler)
// After (v0.3.0)
rt := runtime.New(&mcp.Implementation{...}, nil)
runtime.AddTool(rt, tool, handler)
OAuth2 Server Changes¶
// Before (v0.2.0)
import "github.com/grokify/mcpruntime/oauth2server"
srv, err := oauth2server.New(&oauth2server.Config{...})
// After (v0.3.0)
import "github.com/plexusone/mcpkit/oauth2"
srv, err := oauth2.New(&oauth2.Config{...})
Upgrade Guide¶
From v0.2.0¶
-
Update go.mod:
-
Update imports in all Go files:
- Replace
github.com/grokify/mcpruntimewithgithub.com/plexusone/mcpkit/runtime -
Replace
github.com/grokify/mcpruntime/oauth2serverwithgithub.com/plexusone/mcpkit/oauth2 -
Update package references:
- Replace
mcpruntime.withruntime. -
Replace
oauth2server.withoauth2. -
Remove old dependency:
Quick Migration Script¶
# In your project directory
find . -name "*.go" -exec sed -i '' \
-e 's|github.com/grokify/mcpruntime/oauth2server|github.com/plexusone/mcpkit/oauth2|g' \
-e 's|github.com/grokify/mcpruntime|github.com/plexusone/mcpkit/runtime|g' \
-e 's|mcpruntime\.|runtime.|g' \
-e 's|oauth2server\.|oauth2.|g' {} \;
go mod tidy
What's Changed¶
Changed¶
- Module path changed from
github.com/grokify/mcpruntimetogithub.com/plexusone/mcpkit - Core runtime code moved to
runtime/subpackage - OAuth2 server moved from
oauth2server/tooauth2/ - Package references changed from
mcpkit.toruntime.for runtime types
Fixed¶
- Error handling for
fmt.Fprintfin OAuth login error page now logs errors viaslog.Logger - Error handling for
resp.Body.Close()in all test files now reports errors viat.Logf
Package Structure¶
github.com/plexusone/mcpkit
├── runtime/ # Core MCP server runtime
│ ├── Runtime type (New, CallTool, ServeStdio, ServeHTTP, etc.)
│ ├── Tool, Prompt, Resource registration
│ └── OAuth options for HTTP serving
├── oauth2/ # OAuth 2.1 Authorization Server
│ ├── Authorization Code Flow with PKCE (RFC 7636)
│ ├── Dynamic Client Registration (RFC 7591)
│ └── Authorization Server Metadata (RFC 8414)
└── doc.go # Package documentation
API Compatibility¶
All APIs remain functionally identical to v0.2.0. Only the import paths and package names have changed:
| v0.2.0 | v0.3.0 |
|---|---|
mcpruntime.New() |
runtime.New() |
mcpruntime.AddTool() |
runtime.AddTool() |
mcpruntime.Options |
runtime.Options |
mcpruntime.HTTPServerOptions |
runtime.HTTPServerOptions |
mcpruntime.OAuth2Options |
runtime.OAuth2Options |
oauth2server.New() |
oauth2.New() |
oauth2server.Config |
oauth2.Config |
Contributors¶
- John Wang