Skip to content

13.1 使用 MCP 資源

MCP 資源是伺服器提供的資料來源,包括資料庫表、檔案系統、API 端點等。

资源类型

数据库资源

資料庫表和檢視:

    bash


    # 查看可用的数据库资源
    /mcp

**输出示例** :

    bash


    MCP 资源:
    - database://users: 用户表
    - database://orders: 订单表
    - database://products: 产品表

## 访问资源

### 基本访问

    bash


    # 访问数据库资源
    查询数据库中的用户表

    # 访问文件系统资源
    读取日志目录中的文件

    # 访问 API 资源
    调用用户 API

    # 访问配置资源
    读取应用配置

### 资源查询

    bash


    # 查询数据库资源
    查询用户表中所有活跃用户

    # 查询文件系统资源
    查找日志目录中的错误日志

    # 查询 API 资源
    获取用户 ID 为 123 的信息

    # 查询配置资源
    获取数据库配置中的连接字符串

### 资源过滤

    bash


    # 过滤数据库资源
    查询用户表中年龄大于 18 的用户

    # 过滤文件系统资源
    查找日志目录中今天的日志文件

    # 过滤 API 资源
    获取用户表中状态为活跃的用户

    # 过滤配置资源
    获取配置中的生产环境设置

## 资源操作

### 读取资源

    bash


    # 读取数据库资源
    读取用户表的前 10 条记录

    # 读取文件系统资源
    读取日志目录中的最新日志

    # 读取 API 资源
    获取用户 ID 为 123 的详细信息

    # 读取配置资源
    读取应用配置中的数据库设置

### 写入资源

    bash


    # 写入数据库资源
    向用户表插入新用户

    # 写入文件系统资源
    将日志写入日志目录

    # 写入 API 资源
    更新用户 ID 为 123 的信息

    # 写入配置资源
    更新应用配置中的数据库设置

### 更新资源

    bash


    # 更新数据库资源
    更新用户表中 ID 为 123 的用户信息

    # 更新文件系统资源
    更新日志目录中的日志文件

    # 更新 API 资源
    更新用户 ID 为 123 的状态

    # 更新配置资源
    更新应用配置中的超时设置

### 删除资源

    bash


    # 删除数据库资源
    删除用户表中 ID 为 123 的用户

    # 删除文件系统资源
    删除日志目录中的旧日志文件

    # 删除 API 资源
    删除用户 ID 为 123 的记录

    # 删除配置资源
    删除应用配置中的过时设置

## 资源元数据

### 查看资源信息

    bash


    # 查看资源详细信息
    显示用户表的详细信息

**输出示例** :

    bash


    资源:database://users
    类型:数据库表
    列:
    - id: INTEGER, PRIMARY KEY
    - name: VARCHAR(255)
    - email: VARCHAR(255)
    - created_at: TIMESTAMP
    索引:
    - idx_email: email
    - idx_created_at: created_at

### 资源统计

    bash


    # 查看资源统计信息
    显示用户表的统计信息

**输出示例** :

    bash


    资源:database://users
    总记录数:10,000
    活跃记录数:8,500
    最后更新:2024-01-15 10:30:00

## 资源权限

### 检查权限

    bash


    # 检查资源访问权限
    检查用户表的访问权限

**输出示例** :

    bash


    资源:database://users
    权限:
    - 读取:允许
    - 写入:允许
    - 更新:允许
    - 删除:拒绝

### 请求权限

    bash


    # 请求资源访问权限
    请求用户表的删除权限

### 资源缓存

### 缓存策略

MCP 支援資源快取以提高效能:

    bash


    # 启用资源缓存
    启用用户表缓存

    # 查看缓存状态
    显示资源缓存状态

**输出示例** :

    bash


    资源缓存状态:
    - database://users: 已缓存 (1000 条记录)
    - database://orders: 未缓存
    - filesystem://logs: 已缓存 (50 个文件)

### 清除缓存

    bash


    # 清除特定资源缓存
    清除用户表缓存

    # 清除所有资源缓存
    清除所有资源缓存

## 资源监控

### 监控资源使用

    bash


    # 查看资源使用统计
    显示资源使用统计

**输出示例** :

    bash


    资源使用统计:
    - database://users:
      - 读取次数:150
      - 写入次数:20
      - 更新次数:30
      - 删除次数:5
    - database://orders:
      - 读取次数:200
      - 写入次数:50
      - 更新次数:40
      - 删除次数:10

### 监控资源性能

    bash


    # 查看资源性能指标
    显示资源性能指标

**输出示例** :

    bash


    资源性能指标:
    - database://users:
      - 平均响应时间:50ms
      - 最大响应时间:200ms
      - 成功率:99.5%
    - database://orders:
      - 平均响应时间:80ms
      - 最大响应时间:300ms
      - 成功率:98.7%

## 资源安全

### 数据加密

    bash


    # 加密资源数据
    加密用户表中的敏感数据

### 访问控制

    bash


    # 设置资源访问控制
    限制用户表只能被特定用户访问

### 审计日志

    bash


    # 查看资源访问日志
    显示用户表的访问日志

**输出示例** :

    bash


    资源访问日志:
    - 2024-01-15 10:00:00 - 用户 user1 读取用户表
    - 2024-01-15 10:05:00 - 用户 user2 写入用户表
    - 2024-01-15 10:10:00 - 用户 user1 更新用户表

## 资源最佳实践

### 1\. 合理使用资源

    bash


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

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

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

### 2\. 缓存常用资源

    bash


    # 缓存频繁访问的资源
    启用用户表缓存

    # 定期更新缓存
    更新用户表缓存

### 3\. 监控资源使用

    bash


    # 定期查看资源使用统计
    显示资源使用统计

    # 识别性能瓶颈
    显示资源性能指标

### 4\. 保护敏感资源

    bash


    # 加密敏感数据
    加密用户表中的密码字段

    # 限制访问权限
    限制用户表只能被管理员访问

    # 记录访问日志
    显示用户表的访问日志

## 故障排除

### 资源访问失败


**問題** : 無法訪問資源

**解决方案** :

    bash


    # 1. 检查资源是否存在
    /mcp

    # 2. 检查权限
    检查资源访问权限

    # 3. 查看错误日志
    显示错误日志

    # 4. 重新连接服务器
    重新连接 MCP 服务器

### 资源性能问题


**問題** : 資源響應緩慢

**解决方案** :

    bash


    # 1. 查看性能指标
    显示资源性能指标

    # 2. 启用缓存
    启用资源缓存

    # 3. 优化查询
    优化资源查询

    # 4. 增加超时设置
    MCP_TIMEOUT=30000 claude

### 资源权限错误


**問題** : 沒有資源訪問許可權

**解决方案** :

    bash


    # 1. 检查权限
    检查资源访问权限

    # 2. 请求权限
    请求资源访问权限

    # 3. 联系管理员
    联系管理员获取权限

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