tyc-cli 0.3.3 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +33 -17
- package/dist/catalog.json +380 -243
- package/dist/commands/category.js +4 -1
- package/dist/commands/init.js +32 -6
- package/dist/commands/layers.js +5 -5
- package/dist/commands/login.js +210 -0
- package/dist/config.js +30 -6
- package/dist/coreClient.js +121 -0
- package/dist/index.js +13 -7
- package/dist/logo.js +24 -0
- package/dist/oauth.js +364 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -23,6 +23,19 @@
|
|
|
23
23
|
|
|
24
24
|
- 默认 stdout 由紧凑单行 JSON 改为缩进 2 空格 JSON。需要旧默认行为的脚本请显式加 `--compact`
|
|
25
25
|
|
|
26
|
+
## [0.3.4] - 2026-05-28
|
|
27
|
+
|
|
28
|
+
### 变更
|
|
29
|
+
|
|
30
|
+
- 更新 CLI catalog 中部分搜索类工具的 help/参数说明,使命令语义与 MCP Server 实际参数映射一致:
|
|
31
|
+
- `companies-by-industry-region`:明确 `industry` 为国标行业代码,`region` 为地区代码
|
|
32
|
+
- `companies-by-ranking`:明确按企业名称、统一社会信用代码或天眼查企业 ID 查询企业上榜榜单
|
|
33
|
+
- `companies-by-tag`:明确未传 `tag` 时使用 `searchKey` 作为标签名称
|
|
34
|
+
- `listed-companies`:明确按企业名称、统一社会信用代码或天眼查企业 ID 搜索上市公司信息
|
|
35
|
+
- `search-patents` / `search-trademarks`:说明 `applicant` 会作为关键词按申请人字段搜索,不是与 `searchKey` 叠加的二次过滤
|
|
36
|
+
- `search-bids`:说明 `purchaser` 的搜索语义,并明确 `bidType` 支持的公告类型枚举
|
|
37
|
+
- 版本号提升至 `0.3.4`。
|
|
38
|
+
|
|
26
39
|
## [0.3.0] - 2026-04-29
|
|
27
40
|
|
|
28
41
|
### 新增
|
package/README.md
CHANGED
|
@@ -15,12 +15,17 @@
|
|
|
15
15
|
Streamable HTTP)调用天眼查 162 个业务语义聚合工具,覆盖企业工商、知产、司法风险、
|
|
16
16
|
董监高等全维度商业数据。
|
|
17
17
|
|
|
18
|
+
当前 MCP Server 的 `tools/list` 默认只公开少量 AI Agent 入口工具
|
|
19
|
+
(搜索、公司画像、能力目录、`call_tool` / `call_tools_batch` 等),但 162 个业务语义
|
|
20
|
+
工具仍注册在服务端并保持 `tools/call` 兼容。CLI 不依赖 `tools/list` 构建命令树,
|
|
21
|
+
而是使用打包内 `catalog.json` 直达这些业务工具。
|
|
22
|
+
|
|
18
23
|
**核心特点**:
|
|
19
24
|
|
|
20
25
|
- 🧠 **MCP 客户端架构**:CLI 只做协议转换与参数透传;多源合并、时间戳格式化、
|
|
21
26
|
空结果归一化、`_summary` 注入等业务逻辑由 MCP Server 完成
|
|
22
|
-
- 🔌
|
|
23
|
-
支持 `--url`
|
|
27
|
+
- 🔌 **公网优先**:默认连接天眼查 MCP 端点 `https://mcp.tianyancha.com/mcp`;
|
|
28
|
+
支持 `--url` 指向本地或私有部署
|
|
24
29
|
- 🔄 **Session 复用**:`Mcp-Session-Id` 本地缓存 24 小时,后续调用零 initialize 开销
|
|
25
30
|
- 🎯 **6 大业务分类 / 162 个工具**:企业基础信息 · 风险合规 · 知识产权 · 经营与公示 · 历史信息 · 董监高
|
|
26
31
|
- 🤖 **AI Agent 友好**:tyc 英文 key 透传 / 时间戳格式化 / `_summary / _empty / _warnings` 元数据
|
|
@@ -49,16 +54,23 @@ npm install && npm run build && npm link
|
|
|
49
54
|
### 3. 初始化配置
|
|
50
55
|
|
|
51
56
|
```bash
|
|
52
|
-
# 连接官方 MCP
|
|
53
|
-
tyc
|
|
57
|
+
# 连接官方 MCP(默认):浏览器 OAuth 登录
|
|
58
|
+
tyc login
|
|
54
59
|
|
|
55
|
-
#
|
|
56
|
-
tyc
|
|
60
|
+
# 连接预发 / 本地 / 自建 MCP
|
|
61
|
+
tyc login --url "https://ai-mcp-pre.tianyancha.com/mcp"
|
|
62
|
+
tyc login --url "http://localhost:8080/mcp" --issuer "http://localhost:8080/oauth"
|
|
63
|
+
|
|
64
|
+
# API key 兼容路径:已有天眼查 OpenAPI token 时可直接写入
|
|
65
|
+
tyc init --authorization "YOUR_API_TOKEN"
|
|
57
66
|
|
|
58
67
|
# 仅写配置、不校验(离线环境或先配好稍后上线)
|
|
59
68
|
tyc init --authorization "YOUR_API_TOKEN" --no-verify
|
|
60
69
|
```
|
|
61
70
|
|
|
71
|
+
> `tyc login` 会从 MCP protected-resource metadata 发现 OAuth 授权服务器,启动本地
|
|
72
|
+
> loopback 回调,使用 PKCE 授权码流程打开浏览器登录;成功后自动把
|
|
73
|
+
> `Authorization: Bearer <access_token>` 写入 `~/.tyc/config.json`。
|
|
62
74
|
> `tyc init` 保存配置后会立即向 MCP 发一次 `initialize`:成功则打印 `已建立 MCP session`,
|
|
63
75
|
> 失败则退出码 1 并提示连通性问题。加 `--no-verify` 可跳过校验。
|
|
64
76
|
|
|
@@ -66,9 +78,9 @@ tyc init --authorization "YOUR_API_TOKEN" --no-verify
|
|
|
66
78
|
|
|
67
79
|
```json
|
|
68
80
|
{
|
|
69
|
-
"url": "https://mcp.tianyancha.com/
|
|
81
|
+
"url": "https://mcp.tianyancha.com/mcp",
|
|
70
82
|
"headers": {
|
|
71
|
-
"Authorization": "
|
|
83
|
+
"Authorization": "Bearer <OAuth_ACCESS_TOKEN>"
|
|
72
84
|
}
|
|
73
85
|
}
|
|
74
86
|
```
|
|
@@ -89,6 +101,8 @@ tyc executive personnel-dishonest "..." --humanName "张三"
|
|
|
89
101
|
|
|
90
102
|
| 命令 | 说明 |
|
|
91
103
|
|------|------|
|
|
104
|
+
| `tyc login` | 浏览器 OAuth 登录;自动发现 metadata、使用 PKCE 获取 access token 并写入配置 |
|
|
105
|
+
| `tyc login --url <url>` | 对指定 MCP endpoint 发起 OAuth 登录 |
|
|
92
106
|
| `tyc init --authorization <token>` | 写入 `headers.Authorization`;保存后会立即向 MCP 发一次 `initialize` 校验连通性 |
|
|
93
107
|
| `tyc init --url <url>` | 设置 MCP endpoint |
|
|
94
108
|
| `tyc init --header K=V` | 注入自定义 header(可重复);值留空则删除该 key |
|
|
@@ -164,7 +178,7 @@ tyc company registration-info "百度" --compact | jq .name
|
|
|
164
178
|
|
|
165
179
|
## 📚 查询指令手册
|
|
166
180
|
|
|
167
|
-
### 企业基础信息(company,
|
|
181
|
+
### 企业基础信息(company,49)
|
|
168
182
|
|
|
169
183
|
```bash
|
|
170
184
|
tyc company registration-info "北京百度网讯科技有限公司" # 工商登记
|
|
@@ -173,13 +187,13 @@ tyc company beneficial-owners "..." # UBO
|
|
|
173
187
|
tyc company key-personnel "..." # 主要人员
|
|
174
188
|
tyc company annual-reports "..." # 企业年报
|
|
175
189
|
tyc company financial-data "..." # 财务数据(上市/非上市自动回退)
|
|
176
|
-
tyc company accuracy "
|
|
190
|
+
tyc company accuracy "北京百度网讯科技有限公司" --companyCode "91110000802100433B" --legalPersonName "梁志祥" # 三要素核验
|
|
177
191
|
tyc company equity-tree "..." # 股权图谱
|
|
178
192
|
tyc company relation-path "A" --searchKey2 "B" # 双企业最短路径
|
|
179
193
|
tyc company group-info "..." # 集团信息(serial 串行执行)
|
|
180
194
|
```
|
|
181
195
|
|
|
182
|
-
### 风险合规(risk,
|
|
196
|
+
### 风险合规(risk,35)
|
|
183
197
|
|
|
184
198
|
```bash
|
|
185
199
|
tyc risk dishonest-info "..." # 失信被执行
|
|
@@ -214,7 +228,7 @@ tyc operation invest-agency-profile "红杉资本" # 投资机构
|
|
|
214
228
|
tyc operation private-fund-profile "..." # 私募基金
|
|
215
229
|
```
|
|
216
230
|
|
|
217
|
-
### 历史信息(history,
|
|
231
|
+
### 历史信息(history,17)
|
|
218
232
|
|
|
219
233
|
```bash
|
|
220
234
|
tyc history historical-registration "..."
|
|
@@ -241,7 +255,7 @@ tyc executive person-risk-overview "..." --humanName "张三"
|
|
|
241
255
|
```
|
|
242
256
|
┌─────────────┐ ┌─────────────────────────────┐ ┌─────────────────┐
|
|
243
257
|
│ tyc-cli │ ──JSON──▶│ 天眼查 MCP Server │ ──HTTP──▶│ tyc OpenAPI │
|
|
244
|
-
│ (npm / TS) │ ◀───RPC──│ (mcp.tianyancha.com/
|
|
258
|
+
│ (npm / TS) │ ◀───RPC──│ (mcp.tianyancha.com/mcp) │ ◀───────│ │
|
|
245
259
|
└─────────────┘ └─────────────────────────────┘ └─────────────────┘
|
|
246
260
|
│ │
|
|
247
261
|
│ └─ 多源并发聚合 · 时间戳格式化 · _summary 注入 · 空结果归一化
|
|
@@ -254,7 +268,7 @@ tyc executive person-risk-overview "..." --humanName "张三"
|
|
|
254
268
|
1. 解析命令行(commander)
|
|
255
269
|
2. 组装 `tools/call` JSON-RPC 请求,透传 `Authorization` header
|
|
256
270
|
3. Session 管理(`initialize` + 24h 缓存 + 失效重建)
|
|
257
|
-
4. 解析 MCP Streamable HTTP
|
|
271
|
+
4. 解析 MCP Streamable HTTP 响应(当前服务端返回单包 JSON)
|
|
258
272
|
5. 格式化输出(默认 pretty / `--compact` / `--md`),并可叠加 `--head/--tail/--full/--threshold/--output-file` 做截断与落盘
|
|
259
273
|
|
|
260
274
|
**CLI 不做**:
|
|
@@ -282,10 +296,12 @@ tyc-cli/
|
|
|
282
296
|
├── config.ts # ~/.tyc/config.json 读写 · 环境变量兜底
|
|
283
297
|
├── session.ts # ~/.tyc/session.json 读写 · 24h TTL
|
|
284
298
|
├── mcpClient.ts # MCP JSON-RPC client · SSE 解析 · 失效重建
|
|
299
|
+
├── oauth.ts # OAuth metadata discovery · PKCE · loopback callback
|
|
285
300
|
├── registry.ts # 读取打包内 catalog.json(命令树元数据)
|
|
286
301
|
├── catalog.json # 命令元数据:name / group / cliMethod / params
|
|
287
302
|
├── commands/
|
|
288
303
|
│ ├── init.ts # tyc init
|
|
304
|
+
│ ├── login.ts # tyc login
|
|
289
305
|
│ └── category.ts # 动态注册 6 分类 × N 方法
|
|
290
306
|
└── utils/
|
|
291
307
|
├── jsonToMarkdown.ts # --md 选项的 Markdown 渲染
|
|
@@ -308,7 +324,7 @@ tyc-cli/
|
|
|
308
324
|
|
|
309
325
|
```json
|
|
310
326
|
{
|
|
311
|
-
"url": "https://mcp.tianyancha.com/
|
|
327
|
+
"url": "https://mcp.tianyancha.com/mcp",
|
|
312
328
|
"sessionId": "mcp-session-xxx",
|
|
313
329
|
"initializedAt": 1777272039739,
|
|
314
330
|
"protocolVersion": "2024-11-05"
|
|
@@ -342,7 +358,7 @@ tyc-cli/
|
|
|
342
358
|
| 协议 | MCP client(JSON-RPC over Streamable HTTP) | MCP server |
|
|
343
359
|
| 实现 | TypeScript | Go |
|
|
344
360
|
| 职责 | 命令树 · 参数透传 · 格式化输出 | 多源聚合 · 时间戳格式化 · 元数据注入 · Authorization 透传至 OpenAPI |
|
|
345
|
-
| 运维 | 用户本地安装 |
|
|
361
|
+
| 运维 | 用户本地安装 | 默认连接官方托管 `mcp.tianyancha.com`,也可切到本机 apimcp 或用户自建 |
|
|
346
362
|
|
|
347
363
|
CLI 和 MCP Server 共享同一 162 工具清单;工具元数据从打包内的 `catalog.json`
|
|
348
364
|
读取,保证命令树冷启动零网络开销。
|
|
@@ -367,7 +383,7 @@ bash test/t1_1/cli/run_t1_1.sh -o -v
|
|
|
367
383
|
MCP_URL=https://my-mcp.example.com/mcp AUTH_TOKEN=xxx bash test/t1_1/cli/run_t1_1.sh
|
|
368
384
|
```
|
|
369
385
|
|
|
370
|
-
`-o` = `--online`,切到 `https://mcp.tianyancha.com/
|
|
386
|
+
`-o` = `--online`,切到 `https://mcp.tianyancha.com/mcp`;`-v` = `--verbose`。
|
|
371
387
|
单分类脚本加 `-p` 可独立触发 preflight:`bash test/t1_1/cli/test_company.sh -p -o`。
|
|
372
388
|
|
|
373
389
|
---
|