Skip to content

feat:add mcp integration #300

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

Merged
merged 13 commits into from
Jul 30, 2025
Merged

feat:add mcp integration #300

merged 13 commits into from
Jul 30, 2025

Conversation

WSL0809
Copy link
Contributor

@WSL0809 WSL0809 commented Jul 27, 2025

Type of Change

  • New Feature
  • Bug Fix
  • Documentation
  • Performance Improvement
  • Test/CI
  • Refactor
  • Other:

Related Issues

#255

Summary of Changes

Added support for the MCP protocol. Currently, MCP via stdio is implemented, and support for streamable HTTP will be considered in the future.

The following features are now supported:

  • List objects
  • List buckets
  • Upload local files
  • Read object content / download objects

Checklist

  • I have read and followed the CONTRIBUTING.md guidelines
  • Code is formatted with cargo fmt --all
  • Passed cargo clippy --all-targets --all-features -- -D warnings
  • Passed cargo check --all-targets
  • Added/updated necessary tests
  • Documentation updated (if needed)
  • CI/CD passed (if applicable)

Impact

  • Breaking change (compatibility)
  • Requires doc/config/deployment update
  • Other impact:

WSL0809 added 11 commits July 23, 2025 13:51
This merge brings the complete MCP server implementation with all four S3 tools:

- list_buckets: List all accessible S3 buckets with creation dates
- list_objects: List objects in a specific S3 bucket with optional prefix filtering
- upload_file: Upload a local file to an S3 bucket with comprehensive options
- get_object: Get/download objects from S3 with dual modes:
  - read mode: Direct content retrieval for text files
  - download mode: Save files locally with improved path display

Key features merged:
- Full MCP protocol compliance using rmcp SDK v0.3.0
- Intelligent file type detection (Text vs NonText)
- Streaming download with absolute path resolution
- Comprehensive error handling and user-friendly messages
- Complete test coverage for all functionality
- Enhanced download mode showing both requested and absolute paths

Technical improvements:
- Simplified file type detection from 4-variant to binary classification
- Improved download_object_to_file method returning (bytes, path) tuple
- Enhanced output formatting for better user experience
- Robust path canonicalization for security
- Support for custom S3 endpoints and RustFS compatibility
@CLAassistant
Copy link

CLAassistant commented Jul 27, 2025

CLA assistant check
All committers have signed the CLA.

@WSL0809 WSL0809 changed the title add mcp integration feat:add mcp integration Jul 27, 2025
damonxue added a commit that referenced this pull request Jul 28, 2025
fix: download rustfs-console-latest.zip first than build.
@loverustfs loverustfs merged commit 4f1770d into rustfs:main Jul 30, 2025
1 check passed
@loverustfs loverustfs mentioned this pull request Jul 30, 2025
@WSL0809 WSL0809 deleted the feat/mcp branch August 4, 2025 01:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants