Skip to content

13.6 MCP 輸出限制與管理

瞭解和管理 MCP 伺服器的輸出限制,確保高效使用。

输出限制

默认限制

MCP 工具輸出有預設限制:

  • 令牌限制 : 10,000 令牌
  • 字元限制 : 約 40,000 字元
  • 響應時間 : 30 秒超時

增加輸出限制

使用 MAX_MCP_OUTPUT_TOKENS 環境變數增加限制:

设置 50,000 令牌限制

MAX_MCP_OUTPUT_TOKENS=50000 claude

设置 100,000 令牌限制

MAX_MCP_OUTPUT_TOKENS=100000 claude

超时设置

使用 MCP_TIMEOUT 環境變數設定超時:

    bash


    # 设置 10 秒超时
    MCP_TIMEOUT=10000 claude

    # 设置 60 秒超时
    MCP_TIMEOUT=60000 claude

## 输出管理

### 分页处理


當輸出超過限制時,使用分頁:

# 第 1 頁

查詢使用者表的前 100 條記錄

# 第 2 頁

查詢使用者表的第 101-200 條記錄

# 第 3 頁

查詢使用者表的第 201-300 條記錄

    bash


    ### 流式输出
    使用流式输出处理大结果:


bash

# 流式輸出

流式輸出所有使用者資料

# 輸出到檔案

將使用者資料輸出到檔案 users.json

### 批处理

### 批处理

使用批處理處理大量資料:

    bash


    # 批量处理
    批量处理用户数据,每批 100 条

## 输出优化

### 查询优化

最佳化查詢以減少輸出:

    bash


    # 只查询需要的列
    查询用户表的 ID 和姓名

    # 使用过滤条件
    查询用户表中活跃的用户

    # 限制结果数量
    查询用户表的前 100 条记录

### 数据聚合

聚合資料以減少輸出:

聚合資料

查詢使用者表的總數和平均年齡

分組統計

按部門統計使用者數量

yaml
    bash


    ### 缓存结果

    缓存结果以减少重复查询:

    ```bash

    # 啟用快取

```yaml
    启用用户表缓存

    # 查看缓存
    显示缓存状态

    # 清除缓存
    清除用户表缓存

    ```

    ## 輸出監控

    ### 監控輸出大小

    ```bash
    # 查看输出统计
    显示 MCP 输出统计


    **輸出示例**:

    MCP 输出统计:

    github:
    > - 平均输出:5,000 令牌
    > - 最大输出:15,000 令牌
    > - 超限次数:5

    database:
    > - 平均输出:8,000 令牌
    > - 最大输出:25,000 令牌
    > - 超限次数:10


    ### 監控響應時間

    # 檢視響應時間

    顯示 MCP 響應時間

    > **输出示例**:

    ```> MCP 響應時間:

    github:
    > - 平均響應:100ms
    > - 最大響應:500ms
    > - 超時次數:2

    database:
    > - 平均響應:50ms
    > - 最大響應:200ms
    > - 超時次數:1

    ## 輸出警告

    ### 警告型別

    #### 1. 輸出超限警告

    警告:MCP 工具輸出超過 10,000 令牌限制
    建議:增加 MAX_MCP_OUTPUT_TOKENS 或最佳化查詢

    #### 2. 響應超時警告

    警告:MCP 工具響應超過 30 秒超時
    建議:增加 MCP_TIMEOUT 或最佳化查詢

    #### 3. 輸出截斷警告

    警告:MCP 工具輸出被截斷
    建議:使用分頁或流式輸出

    ### 處理警告

    ```bash
    # 处理输出超限警告
    增加 MAX_MCP_OUTPUT_TOKENS 到 50,000

    # 处理响应超时警告
    增加 MCP_TIMEOUT 到 60 秒

    # 处理输出截断警告
    使用分页查询

    ```

    ## 輸出格式化

    ### JSON 格式

    ```bash
    # 输出为 JSON
    查询用户表,输出为 JSON

    ```

    ### CSV 格式

    ```bash
    # 输出为 CSV
    查询用户表,输出为 CSV

    ```

    ### Markdown 格式

    ```bash
    # 输出为 Markdown
    查询用户表,输出为 Markdown 表格

    ```

    ## 輸出儲存

    ## 輸出儲存

    ### 儲存到檔案

    ```bash
    # 保存到文件
    将用户数据保存到 users.json

    # 追加到文件
    将用户数据追加到 users.json

    ```

    ### 匯出到資料庫

    ```bash
    # 导出到数据库
    将用户数据导出到数据库

    ```

    ### 上傳到雲端儲存

    ```bash
    # 上传到 S3
    将用户数据上传到 S3

    ```

    ## 輸出安全

    ### 敏感資料過濾

    ```bash
    # 过滤敏感数据
    查询用户表,过滤密码字段

    ```

    ### 資料脫敏

    ```bash
    # 脱敏数据
    查询用户表,脱敏邮箱地址

    ```

    ### 訪問控制

    ```bash
    # 限制输出访问
    限制用户表输出只能被管理员访问

    ```

    ## 最佳實踐

    ### 1. 合理設定限制

    ```bash
    # 根据需求设置限制
    MAX_MCP_OUTPUT_TOKENS=50000 claude
    MCP_TIMEOUT=30000 claude

    ```

    ### 2. 最佳化查詢

    ```bash
    # 只查询需要的数据
    查询用户表的 ID 和姓名
    # 使用过滤条件
    查询用户表中活跃的用户
    # 限制结果数量
    查询用户表的前 100 条记录

    ```

    ### 3. 使用分頁

    ```bash
    # 使用分页处理大数据
    查询用户表,每页 100 条

    ```

    ### 4. 啟用快取

    ```bash
    # 启用缓存减少重复查询
    启用用户表缓存

    ```

    ### 5. 監控輸出

    ```bash
    # 定期监控输出统计
    显示 MCP 输出统计

    # 识别超限情况
    显示超限次数

    ```

    ## 故障排除

    ### 輸出超限

    > **問題**: 輸出超過限制

    > **解決方案**:

    ```bash
    # 1. 增加限制
    MAX_MCP_OUTPUT_TOKENS=50000 claude
    # 2. 优化查询
    只查询需要的列
    # 3. 使用分页
    分页查询数据
    # 4. 使用流式输出
    流式输出数据

    ```

    ### 響應超時

    > **問題**: 響應超時

    > **解決方案**:

    ```bash
    # 1. 增加超时
    MCP_TIMEOUT=60000 claude

    # 2. 优化查询
    使用索引优化查询

    # 3. 减少数据量
    限制查询结果数量

    # 4. 使用后台任务
    在后台运行长时间查询

    ```

    ### 輸出截斷

    > **問題**: 輸出被截斷

    > **解決方案**:

    ```bash
    # 1. 使用分页
    分页查询数据
    # 2. 使用流式输出
    流式输出数据
    # 3. 保存到文件
    将数据保存到文件
    # 4. 增加限制
    MAX_MCP_OUTPUT_TOKENS=100000 claude

    ```

基于 MIT 许可发布 | 永久导航