SolonCode CLI 支持通过 MCP 协议和 REST API 与业务系统对接，扩展 AI 的能力边界。


### 1、MCP 服务配置

MCP (Model Context Protocol) 是 Anthropic 提出的模型上下文协议，支持丰富的工具扩展。

#### 配置属性

| 属性 | 必填 | 描述 |
|------|------|------|
| `type` | 否 | 服务类型：`streamable`（HTTP 流式）或 `stdio`（本地进程） |
| `url` | 是(HTTP) | 服务地址（HTTP 方式） |
| `command` | 是(stdio) | 启动命令（stdio 方式） |
| `args` | 否 | 命令参数（stdio 方式） |
| `headers` | 否 | 请求头（HTTP 方式） |
| `timeout` | 否 | 超时时间，默认 120s |

#### HTTP 流式服务示例

```yaml
soloncode:
  mcpServers:
    gitee:
      type: "streamable"
      url: "https://api.gitee.com/mcp"
      headers:
        Authorization: "Bearer sk-xxxxxx"
      timeout: "120s"
```

#### 本地进程服务示例

```yaml
soloncode:
  mcpServers:
    memory:
      command: "npx"
      args: [ "-y", "@modelcontextprotocol/server-memory" ]
    
    filesystem:
      command: "npx"
      args: [ "-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed" ]
```

#### 多服务配置

```yaml
soloncode:
  mcpServers:
    gitee:
      type: "streamable"
      url: "https://api.gitee.com/mcp"
      headers: { Authorization: "Bearer xxx" }
    
    memory:
      command: "npx"
      args: [ "-y", "@modelcontextprotocol/server-memory" ]
    
    brave-search:
      command: "npx"
      args: [ "-y", "@modelcontextprotocol/server-brave-search" ]
      env:
        BRAVE_API_KEY: "xxxxxx"
```

> 详细文档参考：[《客户端构建和模型集成使用》](/article/997)、[《ToolGatewaySkill 对接海量 Tool》](/article/1395)


### 2、REST API 配置

通过 OpenAPI 文档自动接入业务 API，无需编码即可让 AI 调用你的服务。

#### 配置属性

| 属性 | 必填 | 描述 |
|------|------|------|
| `docUrl` | 是 | OpenAPI 文档地址（支持 2.0 和 3.0 版本） |
| `apiBaseUrl` | 否 | API 基础地址（覆盖文档中的定义） |
| `headers` | 否 | 请求头（如认证信息） |

#### 单服务示例

```yaml
soloncode:
  apiServers:
    myapi:
      docUrl: "https://api.example.com/openapi.json"
      apiBaseUrl: "https://api.example.com/v1"
      headers:
        Authorization: "Bearer sk-xxxxxx"
        X-API-Key: "xxxxxx"
```

#### 多服务示例

```yaml
soloncode:
  apiServers:
    user-service:
      docUrl: "https://user.example.com/openapi.json"
      headers: { Authorization: "Bearer user-token" }
    
    order-service:
      docUrl: "https://order.example.com/openapi.json"
      headers: { Authorization: "Bearer order-token" }
    
    payment-service:
      docUrl: "https://payment.example.com/openapi.yaml"
      apiBaseUrl: "https://payment.example.com/api"
      headers: { X-API-Key: "payment-key" }
```

> 详细文档参考：[《RestApiSkill 对接海量 WebAPI》](/article/1353)


### 3、工具网关机制

当接入大量 MCP 或 REST API 时，SolonCode 会启用「工具网关」：

1. **工具发现**：AI 先查询有哪些可用工具
2. **按需加载**：仅加载当前任务需要的工具描述
3. **动态调用**：运行时调用具体工具

这种机制有效控制了上下文占用，即使接入数百个工具也能高效运行。


### 4、使用示例

配置完成后，直接用自然语言调用：

```
# 调用 MCP 服务
帮我查询 Gitee 上的仓库列表

# 调用 REST API
调用用户服务，查询 ID 为 1001 的用户信息

# 组合使用
从用户服务获取用户列表，然后为每个用户创建订单
```

AI 会自动选择合适的工具完成请求。