Tencent Cloud COS MCP Server
This server provides Tencent Cloud Object Storage (COS) functionality through a Model Context Protocol (MCP) interface, enabling seamless integration with MCP-compatible IDEs like Claude Desktop, Cursor, and Windsurf.
Key capabilities:
Upload files: Single file upload (
upload_file) or batch upload (upload_multiple) with customizable object keys and optional custom domainsGenerate temporary URLs: Create time-limited signed URLs (
get_signed_url) for secure access to COS objects with customizable expiration (default 3600 seconds)List objects: Browse bucket contents (
list_objects) with optional prefix filtering for organizationDelete objects: Remove files (
delete_object) from COS storage using object keys
All operations are fully compatible with the Model Context Protocol for easy integration into supported development environments.
Provides tools for managing files in Tencent Cloud Object Storage (COS), including uploading single or multiple files, generating signed temporary URLs, listing objects with prefix filtering, and deleting objects
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Tencent Cloud COS MCP Serverupload the presentation slides from my desktop to the 'meetings' folder"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
腾讯云 COS MCP 服务器
一个基于 Node.js 的 Model Context Protocol (MCP)服务器,为 Claude Desktop、Cursor 和 Windsurf 等 IDE 提供腾讯云对象存储(COS)功能。
功能特性
🚀 文件上传 - 支持单文件和批量文件上传到腾讯云 COS
📦 大文件上传 - 自动分片上传,支持断点续传和进度监控
🔄 并发控制 - 智能重试机制和可配置并发限制
🧹 资源清理 - 自动清理临时文件,防止磁盘空间泄漏
📁 文件管理 - 复制、移动、重命名文件操作
🗂️ 文件夹操作 - 创建、删除文件夹,支持递归操作
🔗 临时 URL - 生成带签名的临时访问链接,支持自定义过期时间
📋 对象管理 - 列出存储桶中的对象,支持前缀过滤和文件夹视图
🗑️ 批量删除 - 支持单个和批量删除 COS 中的对象
📊 统计分析 - 文件夹统计信息,包括大小、数量、类型分布
🔧 MCP 兼容 - 完全兼容 Model Context Protocol 规范
Related MCP server: XMZ MCP Server
快速开始
📖 快速上手: 查看 快速参考指南 了解所有工具的基本用法
📚 详细文档: 查看 工具使用说明 获取完整的API文档和示例
本地调试
# 克隆项目
git clone https://github.com/156554395/tx-cos-mcp.git
cd tx-cos-mcp
# 安装依赖
pnpm install
# 配置环境变量
export COS_SECRET_ID=your-secret-id
export COS_SECRET_KEY=your-secret-key
export COS_REGION=your-region
export COS_BUCKET=your-bucket
export COS_DOMAIN=your-custom-domain.com
# 启动调试服务器
pnpm inspector环境配置
服务器通过环境变量读取腾讯云 COS 配置:
作为 MCP 服务器使用(推荐)
在 MCP 兼容编辑器中配置:
{
"command": "npx",
"args": ["-y", "tx-cos-mcp@latest"],
"env": {
"COS_SECRET_ID": "your-secret-id",
"COS_SECRET_KEY": "your-secret-key",
"COS_REGION": "your-region",
"COS_BUCKET": "your-bucket",
"COS_DOMAIN": "your-custom-domain.com"
},
"transportType": "stdio"
}环境变量说明
变量名 | 必需 | 说明 | 示例 |
| ✅ | 腾讯云 Secret ID |
|
| ✅ | 腾讯云 Secret Key |
|
| ✅ | COS 地域 |
|
| ✅ | 存储桶名称 |
|
| ❌ | 自定义域名 |
|
MCP 工具列表
1. upload_file - 单文件上传
{
"file_path": "/path/to/local/file.jpg", // 必需:本地文件路径
"object_key": "images/file.jpg", // 可选:COS中的对象键
"custom_domain": "cdn.example.com" // 可选:自定义域名
}2. upload_multiple - 批量文件上传
{
"files": [
{
"file_path": "/path/to/file1.jpg",
"object_key": "images/file1.jpg" // 可选
},
{
"file_path": "/path/to/file2.png" // 使用文件名作为对象键
}
]
}3. get_signed_url - 获取临时访问 URL
{
"object_key": "images/file.jpg", // 必需:COS对象键
"expire_time": 3600 // 可选:过期时间(秒),默认1小时
}4. list_objects - 列出存储桶对象
{
"prefix": "images/" // 可选:对象键前缀过滤
}5. delete_object - 删除对象
{
"object_key": "images/file.jpg" // 必需:要删除的对象键
}6. copy_object - 复制对象
{
"source_key": "images/file.jpg", // 必需:源对象键
"target_key": "backup/file.jpg", // 必需:目标对象键
"target_bucket": "other-bucket" // 可选:目标存储桶
}7. move_object - 移动对象
{
"source_key": "temp/file.jpg", // 必需:源对象键
"target_key": "images/file.jpg", // 必需:目标对象键
"target_bucket": "other-bucket" // 可选:目标存储桶
}8. rename_object - 重命名对象
{
"old_key": "images/old_name.jpg", // 必需:原对象键
"new_key": "images/new_name.jpg" // 必需:新对象键
}9. delete_multiple - 批量删除对象
{
"object_keys": [ // 必需:对象键数组
"images/file1.jpg",
"images/file2.jpg",
"temp/file3.png"
]
}10. create_folder - 创建文件夹
{
"folder_path": "images/thumbnails" // 必需:文件夹路径
}11. delete_folder - 删除文件夹
{
"folder_path": "temp/", // 必需:文件夹路径
"recursive": true // 可选:是否递归删除,默认false
}12. list_folders - 列出文件夹和文件
{
"prefix": "images/" // 可选:路径前缀,默认根目录
}13. get_folder_stats - 获取文件夹统计
{
"folder_path": "images/" // 可选:文件夹路径,为空则统计整个存储桶
}14. upload_large_file - 大文件分片上传
{
"file_path": "/path/to/large/video.mp4", // 必需:本地大文件路径
"object_key": "videos/video.mp4", // 可选:COS中的对象键
"custom_domain": "cdn.example.com", // 可选:自定义域名
"chunk_size": 2097152, // 可选:分片大小(字节),默认1MB
"concurrency": 5, // 可选:并发上传数,默认3,最大10
"force_slice": true // 可选:强制使用分片上传
}15. get_upload_progress - 获取上传进度
{
"session_id": "abc123def456" // 可选:特定会话ID,不提供则返回所有
}16. clear_upload_progress - 清理上传进度
{
"session_id": "abc123def456" // 必需:要清理的会话ID
}17. manage_temp_files - 管理临时文件
{
"action": "cleanup", // 必需:'stats'(统计) 或 'cleanup'(清理)
"type": "progress", // 可选:'progress'/'cache'/'uploads'/'all'
"older_than_days": 7 // 可选:清理多少天前的文件,默认7天
}IDE 集成配置
使用本地运行集成
{
"mcpServers": {
"tx-cos-mcp": {
"command": "node",
"args": ["your-absolute-path/tx-cos-mcp/index.js"],
"env": {
"COS_SECRET_ID": "your-secret-id",
"COS_SECRET_KEY": "your-secret-key",
"COS_REGION": "your-region",
"COS_BUCKET": "your-bucket",
"COS_DOMAIN": "your-custom-domain.com"
}
}
}
}已发布到 npm 集成
{
"mcpServers": {
"tx-cos-mcp": {
"command": "npx",
"args": ["y", "tx-cos-mcp@latest"],
"env": {
"COS_SECRET_ID": "your-secret-id",
"COS_SECRET_KEY": "your-secret-key",
"COS_REGION": "your-region",
"COS_BUCKET": "your-bucket",
"COS_DOMAIN": "your-custom-domain.com"
},
"transportType": "stdio"
}
}
}Claude code 中集成
在配置中添加 MCP 服务器配置,使用相同的 JSON 格式。
Cursor IDE
在设置中添加 MCP 服务器配置,使用相同的 JSON 格式。
Windsurf IDE
参考官方文档配置 MCP 服务器,使用上述配置参数。
常用命令
# 查看版本
npx tx-cos-mcp --version
# 测试配置
COS_SECRET_ID=xxx COS_SECRET_KEY=xxx COS_REGION=your-region COS_BUCKET=test npx tx-cos-mcp
# 开发模式
npm run dev
# 运行测试
npm run test # 基础功能测试
npm run test:mcp # MCP协议合规性测试
npm run test:temp # 临时目录管理测试
npm run test:cleanup # 临时文件清理测试
npm run test:path # 文件路径验证测试
# 发布到npm (维护者)
npm run publish:npm测试
项目包含完整的测试套件,确保功能的可靠性:
测试文件
test/test.js- 基础功能测试test/test-mcp.js- MCP协议合规性测试test/test-temp.js- 临时目录管理测试test/test-cleanup.js- 临时文件清理测试test/test-path-validation.js- 文件路径验证测试
运行测试
# 运行所有测试
npm test
# 单独测试
npm run test:mcp # 测试MCP协议功能
npm run test:temp # 测试临时目录管理
npm run test:cleanup # 测试临时文件清理
npm run test:path # 测试文件路径验证测试覆盖
✅ COS服务基础功能验证
✅ MCP协议标准输出合规性
✅ 临时目录结构和管理
✅ 上传完成后资源清理
✅ 断点续传进度管理
✅ 异常情况资源回收
✅ 文件路径清理和中文支持
开发指南
项目结构
tx-cos-mcp/
├── index.js # MCP服务器主入口
├── src/
│ ├── cosService.js # COS SDK封装服务
│ ├── config.js # 配置管理
│ ├── uploadProgress.js # 上传进度管理
│ └── tempManager.js # 临时文件管理
├── test/ # 测试文件目录
│ ├── test.js # 基础功能测试
│ ├── test-mcp.js # MCP协议合规性测试
│ ├── test-temp.js # 临时目录管理测试
│ └── test-cleanup.js # 临时文件清理测试
├── config-examples/ # 配置示例
├── package.json # 项目配置
└── README.md # 项目文档核心依赖
@modelcontextprotocol/sdk- MCP 协议实现cos-nodejs-sdk-v5- 腾讯云 COS 官方 SDK
贡献指南
Fork 项目
创建功能分支 (
git checkout -b feature/new-feature)提交更改 (
git commit -am 'Add new feature')推送分支 (
git push origin feature/new-feature)创建 Pull Request
许可证
MIT License - 查看LICENSE文件了解详情。
支持与反馈
🐛 问题反馈: GitHub Issues
💡 功能建议: GitHub Discussions
📧 联系作者: 156554395@qq.com
Available Tools
5 toolsdelete_objectC
删除COS中的对象
| Name | Required | Description | Default |
|---|---|---|---|
| object_key | Yes | 要删除的对象键名 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action is 'delete,' which implies a destructive mutation, but fails to add crucial context such as whether deletion is permanent, if it requires specific permissions, what happens on success/failure, or any rate limits. This is a significant gap for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence ('删除COS中的对象') that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a destructive mutation with no annotations and no output schema), the description is incomplete. It lacks critical information such as behavioral traits (e.g., permanence, error handling), usage context, and output expectations. While the parameter is well-covered by the schema, the overall description fails to compensate for the absence of annotations and output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the parameter 'object_key' clearly documented as '要删除的对象键名' (the key name of the object to delete). The description adds no additional meaning beyond this, as it doesn't elaborate on format, constraints, or examples. Given the high schema coverage, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '删除COS中的对象' clearly states the action (delete) and resource (object in COS), making the purpose immediately understandable. However, it doesn't explicitly differentiate this destructive operation from its sibling tools (get_signed_url, list_objects, upload_file, upload_multiple), which are all read or create operations, so it misses the opportunity for explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing object to delete), exclusions (e.g., not for deleting buckets or other resources), or comparisons with siblings (e.g., use list_objects first to verify existence). This leaves the agent with minimal context for appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_signed_urlC
获取COS对象的临时签名URL
| Name | Required | Description | Default |
|---|---|---|---|
| expire_time | No | URL有效期(秒),默认3600秒 | |
| object_key | Yes | COS中的对象键名 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'temporary signed URL' which implies time-limited access, but doesn't specify authentication requirements, rate limits, or what happens upon expiration. For a tool that likely involves security-sensitive operations, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, with every word contributing to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a tool that generates temporary signed URLs. It doesn't explain what the signed URL can be used for, security implications, or return format, leaving significant gaps in understanding the tool's behavior and output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters ('object_key' and 'expire_time') adequately. The description doesn't add any additional parameter semantics beyond what the schema provides, maintaining the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('获取' meaning 'get/obtain') and resource ('COS对象的临时签名URL' meaning 'temporary signed URL for COS object'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'list_objects' or 'upload_file', which would require a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There are no explicit when/when-not instructions or references to sibling tools like 'delete_object' or 'upload_file' for comparison, leaving usage context unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_objectsC
列出COS中的对象
| Name | Required | Description | Default |
|---|---|---|---|
| prefix | No | 对象键的过滤前缀,默认列出所有对象 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the basic action ('列出' - list) without detailing traits like whether it's read-only (implied but not stated), pagination behavior, rate limits, error conditions, or what the output format looks like. This leaves significant gaps for a tool that likely interacts with storage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence ('列出COS中的对象') that directly states the purpose without waste. However, it's overly concise to the point of under-specification, as it lacks necessary context about COS and behavioral details, slightly reducing its effectiveness despite the clean structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (interacting with object storage), lack of annotations, and no output schema, the description is incomplete. It doesn't explain return values, error handling, or important behavioral aspects like whether it lists recursively or includes metadata. For a tool with one parameter but significant implicit context, this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the single parameter 'prefix' fully documented in the schema ('对象键的过滤前缀,默认列出所有对象' - filter prefix for object keys, defaults to listing all objects). The description adds no additional meaning beyond what the schema provides, so it meets the baseline of 3 for high schema coverage without extra param info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '列出COS中的对象' (List objects in COS) states a clear verb ('列出' - list) and resource ('对象' - objects), but lacks specificity about what COS is (likely Cloud Object Storage) and doesn't differentiate from sibling tools like 'get_signed_url' which also deals with objects. It's vague about scope beyond basic listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention that this is for listing objects (vs. deleting with 'delete_object' or uploading with 'upload_file'), nor does it specify prerequisites like authentication or context for filtering with the prefix parameter. Usage is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_fileC
上传单个文件到腾讯云COS
| Name | Required | Description | Default |
|---|---|---|---|
| custom_domain | No | 自定义访问域名(可选) | |
| file_path | Yes | 本地文件路径 | |
| object_key | No | 上传后在COS中的对象键名,如果未提供则使用文件名 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states this is an upload operation (implying a write/mutation), but doesn't mention authentication requirements, rate limits, error conditions, what happens on success, or whether the operation is idempotent. The description is minimal and lacks important behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single Chinese sentence that directly states the tool's purpose. There's zero wasted language, and it's front-loaded with the core functionality. This is an example of efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool (file upload) with no annotations and no output schema, the description is insufficient. It doesn't explain what happens after upload, what gets returned, error handling, or important constraints. The combination of mutation behavior + lack of structured metadata requires more descriptive context than provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents all three parameters thoroughly. The description adds no additional parameter information beyond what's in the schema. This meets the baseline of 3 when schema coverage is high, but doesn't provide extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('上传' - upload) and target resource ('单个文件到腾讯云COS' - single file to Tencent Cloud COS), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from its sibling 'upload_multiple', which handles multiple files instead of single files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling 'upload_multiple' for batch operations, nor does it explain when to choose this over other storage operations like 'get_signed_url' or 'list_objects'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_multipleC
批量上传多个文件到腾讯云COS
| Name | Required | Description | Default |
|---|---|---|---|
| files | Yes | 文件数组,每个元素包含file_path和可选的object_key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the action (upload) but doesn't mention authentication requirements, rate limits, error handling, whether files are overwritten, or what happens on partial failures. For a mutation tool with zero annotation coverage, this leaves critical behavioral aspects undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded with the core functionality, making every word earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the tool returns, error conditions, or important behavioral aspects like whether uploads are atomic. The combination of mutation nature and lack of structured metadata requires more descriptive content than provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the schema fully documenting the 'files' array parameter and its nested structure. The description doesn't add any parameter semantics beyond what the schema provides, so it meets the baseline for high schema coverage without compensating value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('批量上传' - batch upload) and target resource ('多个文件到腾讯云COS' - multiple files to Tencent Cloud COS), which is specific and unambiguous. It distinguishes from the sibling 'upload_file' by explicitly mentioning multiple files, though it doesn't fully explain the functional difference beyond the plural wording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'upload_file'. The description doesn't mention prerequisites, limitations, or scenarios where batch upload is preferred over single-file upload, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v1.0.0- First observed
delete_object - First observed
get_signed_url - First observed
list_objects - First observed
upload_file - First observed
upload_multiple
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose with no overlap: delete_object removes objects, get_signed_url generates URLs, list_objects retrieves object lists, upload_file handles single uploads, and upload_multiple handles batch uploads. The descriptions clearly differentiate between object management, access control, and upload operations.
All tools follow a consistent verb_noun pattern in snake_case (e.g., delete_object, get_signed_url, list_objects). The naming is predictable and uniform across all five tools, making them easy to identify and use.
Five tools is a reasonable number for a COS (Cloud Object Storage) server, covering core operations like listing, uploading, deleting, and accessing objects. It's slightly lean but functional; minor additions like object metadata retrieval could enhance it without being necessary.
The toolset covers essential CRUD-like operations for object storage: create (upload_file/upload_multiple), read (list_objects, get_signed_url), and delete (delete_object). A minor gap is the lack of an update or copy tool for modifying existing objects, but agents can work around this by re-uploading.
Maintenance
Related MCP Connectors
Persistent file storage for AI agents via MCP and curl. Upload, download, and version files.
Browse and manage files in your Moxt AI workspace from any MCP client.
Tigris MCP Server seamlessly connects AI agents to Tigris bucket and object management.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables interaction with Volcengine's TOS (Object Storage) service through MCP protocol. Supports bucket management, object operations, pre-signed URLs, and media processing including image manipulation and video frame extraction.132Apache 2.0
- AlicenseCqualityCmaintenanceEnables AI models to interact with Tencent Cloud COS for cloud storage operations (upload, download, list files) and advanced media processing capabilities (image super-resolution, QR code recognition, video thumbnails, document conversion, and natural language-based file search).21Apache 2.0
- AlicenseNot gradedqualityFmaintenanceEnables interaction with AWS S3 through MCP, supporting bucket and object management, lifecycle configurations, tagging, policies, CORS settings, presigned URLs, and file uploads/downloads.3MIT
- FlicenseAqualityDmaintenanceProvides tools for interacting with MinIO and S3-compatible object storage through MCP clients like Claude. It enables comprehensive bucket and object management, including listing, creating, uploading, and generating presigned URLs.132-