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.
Weather MCP Demo Implementation
Overview
This PR introduces a fully functional Weather MCP (Model Context Protocol) demo built with Encore and TypeScript. The implementation showcases how to create an MCP server that provides weather information through a well-defined tool interface.
Features
Technical Details
Architecture
The project follows SOLID principles with a clear separation of concerns:
WeatherController
exposes the weather functionality as MCP toolsWeatherService
contains business logic for fetching and formatting weather dataWeatherRepository
simulates data retrieval for weather informationTesting Strategy
The implementation follows Test-Driven Development (TDD) principles with:
WeatherService
MCP Tools
The demo implements the following MCP tools:
get-weather
: Get the current weather for a specified cityHow to Test
Running the Application
Running Tests
encore test
Testing MCP Functionality
Cursor Integration
The project includes configuration for Cursor IDE to connect to the MCP server. This allows Cursor to use the weather tool directly through the Model Context Protocol.
Future Improvements
Related Links