open-index/open-npm huggingface dataset:
npm package: @mcpcn/mac-calendar-mcp
Description: Mac Calendar MCP - Model Context Protocol for Apple Calendar integration
Author: Claude
Latest version: 1.0.2

# Mac Calendar MCP

Mac Calendar MCP是一个专门用于苹果日历应用集成的Model Context Protocol服务器。

## 功能

- 搜索日历事件
- 列出日历事件
- 创建新的日历事件
- 打开特定事件

## 使用

该MCP服务器提供calendar工具，支持以下操作：

- `search`: 搜索日历事件
- `list`: 列出指定时间范围内的事件
- `create`: 创建新的日历事件
- `open`: 打开特定的事件

## 许可证

MIT
npm package: @mcpcn/mac-mail-mcp
Description: Mac Mail MCP - Model Context Protocol for Apple Mail integration
Author: Claude
Latest version: 1.0.2

# Mac Mail MCP

Mac Mail MCP是一个专门用于苹果邮件应用集成的Model Context Protocol服务器。

## 功能

- 获取未读邮件
- 发送邮件
- 管理邮件账户和邮箱
- 获取最新邮件

## 安装

```bash
npm install
```

## 开发

```bash
bun run dev
```

## 构建

```bash
bun run build
```

## 重要说明

### 邮件账户和邮箱名称

在使用此MCP服务器时，请注意以下几点：

1. **账户名称**：使用Mac邮件应用中显示的确切账户名称
   - 例如：`"谷歌"`, `"iCloud"`, `"Outlook"` 等

2. **邮箱名称**：不同账户的邮箱名称可能不同
   - Gmail账户：`"INBOX"`, `"已发邮件"`, `"草稿"`, `"垃圾邮件"` 等
   - 智能邮箱：`"收件箱"`, `"VIP"`, `"未读"` 等

3. **获取正确名称的方法**：
   ```json
   // 获取所有账户
   {"name": "mail_accounts", "arguments": {}}
   
   // 获取特定账户的邮箱
   {"name": "mail_mailboxes", "arguments": {"account": "谷歌"}}
   ```

### 权限要求

确保以下权限已启用：
- Mac邮件应用的自动化权限
- 终端或Node.js的辅助功能权限
- 系统偏好设置 > 安全性与隐私 > 隐私 > 自动化

## 使用

该MCP服务器提供以下工具：

### mail_unread
获取未读邮件
```json
{
  "name": "mail_unread",
  "arguments": {
    "account": "谷歌",      // 可选，账户名
    "mailbox": "INBOX",    // 可选，邮箱名  
    "limit": 10            // 可选，邮件数量
  }
}
```

// mail_search 工具已移除

### mail_latest
获取最新邮件
```json
{
  "name": "mail_latest",
  "arguments": {
    "account": "谷歌",      // 可选，不提供则使用第一个账户
    "limit": 5             // 可选，默认5封
  }
}
```

### mail_send
发送邮件
```json
{
  "name": "mail_send",
  "arguments": {
    "to": "recipient@email.com",     // 必需
    "subject": "邮件主题",           // 必需
    "body": "邮件内容",             // 必需
    "cc": "cc@email.com",           // 可选
    "bcc": "bcc@email.com"          // 可选
  }
}
```

### mail_accounts
列出所有邮件账户
```json
{
  "name": "mail_accounts",
  "arguments": {}
}
```

### mail_mailboxes  
列出邮箱
```json
{
  "name": "mail_mailboxes",
  "arguments": {
    "account": "谷歌"       // 可选，不提供则列出所有邮箱
  }
}
```

## 故障排除

### 常见问题

1. **"No emails found"**
   - 检查账户名称是否正确
   - 检查邮箱名称是否正确（Gmail使用"INBOX"而非"收件箱"）
   - 确认Mail应用正在运行且已同步

2. **权限错误**
   - 在系统偏好设置中启用自动化权限
   - 重启终端或IDE
   - 重新启动Mac邮件应用

3. **账户找不到**
   - 使用`mail_accounts`工具查看可用账户
   - 使用完整的账户名称（包括特殊字符）

### 调试建议

1. 首先运行`mail_accounts`确认账户名称
2. 运行`mail_mailboxes`确认邮箱名称  
3. 使用正确的名称重试操作

## 许可证

MIT
npm package: @mcpcn/mac-maps-mcp
Description: Mac Maps MCP - Model Context Protocol for Apple Maps integration
Author: Claude
Latest version: 1.0.1

# Mac地图助手 🗺️

一个让你轻松使用苹果地图的智能助手！无需手动操作，直接通过对话就能搜索地点、规划路线、收藏位置。

## ✨ 主要功能

### 🔍 搜索地点
- 快速搜索任何地点：餐厅、商店、景点、加油站...
- 支持模糊搜索，比如"附近的星巴克"、"北京大学"

### 🗺️ 路线导航  
- 获取详细的出行路线规划
- 支持多种交通方式：开车🚗、步行🚶‍♀️、公交🚌

### ⭐ 收藏管理
- 将重要地点保存到收藏夹
- 给地点起个好记的名字，比如"我家"、"公司"

### 📍 位置标记
- 在地图上标记重要位置
- 适合记录停车位、聚餐地点等临时位置

### 📋 旅行指南
- 创建主题地点收集，比如"美食推荐"、"周末好去处"
- 将发现的好地方加入相关指南

## 🎯 使用场景

**日常出行**
- "帮我找附近的便利店"
- "从家到公司的最快路线"
- "收藏这个好吃的餐厅"

**旅行规划**  
- "搜索北京的热门景点"
- "创建一个'北京美食'指南"
- "标记酒店位置"

**生活便利**
- "找最近的加油站"
- "记录停车位置" 
- "保存常去的医院"

## 🛠️ 可用工具

| 工具 | 功能说明 | 使用示例 |
|------|---------|----------|
| 🔍 搜索地点 | 查找任何地点位置 | "搜索星巴克" |
| ⭐ 收藏地点 | 保存重要位置到收藏夹 | "收藏'我家'在朝阳区..." |
| 🗺️ 路线导航 | 获取出行路线规划 | "从天安门到故宫的步行路线" |
| 📍 标记地点 | 在地图上做标记 | "标记停车位置" |
| 📋 查看指南 | 显示所有旅行指南 | "显示我的指南列表" |
| ➕ 添加到指南 | 将地点加入指南 | "把这个餐厅加入美食指南" |
| 📝 创建指南 | 新建主题地点收集 | "创建'周末好去处'指南" |

## 🚀 开始使用

只需要通过自然语言描述你的需求，比如：
- "帮我搜索附近的咖啡厅"
- "规划从北京站到首都机场的路线"  
- "把这个地方收藏为'常去的健身房'"

就这么简单！地图助手会自动为你打开苹果地图应用并执行相应操作。

## 📱 系统要求

- macOS 系统
- 苹果地图应用
- 授权自动化权限（首次使用时系统会提示）

---

让出行变得更简单！ 🎉
npm package: @mcpcn/mac-messages-mcp
Description: Mac Messages MCP - Model Context Protocol for Apple Messages integration
Author: Claude
Latest version: 1.0.1

# Mac Messages MCP

Mac Messages MCP是一个专门用于苹果消息应用集成的Model Context Protocol服务器。

## 功能

- 发送iMessage/短信
- 读取消息记录
- 获取未读消息
- 计划定时发送消息

## 使用

该MCP服务器提供messages工具，支持以下操作：

- `send`: 发送消息
- `read`: 读取与特定联系人的消息
- `unread`: 获取未读消息
- `schedule`: 计划定时发送消息

## 许可证

MIT
npm package: @mcpcn/mac-notes-mcp
Description: Mac Notes MCP - Model Context Protocol for Apple Notes integration
Author: Claude
Latest version: 1.0.1

# Mac Notes MCP

Mac Notes MCP是一个专门用于苹果备忘录应用集成的Model Context Protocol服务器。

## 功能概览

- 搜索备忘录：按标题与正文关键词匹配
- 列出备忘录：输出所有备忘录（标题+纯文本内容）
- 创建备忘录：可选指定文件夹，默认在“Claude”下（若不存在会自动创建）

## 安装

```bash
npm install
```

## 开发

```bash
bun run dev
```

## 构建

```bash
bun run build
```

## 使用

该 MCP 服务器导出 3 个工具：

### `notes_search`
- 功能：按标题与正文进行关键词搜索。
- 入参：`searchText`（string，必填）— 搜索关键词。
- 返回：匹配到的备忘录集合（每条含“标题 + 纯文本内容”）；若无结果返回提示。

示例调用（伪）：
```
callTool name=notes_search args={"searchText":"会议纪要"}
```

### `notes_list`
- 功能：列出所有备忘录。
- 入参：无。
- 返回：全部备忘录（每条含“标题 + 纯文本内容”）；若为空返回提示。

示例调用（伪）：
```
callTool name=notes_list args={}
```

### `notes_create`
- 功能：创建新备忘录，可选指定文件夹。
- 入参：
  - `title`（string，必填）：备忘录标题；
  - `body`（string，必填）：备忘录内容（支持常见 Markdown，服务会做基础格式优化，如标题换行、列表分行等）；
  - `folderName`（string，可选）：保存到的文件夹，默认“Claude”；当为默认值且该文件夹不存在时，会自动创建。
- 返回：创建结果文案；若失败，返回失败原因。

示例调用（伪）：
```
callTool name=notes_create args={"title":"待办","body":"- 买牛奶\n- 约医生","folderName":"个人"}
```

## 许可证

MIT
npm package: @mcpcn/mac-reminders-mcp
Description: Mac Reminders MCP - Model Context Protocol for Apple Reminders integration
Author: Claude
Latest version: 1.0.1

# Mac Reminders MCP

Mac Reminders MCP是一个专门用于苹果提醒事项应用集成的Model Context Protocol服务器。

## 功能

- 列出所有提醒事项和列表
- 搜索提醒事项
- 创建新的提醒事项
- 打开特定提醒事项
- 根据列表ID获取提醒事项

## 使用

该MCP服务器提供reminders工具，支持以下操作：

- `list`: 列出所有提醒事项列表和提醒事项
- `search`: 搜索包含指定文本的提醒事项
- `open`: 打开并显示特定提醒事项
- `create`: 创建新的提醒事项
- `listById`: 根据列表ID获取提醒事项

此外还内置了一组“测试工具”，用于快速验证 MCP 管道是否工作：

- `test_echo`: 回显输入文本
- `test_sum`: 对数字数组求和
- `test_error`: 故意返回错误
- `test_delay`: 延迟后返回结果
- `test_random`: 返回[min,max]间随机整数

### 调用示例（伪）

以下为调用这些测试工具的示例请求体（实际由 MCP 客户端发起）：

```jsonc
// echo
{
  "method": "tools/call",
  "params": { "name": "test_echo", "arguments": { "message": "hello mcp" } }
}

// sum
{
  "method": "tools/call",
  "params": { "name": "test_sum", "arguments": { "numbers": [1,2,3.5] } }
}

// error
{
  "method": "tools/call",
  "params": { "name": "test_error", "arguments": { "reason": "just testing" } }
}

// delay
{
  "method": "tools/call",
  "params": { "name": "test_delay", "arguments": { "ms": 500 } }
}

// random
{
  "method": "tools/call",
  "params": { "name": "test_random", "arguments": { "min": 10, "max": 20 } }
}
```

## 许可证

MIT
npm package: @mcpcn/mcp-aliyun-bailian-image-generation
Description: MCP server for Aliyun Bailian Qwen AI image generation
Latest version: 2.0.7

# 阿里云百炼 AI生图 MCP

这是一个基于阿里云百炼平台的AI图像生成MCP（Model Context Protocol）服务器，使用Qwen系列模型生成高质量图片。

## 功能特性

- 🎨 支持文本到图像的AI生成  
- 📐 多种图片尺寸支持（正方形、横屏、竖屏）
- ⚡ 异步任务处理，自动等待完成
- 🌐 自动在浏览器中打开生成的图片
- 🔧 简单易用的配置

## 安装

```bash
npm install
npm run build
```

## 配置

### 环境变量

需要设置以下环境变量：

```bash
export API_KEY="your-dashscope-api-key"  # 阿里云百炼的API Key
export API_ENDPOINT="custom-endpoint"    # 可选，自定义API端点
export ALIYUN_FORCE_SYNC=true             # 可选，强制同步调用
```

### 获取API Key

1. 访问 [阿里云百炼控制台](https://bailian.console.aliyun.com/)
2. 在“模型服务”->“API-KEY 管理”中创建新的API Key
3. 复制API Key并设置为环境变量API_KEY

### MCP 配置

在Claude Desktop的配置文件中添加：

```json
{
  "mcpServers": {
    "ai-image-generation": {
      "command": "node",
      "args": ["path/to/AI生图/dist/index.js"],
      "env": {
        "API_KEY": "your-api-key"
      }
    }
  }
}
```

## 使用方法

### 1. 生成图片

```
generate_image({
  "prompt": "一只可爱的小猫在花园里玩耍",
  "size": "1024*1024",
  "num_images": 1
})
```

### 2. 检查任务状态

```
check_task_status({
  "taskId": "your-task-id"
})
```

## 工具说明

### generate_image

生成AI图片。

**参数：**
- `prompt` (必需): 图片生成提示词
- `size` (可选): 图片尺寸
  - 受阿里云接口支持的尺寸（示例：`1328*1328` 等）
- `num_images` (可选): 生成图片数量 (1-4，默认1)

### check_task_status

检查图片生成任务状态。

**参数：**
- `taskId` (必需): 任务ID

## 使用示例

### 基础图片生成

```
生成一张"夕阳下的山峦"的图片
```

### 指定尺寸

```
生成一张1280*720尺寸的"未来科技城市"图片
```

### 批量生成

```
生成4张"可爱的动物朋友们在森林里开派对"的图片
```

## 特性说明

1. **自动打开图片**: 生成完成后会自动在默认浏览器中打开图片
2. **异步/同步**: 默认优先异步；若权限不支持自动回退同步；可用 `ALIYUN_FORCE_SYNC=true` 强制同步
3. **错误处理**: 完善的错误处理和状态反馈
4. **简化配置**: 仅需配置 `API_KEY`，模型已固定为 `qwen-image`

## 注意事项

1. **API限制**: 有调用频率限制，请合理使用
2. **费用**: 图片生成可能产生费用，请关注账户余额  
3. **内容审核**: 请避免违规内容的提示词
4. **网络要求**: 需要稳定的网络连接

## 故障排除

### 常见错误

1. **API_KEY未设置**: 确保环境变量API_KEY已正确配置
2. **网络超时**: 检查网络连接和API端点可用性
3. **任务失败**: 检查提示词是否符合内容政策

### 获取帮助

如果遇到问题，可以：
1. 检查环境变量配置
2. 查看控制台错误日志
3. 确认API密钥有效性

## 许可证

MIT License
npm package: @mcpcn/mcp-baidu-translate
Description: 百度翻译API服务
Author: mcpcn
Latest version: 1.0.6

# MCP 服务：百度翻译API (mcp-baidu-translate)

**版本 (Version):** 1.0.0

## 描述 (Description)

`mcp-baidu-translate` 服务提供基于百度翻译API的文本翻译功能，支持多种语言之间的相互翻译。

## 环境变量配置

使用本服务前，需要先设置以下环境变量：

```bash
# 设置百度翻译API的APP ID
export BAIDU_TRANSLATE_APP_ID="您的百度翻译APP ID"

# 设置百度翻译API的密钥
export BAIDU_TRANSLATE_APP_KEY="您的百度翻译APP KEY"
```

您可以在[百度翻译开放平台](http://api.fanyi.baidu.com)申请获取APP ID和密钥。

## 可用工具 (Available Tools)

该服务提供以下工具：

### 1. `translate_text`

*   **描述 (Description):**
    使用百度翻译API翻译文本内容。
*   **输入参数 (Input Parameters):**
    *   `text` (string, 必需): 需要翻译的文本内容。
    *   `from_lang` (string, 可选): 源语言代码，例如：'en'表示英语，'zh'表示中文。如果不提供，系统会自动检测。
    *   `to_lang` (string, 必需): 目标语言代码，例如：'zh'表示中文，'en'表示英语。
*   **输出结构 (Output Structure):**
    ```json
    {
      "content": [
        {
          "type": "text",
          "text": "翻译后的文本内容"
        }
      ],
      "detected_language": "检测到的源语言（当源语言未指定时）",
      "isError": false,
      "errorMessage": ""
    }
    ```
    *   `content`: 翻译结果数组。如果翻译成功，包含一个文本对象；如果失败，则为空数组。
    *   `detected_language`: 如果未指定源语言，此字段会显示API检测到的源语言。
    *   `isError`: 布尔值。`false` 表示翻译成功，`true` 表示发生错误。
    *   `errorMessage`: 字符串。如果 `isError` 为 `true`，此字段包含具体的错误信息；如果成功，则为空字符串。

### 2. `get_supported_languages`

*   **描述 (Description):**
    获取百度翻译API支持的所有语言列表。
*   **输入参数 (Input Parameters):**
    无需任何参数。
*   **输出结构 (Output Structure):**
    ```json
    {
      "content": [
        {
          "type": "text",
          "text": "zh: 中文\nen: 英语\n... (其他语言)"
        }
      ],
      "isError": false,
      "errorMessage": ""
    }
    ```
    *   `content`: 包含语言列表的文本数组。每行显示一种语言的代码和名称。
    *   `isError`: 布尔值。`false` 表示请求成功，`true` 表示发生错误。
    *   `errorMessage`: 字符串。如果 `isError` 为 `true`，此字段包含具体的错误信息；如果成功，则为空字符串。

## 语言代码参考

以下是部分常用语言代码：
- `zh`: 中文（简体）
- `en`: 英语
- `jp`: 日语
- `kor`: 韩语
- `fra`: 法语
- `spa`: 西班牙语
- `ru`: 俄语
- `de`: 德语
- 更多语言代码请使用 `get_supported_languages` 工具查询。

## 使用示例

翻译英文到中文：
```json
{
  "text": "Hello World! This is 1st paragraph.\nThis is 2nd paragraph.",
  "from_lang": "en", 
  "to_lang": "zh"
}
```

自动检测语言并翻译为英文：
```json
{
  "text": "你好世界！",
  "to_lang": "en"
}
```

## 注意事项

- 该服务基于百度翻译API，请确保网络环境能够正常访问百度API服务。
- API可能有每日调用限额，请合理使用。
npm package: @mcpcn/mcp-computer-env
Description: 获取用户电脑环境信息的MCP服务器
Latest version: 1.0.4

# 电脑环境信息MCP服务器

跨平台MCP服务器，获取用户电脑的操作系统、架构、常用目录等环境信息，便于大模型理解用户当前运行环境。

## 功能特性
- 获取操作系统类型、版本、架构（如macOS、Windows、Linux发行版，x86/arm，32/64位等）
- 获取常用目录路径（桌面、文稿、下载、音乐、图片、视频等）
- 可扩展更多环境相关信息

## 安装和使用

```bash
pnpm install
pnpm build
pnpm start
```
npm package: @mcpcn/mcp-dialog
Description: 用户提示对话框MCP服务器
Latest version: 1.0.3

# 提示对话框MCP服务器

跨平台用户输入提示对话框MCP服务器，支持macOS、Windows和Linux系统。

## 功能特性

- 💬 显示输入对话框
- 🎨 自定义按钮
- 🖼️ 图标支持
- 📝 默认文本预填
- 🖥️ 跨平台支持（macOS、Windows、Linux）

## 工具

### prompt_user
显示对话框获取用户输入

**参数：**
- `message` (必需): 对话框显示的消息
- `defaultAnswer` (可选): 默认预填文本
- `buttons` (可选): 自定义按钮标签（最多3个）
- `icon` (可选): 显示图标（note, stop, caution）

**返回值：**
```json
{
  "text": "用户输入的文本",
  "buttonIndex": 1
}
```

## 安装和使用

```bash
# 安装依赖
pnpm install

# 构建
pnpm build

# 运行
pnpm start
```

## 平台支持

- **macOS**: 使用AppleScript的`display dialog`
- **Windows**: 使用PowerShell的InputBox和MessageBox
- **Linux**: 使用zenity（自动安装）

## 示例

```json
{
  "message": "请输入您的姓名：",
  "defaultAnswer": "张三",
  "buttons": ["取消", "确定"],
  "icon": "note"
}
```

返回：
```json
{
  "text": "李四",
  "buttonIndex": 1
}
```
npm package: @mcpcn/mcp-file-select
Description: 文件选择对话框MCP服务器
Latest version: 1.0.2

# 文件选择MCP服务器

跨平台文件选择对话框MCP服务器，支持macOS、Windows和Linux系统。

## 功能特性

- 📁 原生文件选择对话框
- 🎯 自定义提示消息
- 📂 默认目录设置
- 🏷️ 文件类型过滤
- 📄 单选/多选支持
- 🖥️ 跨平台支持（macOS、Windows、Linux）

## 工具

### select_file
打开原生文件选择对话框

**参数：**
- `prompt` (可选): 对话框提示消息
- `defaultLocation` (可选): 默认打开的目录路径
- `fileTypes` (可选): 文件类型过滤器
- `multiple` (可选): 是否允许多选文件

**返回值：**
```json
{
  "paths": [
    "/path/to/selected/file1.txt",
    "/path/to/selected/file2.png"
  ]
}
```

## 安装和使用

```bash
# 安装依赖
pnpm install

# 构建
pnpm build

# 运行
pnpm start
```

## 平台支持

- **macOS**: 使用AppleScript的`choose file`
- **Windows**: 使用PowerShell的OpenFileDialog
- **Linux**: 使用zenity文件选择器（自动安装）

## 文件类型过滤器

macOS支持UTI（Uniform Type Identifier）格式：
```json
{
  "fileTypes": {
    "public.image": ["png", "jpg", "jpeg"],
    "public.text": ["txt", "md"]
  }
}
```

Windows和Linux使用扩展名过滤。

## 示例

基本文件选择：
```json
{
  "prompt": "请选择一个文件"
}
```

多选图片文件：
```json
{
  "prompt": "选择图片文件",
  "multiple": true,
  "fileTypes": {
    "public.image": ["png", "jpg", "jpeg", "gif"]
  }
}
```

指定默认目录：
```json
{
  "prompt": "选择配置文件",
  "defaultLocation": "/Users/username/Documents",
  "fileTypes": {
    "public.json": ["json"]
  }
}
```

返回结果：
```json
{
  "paths": [
    "/Users/username/Documents/config.json"
  ]
}
```
npm package: @mcpcn/mcp-file-upload
Description: 文件管理MCP服务器（支持图片上传和文件下载）
Latest version: 1.0.5

# MCP 图片上传/下载服务器

一个基于 Model Context Protocol (MCP) 的图片文件上传/下载服务器，专门支持：
- 将本地图片文件上传到云端并返回可访问的 URL；
- 从 URL 下载图片文件保存到本地。

## 功能特性

- 🖼️ **专业图片支持**：支持 jpg, jpeg, png, gif, webp, bmp, svg, tiff, ico, avif, heic 等 16 种图片格式
- 🚀 **快速上传下载**：云端存储上传，本地保存下载
- 🔗 **直接访问链接**：上传返回可直接访问的图片 URL
- ⚡ **MCP 协议集成**：基于 MCP 协议，易于集成
- 🛡️ **安全验证**：严格的文件格式验证，仅允许图片文件
- 📁 **大小控制**：支持最大10MB图片文件
- 📝 **详细日志**：完善的错误处理和日志输出

## 安装

### 前置要求

- Node.js >= 18
- pnpm >= 8

### 安装依赖

```bash
cd typescript/mcp-image-upload
pnpm install
```

### 构建项目

```bash
pnpm build
```

## 使用方法

### 1. 直接运行

```bash
pnpm start
```

### 2. 作为 MCP 服务器

在您的 MCP 客户端配置中添加：

```json
{
  "mcpServers": {
    "文件上传下载": {
      "command": "node",
      "args": ["/path/to/mcp-image-upload/dist/index.js"],
      "env": {}
    }
  }
}
```

### 3. 使用 npx

```json
{
  "mcpServers": {
    "文件上传下载": {
      "command": "npx",
      "args": ["-y", "@mcpcn/mcp-file-upload"],
      "env": {}
    }
  }
}
```

## 工具说明

### upload_file

上传本地图片文件到云端，返回可访问的图片 URL（最大 10MB）。

**支持的图片格式：**
- **常见格式**: jpg, jpeg, png, gif, webp, bmp, svg, tiff, tif, ico
- **现代格式**: avif, heic, heif, apng
- **特殊格式**: jfif, pjpeg, pjp

**参数：**
- `path` (string, 必需): 要上传的本地图片文件路径

**示例：**

```json
{
  "name": "upload_file",
  "arguments": { "path": "/Users/username/Pictures/image.jpg" }
}
```

**返回：**包含文件 URL 的文本消息。

### download_file

从指定 URL 下载文件保存到本地（最大 10MB）。

**注意**：虽然上传工具仅限制图片格式，但下载工具可以下载任意 URL 的文件。

**参数：**
- `url` (string, 必需): 要下载的文件 URL（例如上传返回的 URL）
- `savePath` (string, 可选): 保存路径。可传目录（以 `/` 结尾）或完整文件路径，默认当前目录
- `filename` (string, 可选): 保存文件名（当 `savePath` 为目录时可用）
- `overwrite` (boolean, 可选): 如目标已存在是否覆盖，默认 false

**示例：**

```json
{
  "name": "download_file",
  "arguments": {
    "url": "https://example.com/path/to/file.png",
    "savePath": "./downloads/",
    "filename": "file.png",
    "overwrite": true
  }
}
```

**返回：**包含保存路径与文件大小的文本消息。

## API 接口（上传）

本服务器使用以下 API 进行文件上传：

- **接口地址**: `https://www.mcpcn.cc/api/fileUploadAndDownload/uploadMcpFile`
- **请求方法**: POST
- **请求格式**: multipart/form-data
- **文件字段名**: `file`

## 错误处理

服务器提供完善的错误处理，包括：

- 文件不存在错误
- **不支持的文件格式错误**（仅允许图片格式）
- 文件大小超限错误（10MB 以上）
- 网络连接错误
- 服务器响应错误
- 上传超时错误

## 开发

### 开发模式

```bash
pnpm dev
```

### 清理构建文件

```bash
pnpm clean
```

### 完整重新构建

```bash
pnpm prepare
```

## 项目结构

```
mcp-image-upload/
├── src/
│   └── index.ts          # 主要服务器实现
├── dist/
│   └── index.js          # 构建输出文件
├── package.json          # 项目配置
├── tsconfig.json         # TypeScript 配置
└── README.md            # 使用说明
```

## 技术栈

- **TypeScript** - 类型安全的 JavaScript
- **Node.js** - 运行时环境
- **@modelcontextprotocol/sdk** - MCP 协议实现
- **form-data** - multipart/form-data 支持
- **node-fetch** - HTTP 请求库

## 许可证

MIT License

## 贡献

欢迎提交 Issue 和 Pull Request！

## 更新日志

### v1.0.0
- 初始版本
- **专门支持图片上传功能**（仅图片格式）
- 支持 16 种常见图片格式
- 完整的错误处理和文件格式验证
- MCP 协议集成
npm package: @mcpcn/mcp-get-location
Description: Location MCP Server - Get precise user location information through browser authorization
Author: mcpcn
Latest version: 1.1.3

# MCP Location Server

A location acquisition server based on MCP (Model Context Protocol) that obtains precise user location information through browser authorization.

## Features

- 🌍 Get precise user location through browser (network positioning)
- 🔄 Automatic polling for location information, up to 60 seconds
- 🌐 Cross-platform support (Windows, macOS, Linux)
- 📱 Automatically opens browser for location authorization
- 📍 Returns latitude and longitude coordinates

## Use Case Examples

- **Where am I?**
- **How's the weather? (combined with weather mcp)**
- **How to get to xxx by car/subway/bus? (combined with map mcp)**

## Direct Use in MCP Client

For stdio installation, configure as follows:

```json
{
  "mcpServers": {
    "get-location": {
      "command": "npx",
      "args": ["-y", "@mcpcn/mcp-get-location"],
      "env": {}
    }
  }
}
```

## Available Tools

### get_location

Get user location information through browser authorization.

**Parameters**: None

**Return Value**:

```json
{
  "latitude": 39.78463536888209,
  "longitude": 116.50960396229777,
}
```

**Usage Example**:
After calling this tool, the system will:

1. Automatically open the browser
2. Guide user to authorize location permissions
3. Poll for location information
4. Return latitude and longitude coordinates

## Technical Implementation

- Based on MCP SDK 1.12.0
- Developed using TypeScript
- Communication via stdio
- Cross-platform browser call support

## Notes

- Requires user to manually authorize location permissions in browser
- Returns timeout error if location is not obtained within 60 seconds
- Ensure network connection is normal and can access external APIs

## Development and Debugging

```bash
# Install dependencies
npm install

# Build
npm run build

# Start development mode
npm start
```