cloudstudio-mcp-server


Namecloudstudio-mcp-server JSON
Version 1.0.6 PyPI version JSON
download
home_pageNone
SummaryCloud Studio MCP Server
upload_time2025-08-13 12:52:18
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords cloudstudio deploy mcp
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Cloud Studio MCP 部署服务

[![Python Version](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![FastAPI](https://img.shields.io/badge/FastAPI-0.68+-green.svg)](https://fastapi.tiangolo.com/)

Cloud Studio MCP 部署服务是一个基于FastMCP的服务器,提供Cloud Studio工作空间的管理功能,包括创建工作空间、上传文件和执行命令等操作。

## 功能特性

- **创建工作空间**:创建新的Cloud Studio工作空间实例
- **文件管理**:上传文件到指定工作空间
- **命令执行**:在工作空间中执行shell命令
- **MCP集成**:通过MCP协议提供标准化接口

## 安装指南

### 前置要求

- Python 3.8+
- API_TOKEN环境变量(Cloud Studio API访问令牌)

### 安装步骤

1. 克隆仓库:
   ```bash
   git clone <repository-url>
   cd mcp_deploy
   ```

2. 创建并激活虚拟环境:
   ```bash
   python -m venv .venv
   source .venv/bin/activate  # Linux/macOS
   .\.venv\Scripts\activate   # Windows
   ```

3. 安装依赖:
   ```bash
   pip install -e .
   ```

## 配置说明

在运行服务前,需要设置以下环境变量:

```bash
export API_TOKEN="your_cloud_studio_api_token"
export region="ap-shanghai"  # 可选,默认为ap-shanghai
```

## 使用说明

### 启动服务

```bash
python -m mcp_deploy
```

### API 文档

服务提供以下MCP工具:

#### 1. 创建工作空间

```python
create_workspace(title str) -> dict
```
返回示例:
```json
{
    "space_key": "kmhhvqnlogr48",
    "webIDE": "https://kmhhv1pyvc48--ide.ap-shanghai.cloudstudio.club"
}
```

#### 2. 上传文件

```python
write_files(space_key: str, region: str, files: list[File]) -> str
```
文件格式:
```python
class File:
    save_path: str    # 文件保存路径
    file_content: str # 文件内容(UTF-8编码)
```

#### 3. 执行命令

```python
execute_command(space_key: str, region: str, command: str) -> str
```
示例:
```python
execute_command("xxxx", "ap-shanghai", "ls -al")
```

## 开发指南

### 项目结构

```
mcp_deploy/
├── __init__.py
├── __main__.py
├── mcp_handlers.py    # 核心业务逻辑
├── models.py          # 数据模型定义
└── server.py          # FastMCP服务器实现
```

### 测试

1. 确保已设置API_TOKEN环境变量
2. 运行测试命令:
   ```bash
   python -m pytest
   ```

## 贡献

欢迎提交Pull Request或Issue报告问题。

## 许可证

[MIT License](LICENSE)
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "cloudstudio-mcp-server",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "cloudstudio, deploy, mcp",
    "author": null,
    "author_email": "hongxuwu <hongxuwu@tencent.com>, chrisclye <chrisclye@tencent.com>",
    "download_url": "https://files.pythonhosted.org/packages/02/8d/ea9c39d7a5bad56485c05c363b1bd9bfbef185bd9e2b0714979d286a7f61/cloudstudio_mcp_server-1.0.6.tar.gz",
    "platform": null,
    "description": "# Cloud Studio MCP \u90e8\u7f72\u670d\u52a1\n\n[![Python Version](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)\n[![FastAPI](https://img.shields.io/badge/FastAPI-0.68+-green.svg)](https://fastapi.tiangolo.com/)\n\nCloud Studio MCP \u90e8\u7f72\u670d\u52a1\u662f\u4e00\u4e2a\u57fa\u4e8eFastMCP\u7684\u670d\u52a1\u5668\uff0c\u63d0\u4f9bCloud Studio\u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u529f\u80fd\uff0c\u5305\u62ec\u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4\u3001\u4e0a\u4f20\u6587\u4ef6\u548c\u6267\u884c\u547d\u4ee4\u7b49\u64cd\u4f5c\u3002\n\n## \u529f\u80fd\u7279\u6027\n\n- **\u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4**\uff1a\u521b\u5efa\u65b0\u7684Cloud Studio\u5de5\u4f5c\u7a7a\u95f4\u5b9e\u4f8b\n- **\u6587\u4ef6\u7ba1\u7406**\uff1a\u4e0a\u4f20\u6587\u4ef6\u5230\u6307\u5b9a\u5de5\u4f5c\u7a7a\u95f4\n- **\u547d\u4ee4\u6267\u884c**\uff1a\u5728\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u6267\u884cshell\u547d\u4ee4\n- **MCP\u96c6\u6210**\uff1a\u901a\u8fc7MCP\u534f\u8bae\u63d0\u4f9b\u6807\u51c6\u5316\u63a5\u53e3\n\n## \u5b89\u88c5\u6307\u5357\n\n### \u524d\u7f6e\u8981\u6c42\n\n- Python 3.8+\n- API_TOKEN\u73af\u5883\u53d8\u91cf\uff08Cloud Studio API\u8bbf\u95ee\u4ee4\u724c\uff09\n\n### \u5b89\u88c5\u6b65\u9aa4\n\n1. \u514b\u9686\u4ed3\u5e93\uff1a\n   ```bash\n   git clone <repository-url>\n   cd mcp_deploy\n   ```\n\n2. \u521b\u5efa\u5e76\u6fc0\u6d3b\u865a\u62df\u73af\u5883\uff1a\n   ```bash\n   python -m venv .venv\n   source .venv/bin/activate  # Linux/macOS\n   .\\.venv\\Scripts\\activate   # Windows\n   ```\n\n3. \u5b89\u88c5\u4f9d\u8d56\uff1a\n   ```bash\n   pip install -e .\n   ```\n\n## \u914d\u7f6e\u8bf4\u660e\n\n\u5728\u8fd0\u884c\u670d\u52a1\u524d\uff0c\u9700\u8981\u8bbe\u7f6e\u4ee5\u4e0b\u73af\u5883\u53d8\u91cf\uff1a\n\n```bash\nexport API_TOKEN=\"your_cloud_studio_api_token\"\nexport region=\"ap-shanghai\"  # \u53ef\u9009\uff0c\u9ed8\u8ba4\u4e3aap-shanghai\n```\n\n## \u4f7f\u7528\u8bf4\u660e\n\n### \u542f\u52a8\u670d\u52a1\n\n```bash\npython -m mcp_deploy\n```\n\n### API \u6587\u6863\n\n\u670d\u52a1\u63d0\u4f9b\u4ee5\u4e0bMCP\u5de5\u5177\uff1a\n\n#### 1. \u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4\n\n```python\ncreate_workspace(title str) -> dict\n```\n\u8fd4\u56de\u793a\u4f8b\uff1a\n```json\n{\n    \"space_key\": \"kmhhvqnlogr48\",\n    \"webIDE\": \"https://kmhhv1pyvc48--ide.ap-shanghai.cloudstudio.club\"\n}\n```\n\n#### 2. \u4e0a\u4f20\u6587\u4ef6\n\n```python\nwrite_files(space_key: str, region: str, files: list[File]) -> str\n```\n\u6587\u4ef6\u683c\u5f0f\uff1a\n```python\nclass File:\n    save_path: str    # \u6587\u4ef6\u4fdd\u5b58\u8def\u5f84\n    file_content: str # \u6587\u4ef6\u5185\u5bb9(UTF-8\u7f16\u7801)\n```\n\n#### 3. \u6267\u884c\u547d\u4ee4\n\n```python\nexecute_command(space_key: str, region: str, command: str) -> str\n```\n\u793a\u4f8b\uff1a\n```python\nexecute_command(\"xxxx\", \"ap-shanghai\", \"ls -al\")\n```\n\n## \u5f00\u53d1\u6307\u5357\n\n### \u9879\u76ee\u7ed3\u6784\n\n```\nmcp_deploy/\n\u251c\u2500\u2500 __init__.py\n\u251c\u2500\u2500 __main__.py\n\u251c\u2500\u2500 mcp_handlers.py    # \u6838\u5fc3\u4e1a\u52a1\u903b\u8f91\n\u251c\u2500\u2500 models.py          # \u6570\u636e\u6a21\u578b\u5b9a\u4e49\n\u2514\u2500\u2500 server.py          # FastMCP\u670d\u52a1\u5668\u5b9e\u73b0\n```\n\n### \u6d4b\u8bd5\n\n1. \u786e\u4fdd\u5df2\u8bbe\u7f6eAPI_TOKEN\u73af\u5883\u53d8\u91cf\n2. \u8fd0\u884c\u6d4b\u8bd5\u547d\u4ee4\uff1a\n   ```bash\n   python -m pytest\n   ```\n\n## \u8d21\u732e\n\n\u6b22\u8fce\u63d0\u4ea4Pull Request\u6216Issue\u62a5\u544a\u95ee\u9898\u3002\n\n## \u8bb8\u53ef\u8bc1\n\n[MIT License](LICENSE)",
    "bugtrack_url": null,
    "license": null,
    "summary": "Cloud Studio MCP Server",
    "version": "1.0.6",
    "project_urls": null,
    "split_keywords": [
        "cloudstudio",
        " deploy",
        " mcp"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "161b38f1b6cac4ac12e9548a24ace2d71e30574cdc2541580725299d1d61092e",
                "md5": "d2bd2374f509eed76f210d4c8c740121",
                "sha256": "edd7305740c52433e49af1b3cc73da886fcd9c0c8c89beacd61d8fe9386a0808"
            },
            "downloads": -1,
            "filename": "cloudstudio_mcp_server-1.0.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d2bd2374f509eed76f210d4c8c740121",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 13672,
            "upload_time": "2025-08-13T12:52:15",
            "upload_time_iso_8601": "2025-08-13T12:52:15.672962Z",
            "url": "https://files.pythonhosted.org/packages/16/1b/38f1b6cac4ac12e9548a24ace2d71e30574cdc2541580725299d1d61092e/cloudstudio_mcp_server-1.0.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "028dea9c39d7a5bad56485c05c363b1bd9bfbef185bd9e2b0714979d286a7f61",
                "md5": "21500e14af80cf5dd4ecf07780bfbf6f",
                "sha256": "1493cdede04ea3d7a748a240f21bb2e3003ba6812a3c4009c589c0111fadb419"
            },
            "downloads": -1,
            "filename": "cloudstudio_mcp_server-1.0.6.tar.gz",
            "has_sig": false,
            "md5_digest": "21500e14af80cf5dd4ecf07780bfbf6f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 53371,
            "upload_time": "2025-08-13T12:52:18",
            "upload_time_iso_8601": "2025-08-13T12:52:18.079861Z",
            "url": "https://files.pythonhosted.org/packages/02/8d/ea9c39d7a5bad56485c05c363b1bd9bfbef185bd9e2b0714979d286a7f61/cloudstudio_mcp_server-1.0.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-13 12:52:18",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "cloudstudio-mcp-server"
}
        
Elapsed time: 0.48736s