Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: Switch to official MCP SDK and improve framework architecture #9

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

capccode
Copy link

@capccode capccode commented Jan 2, 2025

This is a major update that switches to the official MCP SDK while improving the overall framework architecture and type safety:

Breaking Changes:

  • Switched to @modelcontextprotocol/sdk from custom implementation
  • Changed project templates to use official SDK patterns
  • Moved component loaders to optional utilities

Type Safety and Schema Validation:

  • Fixed base model implementation to properly use Zod for schema validation in tools, prompts, and resources
  • Fixed type safety issues by properly exporting ResourceContent and other types from base models
  • Added proper TypeScript definitions (@types/node, @types/prompts)
  • Enhanced component creation with TypeScript interfaces

Framework Improvements:

  • Added improved component auto-discovery and validation
  • Added robust logging system with file-based logging
  • Enhanced project creation with modular template system
  • Fixed component loading issues by properly documenting base path configuration
  • Reduced code complexity (create.ts from ~1000 to ~130 lines)

Documentation and Client Support:

  • Added detailed MCP client configuration documentation, including Roo Cline settings
  • Added known client limitations regarding prompt operations and UI display
  • Added comprehensive migration guide for existing projects

Note: Some MCP clients may not fully support prompt operations, and the server view UI may not properly display all MCP tools and resources, though they remain functional through the API.

See CHANGELOG.md for full details and migration guide.

- Replace custom implementation with official SDK
- Fix project creation dependencies
- Add proper error handling
- Add CHANGELOG.md
- Add proper Zod schema validation in base models
- Export ResourceContent and other types for type safety
- Update documentation with base path requirements
- Add Roo Cline configuration guide
- Fix component loading with proper base path handling
- Add known client limitations to docs

This commit improves type safety across the framework by:
1. Properly integrating Zod schemas in base models
2. Exporting necessary types for better TypeScript support
3. Improving documentation around configuration and usage
….0, update changelog.md with release date and overview
@QuantGeekDev
Copy link
Owner

Hey @capccode this is awesome! Thanks for creating the PR. Do you have Discord? Would love to connect - here is the r/modelcontextprotocol Discord server: https://discord.gg/3uqNS3KRP2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants