open-index/open-npm huggingface dataset:
npm package: @lemonbi/chatbi-agent
Description: ChatBI MCP Server - Lemonbi 的 MCP 服务
Author: LemonBI
Latest version: 1.0.17

# ChatBI MCP Server

ChatBI 数据分析的 MCP (Model Context Protocol) 服务器，支持在 Windsurf、Cursor 等 AI 编辑器中直接调用 ChatBI 接口进行数据分析。

## 特性

- ✅ 支持多渠道、多账户的广告投放数据分析
- ✅ 智能选择 `sheet_type`（1个账户用 AI_ONE，多个账户用 AI_TWO）
- ✅ 自动添加 `BI_USER_ID` 到请求头
- ✅ 支持流式和非流式接口
- ✅ 通过 `npx` 直接使用，无需安装

## 快速开始

### 1. 在 Windsurf/Cursor 中配置

编辑配置文件：
- Windsurf: `~/.windsurf/mcp_config.json`
- Cursor: `~/.cursor/mcp_config.json`

```json
{
  "mcpServers": {
    "chatbi-agent": {
      "command": "npx",
      "args": ["@lemonbi/chatbi-agent"],
      "env": {
        "API_BASE_URL": "https://chatbireport.tangelo.com.cn/dbot/api",
        "BI_USER_ID": "rvPemrAuVA"
      }
    }
  }
}
```

### 2. 使用示例

在 AI 编辑器中直接提问：

```
请帮我查询小红书电商账户「BI数据精灵001」在 7 月整月的 BI 数据
```

或者：

```
分析7月各渠道名称的投放情况，包括京准通的「BI智能广告投放3号」和小红书的「BI数据精灵001」
```

## MCP 参数格式

**重要：MCP 工具直接使用 API 格式，无需转换！**

### 单账户示例

```json
{
  "biz_type": "REPORT",
  "query": "分析7月各渠道名称的投放情况",
  "media": {
    "sheet_type": "AI_ONE",
    "channels": [
      {
        "channel": "jzt",
        "category_tag": "ecom",
        "accounts": ["BI智能广告投放3号"]
      }
    ]
  }
}
```

### 多账户示例

```json
{
  "biz_type": "REPORT",
  "query": "分析7月各渠道名称的投放情况",
  "media": {
    "sheet_type": "AI_TWO",
    "channels": [
      {
        "channel": "jzt",
        "category_tag": "ecom",
        "accounts": ["BI智能广告投放3号"]
      },
      {
        "channel": "redbook",
        "category_tag": "soc",
        "accounts": ["BI数据精灵001"]
      }
    ]
  }
}
```

### 请求头

```json
{
  "Content-Type": "application/json",
  "BI_USER_ID": "rvPemrAuVA"
}
```

### 参数说明

- **biz_type**: 业务类型，默认为 `REPORT`
- **query**: 用户的分析查询问题
- **media.sheet_type**: 
  - `AI_ONE`: 单账户分析
  - `AI_TWO`: 多账户分析
  - 自动根据账户数量选择
- **media.channels**: 渠道列表
  - **channel**: 渠道代码
    - `jzt` - 巨量引擎
    - `redbook` - 小红书
    - `ks` - 快手
  - **category_tag**: 分类标签
    - `ecom` - 电商
    - `soc` - 社交
  - **accounts**: 账户名称列表

## 工具说明

### chat

智能分析工具，根据查询内容自动选择接口：
- 包含"流式"、"实时"、"进度"等关键词 → 使用流式接口
- 其他情况 → 使用普通接口（更快）

**参数**：
- `query` (必需): 分析查询问题
- `accounts` (必需): 账户列表
- `biz_type` (可选): 业务类型，默认 `REPORT`
- `sheet_type` (可选): 表单类型，自动选择

## 环境变量

- `API_BASE_URL`: ChatBI API 基础地址，默认 `https://chatbireport.tangelo.com.cn/dbot/api`
- `BI_USER_ID`: BI 用户ID，默认 `rvPemrAuVA`

## 本地开发

```bash
# 安装依赖
npm install

# 本地测试
node index.js

# 测试参数格式
node test_mcp.js
```

## 发布到 npm

```bash
# 登录 npm
npm login

# 发布
npm publish --access public
```

## License

MIT
npm package: @lemonbot.fun/eslint-config-base
Description: The eslint config for personal
Author: chaoyue-chang
Latest version: 2.8.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# lemonbot/eslint-config-base

Enhances Airbnb's ESLint config with TypeScript support

## Setup

### 1) Install dependencies (and peer dependencies)

```bash
npm i eslint \
    @lemonbot.fun/eslint-config-base \
    @typescript-eslint/eslint-plugin@^7.0.0 \
    @typescript-eslint/parser@^7.0.0 \
    typescript \
    -D
            
# eg: pnpm
pnpm add eslint \
    @lemonbot.fun/eslint-config-base \
    @typescript-eslint/eslint-plugin@^7.0.0 \
    @typescript-eslint/parser@^7.0.0 \
    typescript \
    -D
  
# eg: yarn
yarn add eslint \
    @lemonbot.fun/eslint-config-base \
    @typescript-eslint/eslint-plugin@^7.0.0 \
    @typescript-eslint/parser@^7.0.0 \
    typescript \
    --dev
```

### 2) Configure ESLint

Within your ESLint config file:

```diff
extends: [
  require.resolve('@lemonbot.fun/eslint-config-base/index'),
]
```

### 3) Configure the ESLint TypeScript parser

This config requires knowledge of your TypeScript config.

In your ESLint config, set
[parserOptions.project](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/parser#parseroptionsproject)
to the path of your `tsconfig.eslint.json`.

For example:

```diff
{
  extends: [
    '@lemonbot.fun/eslint-config-base'
  ],
+ parserOptions: {
+   project: './tsconfig.eslint.json'
+ }
}
```

### 4) Set module resolver.

1. If you are not using compiler like `webpack` or `rullup`, add
   `eslint-import-resolver-typescript` to the `devDependencies`, add config to
   `eslintrc` like blow.

```diff
settings: {
  'import/parsers': {
    '@typescript-eslint/parser': ['.ts', '.tsx']
  },
  'import/resolver': {
    'typescript': {
      'alwaysTryTypes': true,
      'project': './tsconfig.eslint.json',
    }
  }
},
```

2. If you are not using webpack, add `eslint-import-resolver-webpack` to the
   `devDependencies`, add config to `eslintrc` like blow.

```diff
settings: {settings: {
  'import/resolver': {
    webpack: {
      config: './path-to-your-webpack.config.js',
    }
  }
},
```

### 4) Run ESLint

Open a terminal to the root of your project, and run the following command:

```
npx eslint . --ext .js,.jsx,.ts,.tsx
```

ESLint will lint all .js, .jsx, .ts, and .tsx files within the current folder,
and output results to your terminal.

You can also get results in realtime inside most IDEs via a plugin.

## Credits

Authored and maintained by Jason Chang
([Lemonbot](https://github.com/lemonbot-fun)).

## License

Open source
[licensed as MIT](https://github.com/lemonbot-fun/eslint-config/blob/master/LICENSE).
npm package: @lemonbot.fun/eslint-config-node
Description: The eslint config for personal
Author: jason-chang
Latest version: 2.8.1

# lemonbot/eslint-config-node

Enhances Airbnb's ESLint config with TypeScript support

## Setup

### 1) Install dependencies (and peer dependencies)

```bash
npm i eslint \
      @lemonbot.fun/eslint-config-node \
      @typescript-eslint/eslint-plugin@^7.0.0 \
      @typescript-eslint/parser@^5.0.0 \
      typescript \
      -D
            
#eg: pnpm
pnpm add eslint \
        @lemonbot.fun/eslint-config-node \
        @typescript-eslint/eslint-plugin@^7.0.0 \
        @typescript-eslint/parser@^5.0.0 \
        typescript \
        -D
            
#eg: yarn
yarn add eslint \
        @lemonbot.fun/eslint-config-node \
        @typescript-eslint/eslint-plugin@^7.0.0 \
        @typescript-eslint/parser@^5.0.0 \
        typescript \
      --dev
```

### 2) Configure ESLint

Within your ESLint config file:

```diff
extends: [
  require.resolve('@lemonbot.fun/eslint-config-node/index'),
]
```

### 3) Configure the ESLint TypeScript parser

This config requires knowledge of your TypeScript config.

In your ESLint config, set
[parserOptions.project](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/parser#parseroptionsproject)
to the path of your `tsconfig.eslint.json`.

For example:

```diff
{
  extends: [
    '@lemonbot.fun/eslint-config-node'
  ],
+ parserOptions: {
+   project: './tsconfig.eslint.json'
+ }
}
```

### 4) Run ESLint

Open a terminal to the root of your project, and run the following command:

```
npx eslint . --ext .js,.jsx,.ts,.tsx
```

ESLint will lint all .js, .jsx, .ts, and .tsx files within the current folder,
and output results to your terminal.

You can also get results in realtime inside most IDEs via a plugin.

## Credits

Authored and maintained by Jason Chang
([Lemonbot](https://github.com/lemonbot-fun)).

## License

Open source
[licensed as MIT](https://github.com/lemonbot-fun/eslint-config/blob/master/LICENSE).
npm package: @lemonbot.fun/eslint-config-react
Description: The eslint config for personal
Author: jason-chang
Latest version: 2.8.1

# lemonbot/eslint-config-react

Enhances Airbnb's ESLint config with TypeScript support

## Setup

### 1) Install dependencies (and peer dependencies)

```bash
npm i eslint \
      @lemonbot.fun/eslint-config-react \
      @typescript-eslint/eslint-plugin@^7.0.0 \
      @typescript-eslint/parser@^5.0.0 \
      typescript \
      -D
            
# eg: pnpm
pnpm add eslint \
        @lemonbot.fun/eslint-config-react \
        @typescript-eslint/eslint-plugin@^7.0.0 \
        @typescript-eslint/parser@^5.0.0 \
        typescript \
        -D

#eg: yarn
yarn add eslint \
        @lemonbot.fun/eslint-config-react \
        @typescript-eslint/eslint-plugin@^7.0.0 \
        @typescript-eslint/parser@^5.0.0 \
        typescript \
        --dev
```

### 2) Configure ESLint

Within your ESLint config file:

```diff
extends: [
  '@lemonbot.fun/eslint-config-react',
]
```

## Credits

Authored and maintained by Jason Chang
([Lemonbot](https://github.com/lemonbot-fun)).

## License

Open source
[licensed as MIT](https://github.com/lemonbot-fun/eslint-config/blob/master/LICENSE).
npm package: @lemonbot.fun/eslint-config-vue
Description: The eslint config for personal
Author: jason-chang
Latest version: 2.8.1

# lemonbot/eslint-config-vue

Enhances Airbnb's ESLint config with TypeScript support

## Setup

### 1) Install dependencies (and peer dependencies)

```bash
npm i eslint \
      @lemonbot.fun/eslint-config-vue \
      @typescript-eslint/eslint-plugin@^7.0.0 \
      @typescript-eslint/parser@^5.0.0 \
      typescript \
      -D
            
# eg: pnpm
pnpm add eslint \
        @lemonbot.fun/eslint-config-vue \
        @typescript-eslint/eslint-plugin@^7.0.0 \
        @typescript-eslint/parser@^5.0.0 \
        typescript \
        -D 
            
# eg: yarn
yarn add eslint \
        @lemonbot.fun/eslint-config-vue \
        @typescript-eslint/eslint-plugin@^7.0.0 \
        @typescript-eslint/parser@^5.0.0 \
        typescript \
        --dev
```

### 2) Configure ESLint

Within your ESLint config file:

```diff
extends: [
  '@lemonbot.fun/eslint-config-vue',
],
```

#### Setting import resolver.

If you are using `vue-cli` add config blow

```diff
settings: {
  'import/resolver': {
    webpack: {
      config: require.resolve('@vue/cli-service/webpack.config.js'),
    }
  }
},
```

If you are using webpack standalone, add config blow

```diff
settings: {
  'import/resolver': {
    webpack: {
      config: './path-to-your-webpack.config.js',
    }
  }
},
```

## Credits

Authored and maintained by Jason Chang
([Lemonbot](https://github.com/lemonbot-fun)).

## License

Open source
[licensed as MIT](https://github.com/lemonbot-fun/eslint-config/blob/master/LICENSE).
npm package: @lemoncash/mini-app-sdk
Description: SDK for Lemon Mini App
Latest version: 0.1.16

<div align="center">
  <img src="assets/lemon cover.png" alt="Lemon Cash" width="400" />
</div>

# Mini App SDK

An SDK for integrating your Mini App with the Lemon Cash app.

## Install

Using npm

```bash
npm install @lemoncash/mini-app-sdk
```

Or `yarn`

```bash
yarn add @lemoncash/mini-app-sdk
```

## Documentation

Visit the [documentation](https://lemoncash.mintlify.app/quickstart/quickstart) for a full walkthrough.
npm package: @lemoncloud/ade-backend-api
Description: cloud based micro-service of backend api
Author: Steve Jung
Latest version: 0.23.1008

# @lemoncloud/ade-backend-api

Cloud based, the ade backend api for [lemonade](https://github.com/lemoncloud-io/lemonade); web-based labeling tool.

- Fully Open-Source, and based on [lemon-core](https://github.com/lemoncloud-io/lemon-core)
- Support `Labeling` for each `Image` in `Project`.
npm package: @lemoncloud/aftershop-backend-api
Description: cloud based micro-service of backend api
Author: Steve Jung
Latest version: 0.23.315

# @lemoncloud/aftershop-backend-api

Cloud based, the ade backend api for [lemonade](https://github.com/lemoncloud-io/lemonade); web-based labeling tool.

- Fully Open-Source, and based on [lemon-core](https://github.com/lemoncloud-io/lemon-core)
- Support `Labeling` for each `Image` in `Project`.
npm package: @lemoncloud/bespin-opsnow-api
Description: bespin-opsnow management api
Author: Steve Jung
Latest version: 0.25.806

# @lemoncloud/bespin-opsnow-api

- 베스핀글로벌의 OPSNOW360 시스템을 통한 클라우드 계정별 청구 요금 연동을 위한 API