feat: Add Model Context Protocol (MCP) Server Implementation #239
+1,015
−0
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.
Summary
This pull request introduces a Python-based server implementation for the Model Context Protocol (MCP). The primary goal of this addition is to extend the interoperability of the pointblank package, allowing it to communicate with and validate data contexts from Python environments.
This contribution is fully contained within a new mcp_folder, which includes the server logic, comprehensive unit tests, and documentation.
The main changes are:
Addition of a new mcp_folder (not sure where to put this implementation) containing the following files:
pointblank_server.py: The core MCP server that implements the MCP endpoints (for now just stdio but can be adapted to FastAPI as mcp python SDK shows on their docs.). It's designed to receive requests from a llm agent and return model-related context and validations.
test_mcp_server.py: A suite of pytest unit tests to ensure the server's functionality is correct and robust.
readme.md: Documentation explaining the purpose of the MCP server, how to set it up, and how to run it.
Related GitHub Issues and PRs
Checklist