-
Notifications
You must be signed in to change notification settings - Fork 0
[AI-37]: Add ReadOnly DB Access to AIDev sdk #10
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
[AI-37]: Add ReadOnly DB Access to AIDev sdk #10
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds read-only database query execution capabilities to the AIDev SDK, allowing AI assistants to query the database through the Model Context Protocol (MCP). The implementation includes security measures to prevent write operations by validating that only SELECT, SHOW, DESCRIBE, and EXPLAIN statements are executed.
Key changes:
- New
DatabaseQueryReaderclass with read-only query validation and automatic row limit application ExecuteDatabaseQueryAiDevMcpToolPluginplugin to expose database query functionality to MCP- Updated interface documentation to clarify method naming conventions
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
src/SprykerSdk/Zed/AiDev/Dependency/AiDevMcpToolPluginInterface.php |
Updated documentation to clarify that the name represents both the callable method and MCP prompt name |
src/SprykerSdk/Zed/AiDev/Communication/Plugins/AiDevMcpTools/ExecuteDatabaseQueryAiDevMcpToolPlugin.php |
New plugin that provides the database query execution interface for MCP tools |
src/SprykerSdk/Zed/AiDev/Business/Database/Reader/DatabaseQueryReaderInterface.php |
Interface definition for database query execution functionality |
src/SprykerSdk/Zed/AiDev/Business/Database/Reader/DatabaseQueryReader.php |
Core implementation with read-only validation, multiple statement prevention, and automatic limit application |
src/SprykerSdk/Zed/AiDev/Business/AiDevBusinessFactory.php |
Factory method to create the DatabaseQueryReader instance |
src/SprykerSdk/Zed/AiDev/AiDevDependencyProvider.php |
Registers the ExecuteDatabaseQueryAiDevMcpToolPlugin in the MCP tool plugins list |
README.md |
Updated Claude Code command syntax with proper argument separator |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/SprykerSdk/Zed/AiDev/Dependency/AiDevMcpToolPluginInterface.php
Outdated
Show resolved
Hide resolved
src/SprykerSdk/Zed/AiDev/Dependency/AiDevMcpToolPluginInterface.php
Outdated
Show resolved
Hide resolved
src/SprykerSdk/Zed/AiDev/Business/Database/Reader/DatabaseQueryReader.php
Show resolved
Hide resolved
src/SprykerSdk/Zed/AiDev/Business/Database/Reader/DatabaseQueryReader.php
Show resolved
Hide resolved
...Sdk/Zed/AiDev/Communication/Plugins/AiDevMcpTools/ExecuteDatabaseQueryAiDevMcpToolPlugin.php
Outdated
Show resolved
Hide resolved
src/SprykerSdk/Zed/AiDev/Business/Database/Reader/DatabaseQueryReader.php
Show resolved
Hide resolved
src/SprykerSdk/Zed/AiDev/Business/Database/Reader/DatabaseQueryReader.php
Outdated
Show resolved
Hide resolved
src/SprykerSdk/Zed/AiDev/Business/Database/Reader/DatabaseQueryReader.php
Show resolved
Hide resolved
...Sdk/Zed/AiDev/Communication/Plugins/AiDevMcpTools/ExecuteDatabaseQueryAiDevMcpToolPlugin.php
Show resolved
Hide resolved
src/SprykerSdk/Zed/AiDev/Business/Database/Reader/DatabaseQueryReader.php
Show resolved
Hide resolved
…eature/ai-37-add-read-only-db-access-to-ai-dev-sdk # Conflicts: # src/SprykerSdk/Zed/AiDev/Business/AiDevBusinessFactory.php
…eature/ai-37-add-read-only-db-access-to-ai-dev-sdk
No description provided.