Add MCP (Model Context Protocol) route support to @nestia/core #1351
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 adds comprehensive support for MCP (Model Context Protocol) routes to
@nestia/core
, enabling developers to easily expose TypeScript functions as tools that can be called by LLMs through the standardized MCP protocol.Features Added
Core Implementation
@McpRoute
decorator - Marks methods as MCP tools with configurable name, description, and JSON schemaMcpController
base class - Automatically provides MCP protocol endpoints (POST /tools
andPOST /call
)Protocol Compliance
The implementation follows the MCP specification with:
list_tools
endpoint returning available tools with their schemascall_tool
endpoint for executing specific tools with parametersUsage Example
This automatically exposes:
POST /weather/tools
- Lists available toolsPOST /weather/call
- Calls specific toolsError Handling
Testing
Added comprehensive test suite with 9 test cases covering:
All tests pass, demonstrating full protocol compliance and robust functionality.
Integration with LLMs
The MCP routes can be used with any LLM that supports the Model Context Protocol:
Fixes #1350.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.