Metadata-Version: 2.4
Name: openboost-cli
Version: 2.0.2
Summary: Unified CLI and Python client for OpenBoost TikTok, Patent, and Amazon MCP servers.
Author: OpenBoost CLI
License-Expression: MIT
Keywords: mcp,cli,openboost,tiktok,patent,amazon
Classifier: Environment :: Console
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx>=0.27
Requires-Dist: mcp<2,>=1.24
Requires-Dist: rich>=13.0
Requires-Dist: typer>=0.12
Dynamic: license-file

# openboost-cli

OpenBoost MCP 的统一命令行工具和 Python 客户端，支持 TikTok、Patent 和 Amazon 三类 MCP 服务。

- PyPI 包名：`openboost-cli`
- 命令行入口：`openboost`
- Python 包名：`openboost_cli`
- Python 版本：3.10 及以上

## 安装

从 PyPI 安装：

```bash
pip install openboost-cli
```

从源码使用 uv 安装开发环境：

```bash
uv sync
uv run openboost --help
```

## 配置

可以将通用密钥写入配置文件：

```bash
openboost config set --secret-key "your-secret-key"
```

也可以只配置某个 MCP：

```bash
openboost config set --mcp amazon --secret-key "your-secret-key"
openboost config set --mcp amazon --base-url "http://mcp.microdata-inc.com/mcp-servers/openboost-all-mcp/sse"
```

默认配置文件位于：

```text
~/.config/openboost/config.json
```

支持以下环境变量：

```text
OPENBOOST_CONFIG
OPENBOOST_SECRET_KEY
OPENBOOST_TIKTOK_SECRET_KEY
OPENBOOST_PATENT_SECRET_KEY
OPENBOOST_AMAZON_SECRET_KEY
OPENBOOST_TIKTOK_BASE_URL
OPENBOOST_PATENT_BASE_URL
OPENBOOST_AMAZON_BASE_URL
```

密钥也可仅对一次调用通过顶层 `--key` 参数提供。不要将密钥提交到代码仓库。

## 命令行使用

查看帮助和全部工具：

```bash
openboost --help
openboost list
```

查看某个工具的参数：

```bash
openboost docs tiktok tt_commodity_info_list
```

使用快捷命令：

```bash
openboost tiktok commodity category-tree
openboost patent search count "TACD: virtual reality"
openboost amazon hot cat-tree --site 1 --rank-type "Best Seller"
```

使用通用调用命令：

```bash
openboost call tiktok tt_video_content \
  --set countryRegion=美国 \
  --set videoId=123456
```

复杂参数可以从 JSON 文件或标准输入读取：

```bash
openboost call patent patent_query_search --payload request.json
echo '{"query_text":"TACD: virtual reality","limit":10}' | \
  openboost call patent patent_query_search --stdin
```

不带子命令运行 `openboost` 会进入交互式菜单，也可以显式运行：

```bash
openboost tui
```

## Python 客户端

Python 客户端按 MCP 分类提供动态工具方法，方法名与 MCP tool name 保持一致：

```python
from openboost_cli import OpenBoost

client = OpenBoost(secret_key="your-secret-key")

result = client.tiktok.tt_video_content(
    countryRegion="美国",
    videoId="123456",
)

patents = client.patent.patent_query_search(
    query_text="TACD: virtual reality",
    limit=10,
)
```

也可以按名称取得某个 MCP 客户端：

```python
tiktok = client.client("tiktok")
result = tiktok.call_tool(
    "tt_commodity_get_commodity_cat_tree",
    {},
)
```

## 开发与构建

```bash
uv sync
uv run pytest
uv build
```

单元测试不会访问真实接口。真实接口 smoke test 必须同时显式设置开关和密钥：

```bash
OPENBOOST_RUN_INTEGRATION=1 \
OPENBOOST_TIKTOK_SECRET_KEY="your-secret-key" \
uv run pytest -m integration
```

项目不会自动发布到 PyPI；发布前请人工检查构建产物和版本号。
