Troubleshooting¶
Solutions to common issues with mcp-s3.
Connection Issues¶
Connection Refused¶
Symptoms:
Causes: - S3-compatible server not running - Wrong endpoint or port - Firewall blocking connection
Solutions:
-
Verify the server is running:
-
Check endpoint configuration:
-
Test network connectivity:
Connection Timeout¶
Symptoms:
Causes: - Network latency - Firewall timeout - DNS resolution issues
Solutions:
-
Check DNS resolution:
-
Increase timeout:
-
Test with AWS CLI:
Authentication Errors¶
Access Denied¶
Symptoms:
Solutions:
-
Verify credentials are set:
-
Test credentials directly:
-
Check IAM permissions for the bucket:
Invalid Credentials¶
Symptoms:
Solutions:
- Verify the access key ID is correct
- Check that the credentials haven't been rotated
- Ensure you're using the right AWS account
Signature Mismatch¶
Symptoms:
Solutions:
-
Check for trailing whitespace in credentials:
-
Verify clock synchronization:
-
For S3-compatible storage, check signature version compatibility
Bucket and Object Errors¶
Bucket Not Found¶
Symptoms:
Solutions:
-
Verify bucket name:
-
Check region configuration:
-
Ensure the bucket exists in the correct account
Object Not Found¶
Symptoms:
Solutions:
-
List objects to verify the key:
-
Check for typos in the key name
- Verify object hasn't been deleted
Size Limit Errors¶
Object Too Large (GET)¶
Symptoms:
Solutions:
-
Increase the GET size limit:
-
Use presigned URLs for large objects:
"Generate a presigned URL for this file"
Object Too Large (PUT)¶
Symptoms:
Solutions:
-
Increase the PUT size limit:
-
Consider using multipart upload for very large files
Read-Only Mode¶
Symptoms:
Solutions:
-
If write access is needed, disable read-only mode:
-
Or use presigned URLs for uploads:
"Generate a presigned PUT URL"
S3-Compatible Storage Issues¶
Path Style Required¶
Symptoms:
Solutions:
- Enable path-style URLs:
SeaweedFS Specific¶
Symptoms:
Solutions:
-
Enable path-style URLs:
-
Use the correct endpoint:
Verbose Logging¶
Enable detailed logging for debugging:
# Enable request logging
export MCP_S3_EXT_LOGGING=true
# Run with logs to stderr
mcp-s3 2>mcp-s3.log
Debug Mode¶
Test Connection¶
# Verify configuration
env | grep -E "AWS_|S3_|MCP_S3"
# Test with AWS CLI
aws s3 ls --endpoint-url $S3_ENDPOINT
Check Effective Configuration¶
Docker Troubleshooting¶
Container Won't Start¶
# Check logs
docker logs mcp-s3
# Run interactively
docker run -it --rm \
-e AWS_REGION=us-east-1 \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
ghcr.io/txn2/mcp-s3:latest
Network Issues in Docker¶
# Use host network for debugging
docker run --network=host \
-e S3_ENDPOINT=http://localhost:8333 \
ghcr.io/txn2/mcp-s3:latest
Connect to Local S3-Compatible Storage¶
# Use host.docker.internal on macOS/Windows
docker run \
-e S3_ENDPOINT=http://host.docker.internal:8333 \
-e S3_USE_PATH_STYLE=true \
ghcr.io/txn2/mcp-s3:latest
Getting Help¶
If you can't resolve an issue:
- Check the GitHub Issues
- Open a new issue with:
- mcp-s3 version
- Configuration (without credentials)
- Error message
- Steps to reproduce