Separate MCP SDK exports into dedicated submodule #21
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR reorganizes the package exports to make it clearer that
browserAuth()and related functionality are specifically designed for Model Context Protocol (MCP) SDK integration.Closes #16, Closes #20
What changed
New module structure
src/mcp.tsas a dedicated entry point for MCP SDK-specific exportsoauth-callback/mcpexport path inpackage.jsonbrowserAuth) to the new modulemcp) to main module for backward compatibilityExported types
The MCP module now exports all necessary types for advanced usage:
BrowserAuthOptions- Configuration options for browser OAuth flowsTokens- OAuth token storage interfaceTokenStore- Minimal storage interface for OAuth tokensClientInfo- Dynamic client registration data (RFC 7591)OAuthSession- Active OAuth flow state for crash recoveryOAuthStore- Full OAuth state storage interfaceWhy this change
browserAuth()is designed for MCP SDK integration, not general OAuth usageHow to use
For MCP SDK users (recommended)
Alternative: Namespace import
For core OAuth functionality
Migration guide
If you're currently importing
browserAuthfrom the main export:Before:
After:
Or use the namespace approach to maintain similar import structure:
Build changes
index.tsandmcp.tsseparatelyTesting
Breaking changes
browserAuthdirectly from"oauth-callback", you'll need to update your imports to use"oauth-callback/mcp"or the namespace export.This change makes the package more maintainable and clearer about the intended use of each export.