# 第三方交互 / TS-MCP

## `td_MCP_GetHQData01(stock_id, endt, cy)`

声明：function

获取指定证券、日期和周期的价格与成交量，用作 TS-MCP 工具示例

<!-- tags: 查询 价格数据 行情 交易日期 日期时间 行情数据 数据服务 MCP -->

| 参数       | 类型          | 说明                         |
| ---------- | ------------- | ---------------------------- |
| `stock_id` | string\|array | 证券代码或证券代码集合       |
| `endt`     | t_date        | 计算或查询使用的日期时间边界 |
| `cy`       | string        | 行情或统计周期               |

返回：array

### 示例

范例01：定义 TS-MCP 行情查询函数

```tsl
function td_MCP_GetHQData01(
    stock_id = "SH000001",
    endt = 20260325T,
    cy = cy_day()
);
begin
    setSysParam(pn_cycle(), cy);
    return select
        ["StockID"],
        ["StockName"],
        ["date"],
        dateToStr(["date"]) as "日期",
        ["close"],
        ["vol"]
    from markettable datekey endt to endt + 18 / 24 of stock_id end;
end;
```

## `td_opi_getInfoData01(stock_id, begt, endt, reportmode)`

声明：function

执行 `td_opi_getInfoData01` 对应的模块功能

<!-- tags: 查询 调用 行情数据 数据服务 MCP -->

| 参数         | 类型     | 说明                                         |
| ------------ | -------- | -------------------------------------------- |
| `stock_id`   | string   | 可选。目标证券、指数、基金或对象的代码标识   |
| `begt`       | datetime | 可选。计算或查询区间的开始日期               |
| `endt`       | datetime | 可选。计算或查询区间的结束日期               |
| `reportmode` | any      | 可选。控制计算方法、数据口径或返回格式的选项 |

返回：any

### 示例

范例01：调用示例

```tsl
baseurl := "https://opi.tinysoft.com.cn";
uri := '/Service/mcp/Session/HQData';
url := baseurl $ uri;
header := array("Connection: keep-alive", "content-type: application/json",
"JSON-Encode: gbk", "Authorization: Bearer {58DC***DF58}"); //请求头
header := array2str(header, "\r\n");
toolist := array(
"jsonrpc": "2.0",
"id": 100,
"method": "tools/list",
"params": (
"cursor": "optional-cursor-value"
)
);
toolist := ExportJsonString(toolist); //转换成 JSON 串
sid := CreateHttpSession(); //创建会话
ret := InternetRequest(sid, URL, "", header, toolist, "", "", 0, res, resp,
500000);
DestroyHttpSession(sid); //销毁会话
echo "ret->", ret, " resp->", resp, " res->", tostn(importjsonstring(res)),
"\r\n";
return;
```

范例02：调用示例

```tsl
baseurl := "https://opi.tinysoft.com.cn";
uri := '/Service/mcp/Session/HQData';
url := baseurl $ uri;
header := array("Connection: keep-alive", "content-type: application/json",
"JSON-Encode: gbk", "Authorization: Bearer {58DC***DF58}"); //请求头
header := array2str(header, "\r\n");
toolist := array(
"jsonrpc": "2.0",
"id": 100,
"method": "tools/call",
"params": (
"name": "HQData",
"arguments": (
"StockID": "SZ000002",
"Endt": 20260720T,
"cy": cy_day()
)
)
);
toolist := ExportJsonString(toolist); //转换成 JSON 串
sid := CreateHttpSession(); //创建会话
ret := InternetRequest(sid, URL, "", header, toolist, "", "", 0, res, resp,
500000);
DestroyHttpSession(sid); //销毁会话
echo "ret->", ret, " resp->", resp, " res->", tostn(importjsonstring(res)),
"\r\n";
return 1;
```
