-
Notifications
You must be signed in to change notification settings - Fork 7
Add umanaged transports #8
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
Conversation
- Add MCPTransport abstract base class with standardized interface - Refactor JSONRPCTransport to StdioTransport implementing MCPTransport - Update ValidationContext to use MCPTransport interface - Add new fields for HTTP transport support (endpoint, transport_type) - Maintain backward compatibility via JSONRPCTransport alias - Add proper transport cleanup with close() method This establishes the foundation for supporting multiple transport types including the planned HTTP and SSE transports while keeping all existing functionality intact. 🤖 Generated with [Claude Code](https://claude.ai/code) Signed-off-by: Daniele Martinoli <dmartino@redhat.com> Co-authored-by: Claude <noreply@anthropic.com>
- Introduce HTTP transport implementation for MCP communication, allowing for HTTP-based interactions. - Update argument parser to include transport options and validate endpoint URLs. - Refactor validation orchestrator to support both stdio and HTTP transports, ensuring proper cleanup and initialization. - Add transport factory for creating transport instances based on type, enhancing modularity and maintainability. This update lays the groundwork for more flexible communication methods in MCP validation, improving usability and integration capabilities. Signed-off-by: D. Martinoli <dmartino@redhat.com> Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
- use mcp package - linting code - auth options Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
- exposed tools to security check Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
- Add complete HTTP transport implementation using MCP SDK's streamablehttp_client - Support three authentication strategies: * OAuth 2.0 Dynamic Client Registration (RFC 7591) - automatic * Pre-registered OAuth applications - manual setup * Personal access tokens - direct authentication - Implement OAuth callback server with automatic browser opening - Add pre-flight authentication checks to avoid SDK crashes - Update CLI to display authentication method being used - Enable context sharing between validators for accurate tool counts - Add comprehensive OAuth documentation to README Successfully tested with GitLab's MCP endpoint discovering 10 tools: get_pipeline_jobs, get_issue, create_issue, create_merge_request, get_merge_request, and 5 more GitLab MCP tools. 🤖 Generated with [Claude Code](https://claude.ai/code) Signed-off-by: Daniele Martinoli <dmartino@redhat.com> Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
|
While running against the GitLab MCP server: A few thoughts:
|
Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
…xist" was actually correct behavior being logged unnecessarily Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
…g until the right request ID is received Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
…quest" when the server silently ignores the malformed request (which is acceptable behavior). Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
|
Hey @caxu-rh thanks for your comments. |
Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
|
@caxu-rh do you agree to merge? |
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.
Thanks for the additional changes. In general I think it's good to go, seems to have been working as expected. Further changes can still be made in additional PRs as needed.
Changes to address #5 and other structural updates.
Python Version & Dependencies
MCP Specification Compliance
CLI Interface Review
Transport System Complete Rewrite
--transport sse,--transport http) with CLI supportEnhanced Error Handling & Debugging
Documentation Updates