# ICSC Ava Upload MCP Server

檔案上傳和處理 MCP Server，支援工具鏈設計，專為 LibreChat 系統設計的接力棒工具。

## 功能

- **download_and_upload**: [CHAINING TOOL] 接收來自上游工具的暫存 URL，下載檔案並上傳到 LibreChat 後端系統

## 安裝

### 使用 uv 安裝

```bash
# 安裝專案依賴
uv sync

# 或者以開發模式安裝
uv pip install -e .
```

### 使用 uvx 直接運行

```bash
# 從本地專案運行
uvx --from . icsc-echo-server stdio

# 或者 HTTP 模式
uvx --from . icsc-echo-server http
```

## 運行模式

### STDIO 模式

適用於本地 MCP Client 連接：

```bash
# 使用 uv run
uv run python -m icsc_echo_mcp_server.server stdio

# 或使用安裝後的命令
uv run icsc-echo-server stdio
```

### Streamable HTTP 模式

適用於遠端 MCP Client 連接：

```bash
# 使用 uv run
uv run python -m icsc_echo_mcp_server.server http

# 或使用安裝後的命令
uv run icsc-echo-server http
```

HTTP 模式預設監聽 `http://127.0.0.1:8000`

## MCP Client 設定範例

### Claude Desktop (stdio 模式)

在 `claude_desktop_config.json` 中加入：

```json
{
  "mcpServers": {
    "icsc-echo": {
      "command": "uvx",
      "args": ["--from", "D:\\project\\icsc-file-uploader", "icsc-echo-server", "stdio"]
    }
  }
}
```

### HTTP 模式連接

啟動 HTTP 伺服器後，MCP Client 可連接到：
- URL: `http://127.0.0.1:8000/mcp`

## 開發

### VSCode 啟動設定

專案已包含 `.vscode/launch.json`，提供兩種除錯模式：
- **MCP Server (STDIO)**: 以 stdio 模式啟動
- **MCP Server (HTTP)**: 以 streamable-http 模式啟動

## 授權

MIT License
