MCP 与 Skills综合使用
MCP 与 Skills 完全指南
本文档将全面介绍 MCP(Model Context Protocol)和 Qwen Code Skills,包括它们的定义、区别、连接方式、使用方法以及实际示例。
目录
- 什么是 MCP
- MCP 与 HTTP 的区别
- HTTP 连接方式详解与工具对比
- MCP Server 的三种工具类型
- MCP 服务开发实战 Demo
- 什么是 Skills - 与 MCP 对比
- Skills 编写技巧与示例
- Skills 的两种执行模式
1. 什么是 MCP
1.1 定义
MCP(Model Context Protocol,模型上下文协议) 是一个开放协议,用于标准化应用程序向大语言模型(LLMs)提供上下文的方式。
你可以将 MCP 看作是 AI 应用程序的 USB-C 接口。就像 USB-C 提供了一种标准化方式来连接各种设备一样,MCP 提供了一种标准化方式来连接 AI 模型与外部数据源和工具。
1.2 核心作用
1.3 核心价值
| 价值点 | 说明 |
|---|---|
| 标准化集成 | 无需为每个外部工具编写复杂接口,统一使用 MCP 协议 |
| 工具发现 | AI 客户端可以自动发现 MCP Server 提供的所有工具 |
| 安全隔离 | 敏感信息(如 API Key)保留在 Server 端,不暴露给 AI 模型 |
| 灵活扩展 | 可以轻松添加新的工具或数据源 |
| 跨平台 | 支持多种传输方式(STDIO、SSE、HTTP) |
2. MCP 与 HTTP 的区别
2.1 本质区别
2.2 详细对比表
| 维度 | HTTP | MCP |
|---|---|---|
| 定位 | 通用应用层传输协议 | AI 专用上下文交换协议 |
| 设计目标 | 传输网页、API 数据 | 连接 AI 模型与外部工具/数据 |
| 消息格式 | 请求行 + 请求头 + 请求体 | JSON-RPC 2.0 格式 |
| 典型方法 | GET, POST, PUT, DELETE | tools/list, tools/call, resources/read |
| 运行模式 | 请求 - 响应 | 支持流式响应、事件推送 |
| 依赖关系 | 独立协议 | MCP 可以基于 HTTP 传输 |
2.3 关系说明
MCP 不是替代 HTTP,而是构建在 HTTP 之上的应用层协议:
3. HTTP 连接方式详解与工具对比
3.1 MCP 的三种连接方式
根据 QWEN CLI、QoderCLI 等官方文档,MCP 支持以下连接方式:
3.2 三种连接方式详解
方式一:STDIO(标准输入/输出)
配置示例 (settings.json):
{
"mcpServers": {
"local-server": {
"command": "node",
"args": ["/path/to/server.js"],
"env": { "API_KEY": "xxx" }
}
}
}
特点:
- ✅ 无需网络,安全性高
- ✅ 适合本地工具、CLI 集成
- ✗ 仅支持本地运行
- ✗ 需要本地环境配置
方式二:SSE(Server-Sent Events)
配置示例 (settings.json):
{
"mcpServers": {
"remote-server": {
"url": "http://localhost:8080/mcp",
"type": "sse"
}
}
}
特点:
- ✅ 支持远程托管
- ✅ 配置简单(仅需 URL)
- ✅ 适合初学者和快速原型
- ✅ 服务端可主动推送事件
方式三:Streamable HTTP
配置示例 (settings.json):
{
"mcpServers": {
"streamable-server": {
"url": "http://localhost:8080/mcp",
"type": "sse"
}
}
}
特点:
- ✅ 支持完整的双向流式通信
- ✅ 配置与 SSE 相同,自动识别
- ✅ 适合复杂的实时交互场景
3.3 主流工具对比
| 工具 | STDIO | SSE | Streamable HTTP | 配置方式 |
|---|---|---|---|---|
| Qwen Code | ✅ | ✅ | ✅ | settings.json |
| QoderCLI | ✅ | ✅ | ✅ | 图形界面 + 配置文件 |
| Claude Code | ✅ | ✅ | ✅ | claude.json |
| Cursor | ✅ | ✅ | ⚠️ 部分支持 | 图形界面 |
3.4 QWEN CLI 配置示例
{
"mcpServers": {
"local-stdio": {
"command": "node",
"args": ["/path/to/mcp-server.js"],
"env": {
"API_KEY": "your-api-key"
}
},
"remote-sse": {
"url": "http://localhost:8080/mcp",
"type": "sse"
},
"streamable": {
"url": "http://localhost:8080/mcp",
"type": "sse"
}
}
}
4. MCP Server 的三种工具类型
MCP Server 提供三种核心能力,通过不同的接口暴露给 AI 客户端:
4.1 Tools(工具)
定义:Tools 是 MCP Server 暴露给 AI 的可执行函数,AI 可以调用这些工具来执行实际操作。
特点:
- ✅ 可以执行写操作(修改数据、发送请求等)
- ✅ 有副作用(改变系统状态)
- ✅ 需要参数定义和返回结果
- ✅ AI 根据任务自动选择调用
典型用途:
- 数据库写入操作
- API 请求发送
- 文件修改
- 命令执行
示例:
@McpTool(name = "eco_query_balance", description = "查询 ECO 平台账户余额")
public Map<String, Object> ecoQueryBalance() {
// 执行实际 API 调用
EcoBalance balance = ecoService.queryUserMoney(partnerId, privateKey);
return Response.ok(data, "余额查询成功").toMap();
}
4.2 Resources(资源)
定义:Resources 是 MCP Server 提供的只读数据源,AI 可以读取这些数据来获取上下文信息。
特点:
- ✅ 只读访问(无副作用)
- ✅ 提供数据上下文
- ✅ 支持 URI 标识
- ✅ 可以订阅变化通知
典型用途:
- 读取配置文件
- 访问数据库记录
- 获取系统状态
- 日志文件读取
示例 URI:
file:///path/to/config.jsondatabase://users/123log://application/errors
4.3 Prompts(提示词)
定义:Prompts 是预定义的模板或指令,用于引导 AI 执行特定类型的任务。
特点:
- ✅ 提供结构化指令
- ✅ 定义任务流程
- ✅ 可包含变量占位符
- ✅ 帮助 AI 理解复杂任务
典型用途:
- 代码审查流程
- 数据分析模板
- 报告生成指南
- 最佳实践指导
示例:
## Code Review Prompt
请按照以下步骤审查代码:
1. 检查代码风格是否符合规范
2. 识别潜在的安全漏洞
3. 评估性能影响
4. 提供改进建议
4.4 三种类型对比
| 特性 | Tools | Resources | Prompts |
|---|---|---|---|
| 操作类型 | 执行动作 | 读取数据 | 提供指导 |
| 副作用 | 有 | 无 | 无 |
| 方向 | 双向 | 只读 | 只读 |
| 参数 | 需要定义 | URI 标识 | 可选变量 |
| 返回 | 执行结果 | 数据内容 | 模板文本 |
5. MCP 服务开发实战 Demo
本节以我的 mcp-spring-boot-demo 项目为例,演示如何编写一个 MCP 服务。
5.1 项目结构
mcp-spring-boot-demo/
├── pom.xml # Maven 配置
├── src/main/java/
│ └── com/example/mcp/
│ ├── McpServerApplication.java # 启动类
│ ├── tool/ # MCP 工具类
│ │ ├── McpTools.java # 基础工具
│ │ ├── EcoMcpTools.java # ECO 平台工具
│ │ ├── BuffMcpTools.java # BUFF 平台工具
│ │ ├── C5McpTools.java # C5 平台工具
│ │ └── SteamMcpTools.java # Steam 工具
│ ├── eco/ # ECO 平台模块
│ │ ├── model/ # 数据模型
│ │ ├── service/ # 服务层
│ │ └── ...
│ └── ...
└── src/main/resources/
└── application.yml # Spring Boot 配置
5.2 第一步:添加依赖
<!-- pom.xml -->
<dependencies>
<!-- Spring Boot Starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring AI MCP Server WebMVC Starter (支持 SSE/Streamable) -->
<dependency>
<groupId>org.springaicommunity</groupId>
<artifactId>spring-ai-starter-mcp-server-webmvc</artifactId>
<version>1.1.4</version>
</dependency>
</dependencies>
5.3 第二步:创建启动类
// McpServerApplication.java
@SpringBootApplication
public class McpServerApplication {
public static void main(String[] args) {
SpringApplication.run(McpServerApplication.class, args);
}
}
5.4 第三步:编写 MCP 工具类
简单示例:基础计算工具
// McpTools.java
@Component
public class McpTools {
/**
* 工具 1: 加法计算器
*/
@McpTool(name = "add", description = "两个数相加")
public int add(
@McpToolParam(description = "第一个数", required = true) int a,
@McpToolParam(description = "第二个数", required = true) int b) {
return a + b;
}
/**
* 工具 2: 天气查询(模拟)
*/
@McpTool(name = "query_weather", description = "查询城市天气信息")
public String queryWeather(
@McpToolParam(description = "城市名称", required = true) String city) {
return switch (city) {
case "北京" -> "北京:晴,25°C,湿度 40%,空气质量良";
case "上海" -> "上海:多云,22°C,湿度 65%,空气质量优";
default -> city + ":暂无数据";
};
}
}
复杂示例:ECO 平台工具
// EcoMcpTools.java
@Component
public class EcoMcpTools {
private final EcoService ecoService;
public EcoMcpTools(EcoService ecoService) {
this.ecoService = ecoService;
}
/**
* ECO 工具:查询账户余额
*/
@McpTool(name = "eco_query_balance", description = "查询 ECO 平台账户余额")
public Map<String, Object> ecoQueryBalance() {
try {
// 1. 从配置文件读取敏感信息
Properties config = loadEcoConfig();
String partnerId = config.getProperty("eco.partnerId");
String privateKey = config.getProperty("eco.privateKey");
// 2. 调用服务层 API
EcoBalance balance = ecoService.queryUserMoney(partnerId, privateKey);
// 3. 返回结果
Map<String, Object> data = new HashMap<>();
data.put("money", balance.getMoney());
data.put("currency", "CNY");
return Response.ok(data, "余额查询成功").toMap();
} catch (Exception e) {
return Response.fail(null, "余额查询失败:" + e.getMessage()).toMap();
}
}
/**
* ECO 工具:查询卖家订单列表
*/
@McpTool(name = "eco_query_seller_orders", description = "查询 ECO 平台卖家订单列表")
public Map<String, Object> ecoQuerySellerOrders(
@McpToolParam(description = "Steam ID", required = true) String steamId,
@McpToolParam(description = "开始时间 (yyyy-MM-dd)", required = false) String startTime,
@McpToolParam(description = "结束时间 (yyyy-MM-dd)", required = false) String endTime,
@McpToolParam(description = "订单状态 (8=待确认)", required = false) Integer state,
@McpToolParam(description = "页码", required = false) Integer pageIndex,
@McpToolParam(description = "每页数量 (最大 100)", required = false) Integer pageSize) {
// 1. 加载配置
Properties config = loadEcoConfig();
String partnerId = getPartnerId(config);
String privateKey = getPrivateKey(config);
// 2. 设置默认参数
if (startTime == null) {
startTime = LocalDate.now().minusDays(30).format(DateTimeFormatter.ISO_LOCAL_DATE);
}
if (endTime == null) {
endTime = LocalDate.now().format(DateTimeFormatter.ISO_LOCAL_DATE);
}
int orderState = state != null ? state : 8; // 8=待确认
int pageNum = pageIndex != null ? pageIndex : 1;
int pageSizeVal = pageSize != null ? Math.min(pageSize, 100) : 100;
// 3. 调用服务
List<EcoOrder> orders = ecoService.querySellerOrderList(
partnerId, privateKey, steamId, startTime, endTime,
orderState, pageNum, pageSizeVal
);
// 4. 返回结果
Map<String, Object> data = new HashMap<>();
data.put("count", orders.size());
data.put("orders", orders);
return Response.ok(data, "订单查询成功").toMap();
}
}
5.5 第四步:配置 MCP Server
# application.yml
spring:
ai:
mcp:
server:
name: demo-mcp-server
version: 1.0.0
type: SYNC # 同步模式
server:
port: 8080 # MCP 服务端口
5.6 第五步:启动并测试
# 启动服务
mvn spring-boot:run
# 服务启动后,MCP 端点将在 http://localhost:8080/mcp
5.7 完整代码流程图
6. 什么是 Skills - 与 MCP 对比
6.1 Skills 定义
Skills(技能) 是 Qwen Code 中的模块化功能单元,通过包含指令(及可选脚本/资源)的结构化文件夹来增强模型能力。
简单来说:Skills 是给 AI 的"使用说明书" + “工具箱”。
6.2 Skills 结构
.qwen/skills/<skill-name>/
├── SKILL.md # 必需:技能定义文件(YAML + Markdown)
├── reference.md # 可选:参考文档
├── examples.md # 可选:使用示例
├── scripts/ # 可选:工具脚本
│ └── run.py
└── templates/ # 可选:模板文件
└── report.html
6.3 SKILL.md 格式
---
name: data-analysis
description: 数据分析技能,用于执行 SQL 查询并生成可视化报表
---
# 数据分析技能
## 使用说明
当用户需要查询数据或生成报表时,请使用此技能。
## 执行流程
1. 根据用户需求编写 SQL 查询
2. 使用以下命令执行查询:
```bash
python scripts/run_sql.py --sql "{sql}"
- 分析查询结果
- 生成可视化报表
数据表示例
| 字段 | 类型 | 说明 |
|---|---|---|
| state | string | 州名 |
| cases | int | 确诊数 |
### 6.4 MCP vs Skills 对比
```mermaid
flowchart TB
subgraph MCP["MCP (协议层)"]
A1[标准化 API 接口]
A2[tools/resources/prompts]
A3[运行时调用]
A4[需要 Server 进程]
A5["适合:API 集成、数据访问、实时操作"]
end
subgraph Skills["Skills (指令层)"]
B1[模块化知识库]
B2[SKILL.md + 脚本/模板]
B3[启动时加载]
B4[静态文件]
B5["适合:工作流指导、最佳实践、领域知识"]
end
subgraph Client["Qwen Code<br/>AI 编程助手"]
C[MCP + Skills 协同工作]
end
MCP --> C
Skills --> C
6.5 详细对比表
| 维度 | MCP | Skills |
|---|---|---|
| 本质 | 通信协议 | 指令模板 |
| 形式 | 运行中的服务进程 | 静态文件(SKILL.md) |
| 加载时机 | 运行时连接 | 启动时加载 |
| 能力来源 | 工具函数执行 | 指令引导 AI 行为 |
| 配置位置 | settings.json |
~/.qwen/skills/ 或 .qwen/skills/ |
| 调用方式 | 自动发现工具 | 自动触发或 /skills <name> |
| 适用场景 | API 集成、数据访问 | 工作流指导、知识沉淀 |
| 是否需要代码 | 是(Server 实现) | 否(Markdown 即可) |
| 团队共享 | 部署 Server | Git 共享技能目录 |
6.6 协同工作
MCP 和 Skills 可以协同工作:
7. Skills 编写技巧与示例
7.1 编写技巧
技巧 1:明确触发条件
---
name: code-review
description: 代码审查技能,当用户请求审查代码、检查代码质量或寻找 bug 时自动触发
---
要点:在 description 中明确说明何时使用此技能。
技巧 2:提供清晰的执行流程
## 执行流程
1. **理解需求**:确认用户要审查的代码范围
2. **静态分析**:检查代码风格、命名规范
3. **安全检查**:识别 SQL 注入、XSS 等漏洞
4. **性能评估**:查找性能瓶颈
5. **生成报告**:按以下模板输出审查结果
技巧 3:提供示例和模板
## 审查报告模板
```markdown
# 代码审查报告
## 文件:{file_path}
### ✅ 优点
- ...
### ⚠️ 需要改进
- [高优先级] ...
- [中优先级] ...
### 📝 建议
- ...
#### 技巧 4:引用外部资源
```markdown
## 参考文档
- 项目规范:`./reference.md`
- 脚本工具:`scripts/analyze.py`
- 模板文件:`templates/report.html`
技巧 5:聚焦单一能力
不好:
description: 数据分析、代码审查、文档生成、测试编写等多功能技能
好:
description: 数据分析技能,专门用于执行 SQL 查询并生成可视化报表
7.2 完整示例
示例 1:数据分析技能
~/.qwen/skills/data-analysis/
├── SKILL.md
├── scripts/
│ └── run_sql.py
└── templates/
└── chart.html
---
name: data-analysis
description: 数据分析技能,当用户需要查询数据、分析趋势或生成报表时自动触发
---
# 数据分析技能
## 能力说明
本技能提供以下能力:
- 执行 SQL 查询
- 分析数据趋势
- 生成可视化报表
## 执行流程
### 1. 编写 SQL
根据用户需求编写 SQL 查询语句。
### 2. 执行查询
使用以下命令执行 SQL:
```bash
E:\anaconda\conda\envs\openai\python.exe -u scripts/run_sql.py --sql "{sql}"
3. 分析结果
分析查询结果,识别:
- 数据趋势
- 异常值
- 关键指标
4. 生成报表
使用 templates/chart.html 模板生成可视化报表。
数据表结构
us_covid19_counties
| 字段 | 类型 | 说明 |
|---|---|---|
| state | string | 州名 |
| county | string | 县名 |
| cases | int | 确诊数 |
| deaths | int | 死亡数 |
示例查询
查询确诊人数 Top10 的县:
SELECT county, state, SUM(cases) as total_cases
FROM us_covid19_counties
GROUP BY county, state
ORDER BY total_cases DESC
LIMIT 10
#### 示例 2:代码审查技能
.qwen/skills/code-review/
├── SKILL.md
├── reference.md
└── scripts/
└── lint.py
```markdown
---
name: code-review
description: 代码审查技能,当用户请求审查代码、检查代码质量或寻找 bug 时自动触发
---
# 代码审查技能
## 审查维度
### 1. 代码风格
- 命名规范(变量、函数、类)
- 代码格式(缩进、空行)
- 注释完整性
### 2. 安全检查
- SQL 注入风险
- XSS 漏洞
- 敏感信息泄露
- 认证授权问题
### 3. 性能评估
- 时间复杂度
- 空间复杂度
- 资源泄漏风险
### 4. 可维护性
- 代码重复
- 函数长度
- 模块耦合
## 审查流程
1. 读取目标文件
2. 运行 `scripts/lint.py` 进行静态分析
3. 人工审查识别潜在问题
4. 按优先级输出审查报告
## 报告格式
代码审查报告
文件:src/main/java/Example.java
✅ 优点
- 代码结构清晰
- 注释完整
⚠️ 问题
[高优先级] SQL 注入风险
- 位置:第 42 行
- 问题:使用字符串拼接构建 SQL
- 建议:使用 PreparedStatement
[中优先级] 函数过长
- 位置:processData() 方法
- 建议:拆分为多个小函数
## 参考规范
详见 `reference.md`
8. Skills 的两种执行模式
8.1 模式一:Skills 直接调用 HTTPS
适用场景:简单的 API 调用,无需 MCP 中转
特点:
- ✅ 简单直接,无需额外服务
- ✅ 适合简单的 API 调用
- ✗ 敏感信息可能暴露
- ✗ 无法复用 MCP 工具
SKILL.md 示例(直接 HTTPS)
---
name: weather-query
description: 天气查询技能,直接调用天气 API 获取实时天气数据
---
# 天气查询技能
## API 信息
- 基础 URL:`https://api.weather.com/v3/wx/conditions/current`
- 认证:API Key(从环境变量读取)
## 执行流程
### 1. 构建请求
```python
import requests
import os
api_key = os.getenv('WEATHER_API_KEY')
city = "{city_name}"
url = "https://api.weather.com/v3/wx/conditions/current"
params = {
'q': city,
'apiKey': api_key,
'format': 'json'
}
2. 发送请求
response = requests.get(url, params=params)
data = response.json()
3. 解析结果
temperature = data['temperature']
condition = data['wxPhrase']
humidity = data['relativeHumidity']
print(f"{city}:{condition},{temperature}°C,湿度{humidity}%")
输出格式
{城市名}:{天气状况},{温度}°C,湿度{湿度}%,{空气质量}
### 8.2 模式二:Skills → MCP → HTTP
**适用场景**:复杂业务、需要安全隔离、复用现有 MCP 工具
```mermaid
sequenceDiagram
participant User as 用户
participant Skills as Skills<br/>(SKILL.md)
participant MCP as MCP Server<br/>(Spring Boot)
participant API as 外部 API
User->>Skills: 1. 查询 ECO 订单
Skills->>MCP: 2. 调用 MCP 工具<br/>eco_query_...
MCP->>API: 3. HTTP 请求
API-->>MCP: 4. 返回数据
MCP-->>Skills: 5. 返回订单数据
Skills->>User: 6. 分析订单并生成报表
特点:
- ✅ 敏感信息隔离(API Key 在 MCP Server)
- ✅ 复用现有 MCP 工具
- ✅ 统一的错误处理和日志
- ✅ 适合复杂业务场景
SKILL.md 示例(通过 MCP)
---
name: eco-order-analysis
description: ECO 订单分析技能,当用户需要查询 ECO 平台订单、分析销售数据时自动触发
---
# ECO 订单分析技能
## 可用 MCP 工具
本技能使用以下 MCP 工具:
- `eco_query_seller_orders` - 查询卖家订单列表
- `eco_query_order_detail` - 查询订单详情
- `eco_query_goods_price` - 查询商品价格
## 执行流程
### 1. 查询订单列表
调用 MCP 工具 `eco_query_seller_orders`:
**参数**:
- `steamId`: 用户的 Steam ID
- `startTime`: 开始时间(默认 30 天前)
- `endTime`: 结束时间(默认今天)
- `state`: 订单状态(8=待确认)
- `pageIndex`: 页码(默认 1)
- `pageSize`: 每页数量(默认 100)
### 2. 分析订单数据
分析维度:
- 订单总数
- 成交金额
- 待确认订单数
- 热门商品 Top10
### 3. 生成报表
按以下格式输出:
```markdown
# ECO 订单分析报告
## 时间范围:{start} ~ {end}
### 核心指标
- 订单总数:{count}
- 成交金额:{amount} 元
- 待确认:{pending}
### 热门商品 Top10
| 排名 | 商品 | 销量 |
|------|------|------|
| 1 | ... | ... |
注意事项
- API Key 由 MCP Server 管理,无需在 Skills 中配置
- 错误处理由 MCP Server 统一返回
- 敏感数据不会在对话中显示
### 8.3 两种模式对比
| 维度 | 模式一:直接 HTTPS | 模式二:通过 MCP |
|------|-------------------|-----------------|
| **架构复杂度** | 简单 | 分层架构 |
| **敏感信息** | 可能在脚本中 | 隔离在 Server |
| **代码复用** | 低 | 高(复用 MCP 工具) |
| **错误处理** | 自行处理 | 统一处理 |
| **日志记录** | 自行实现 | 统一日志 |
| **适用场景** | 简单 API 调用 | 复杂业务系统 |
| **开发成本** | 低 | 较高(需维护 Server) |
| **安全性** | 较低 | 较高 |
### 8.4 选择建议
```mermaid
flowchart TD
Start["需要调用外部 API 吗?"]
Start -->|是 | Sensitive["涉及敏感信息<br/>(API Key)吗?"]
Start -->|否 | NoAPI["仅需指令指导<br/>仅使用 Skills"]
Sensitive -->|是 | MCP["使用 MCP 模式<br/>隔离敏感信息"]
Sensitive -->|否 | HTTPS["直接 HTTPS 模式<br/>简单直接调用"]
subgraph MCP_Recommend["推荐场景"]
M1[企业 API]
M2[多工具组合]
M3[需要日志审计]
end
subgraph HTTPS_Recommend["推荐场景"]
H1[公开 API]
H2[一次性查询]
H3[无需安全隔离]
end
MCP --- MCP_Recommend
HTTPS --- HTTPS_Recommend
style Start fill:#f9f9f9,stroke:#333
style Sensitive fill:#f9f9f9,stroke:#333
style NoAPI fill:#e1f5e1,stroke:#333
style MCP fill:#ffe1e1,stroke:#333
style HTTPS fill:#e1f5e1,stroke:#333
总结
核心要点回顾
- MCP 是 AI 与外部工具通信的标准化协议,类似 USB-C 接口
- MCP 与 HTTP 不是替代关系,MCP 可以基于 HTTP 传输
- 三种连接方式:STDIO(本地)、SSE(事件流)、Streamable HTTP(双向流)
- MCP 三种能力:Tools(执行)、Resources(读取)、Prompts(指导)
- Skills 是给 AI 的模块化使用说明书,通过 SKILL.md 定义
- MCP vs Skills:MCP 是运行时协议,Skills 是静态指令
- Skills 两种模式:直接 HTTPS(简单)和通过 MCP(安全)
最佳实践
- 简单 API 调用 → Skills + 直接 HTTPS
- 复杂业务系统 → Skills + MCP
- 敏感信息 → 始终使用 MCP 隔离
- 团队共享 → Skills 用 Git,MCP 用部署
文档版本:1.0
最后更新:2026 年 3 月 29 日
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)