Skip to main content
Glama
duhu2000

qcc-mcp-legal-oauth

by duhu2000

企查查法律データ MCP OAuth プラグイン(DeepSeek Harness)

One-click OAuth connect to 企查查 (Qichacha) 法律数据 MCP inside DeepSeek Harness. DeepSeek Harness でワンクリック OAuth 認可により企查查法律データ MCP(法規法条 / 司法判例)に接続します。

License: MIT

機能 / Features

  • 🔑 ワンクリック OAuth 接続:Authorization Code + PKCE(S256)、動的クライアント登録(client_secret なし)、ブラウザを自動的に開いて企查查認可ページへリダイレクト、loopback コールバックで自動完了

  • 🌐 一度の認可で全 Server 利用可能:1 つの access_token / refresh_token で企查查法律データ MCP SERVER(legal-regulation 法規 / legal-case 判例、計 2 つ)をカバー;プラグインは token の実際の認可範囲に応じて動的にマウント——法規+判例を同時に開設したアカウントは 2 つ、法規のみのアカウントは 1 つ

  • 🔄 自動更新:access_token の有効期限前に自動 refresh(token ローテーション)、失敗時のみ再認可が必要

  • 💾 安全な永続化:token は DSH ストレージ領域(~/.dsh/storages、ディレクトリ 0700)に保存され、Host 再起動時に自動的に接続を復元

  • 🛠 対話で管理:qcc_legal_oauth_connect / qcc_legal_oauth_status / qcc_legal_oauth_disconnect の 3 つのツールを内蔵

  • 🚪 ワンクリック切断:OAuth revoke を呼び出して refresh_token を失効させ、MCP ツールを無効化

  • 🧩 企業データプラグインと共存可能:ツール名、ストレージ領域、エントリ ID が「企查查 MCP OAuth プラグイン」(company/risk/...)と完全に独立しており、同時にインストール可能

Related MCP server: just-one-mcp

インストール / Install

前提:DeepSeek Harness(dsh CLI、web profile)、Node ≥ 20。

🤖 Agent にインストールさせる(最も簡単、コマンドラインに不慣れなユーザーに推奨)

以下のリンクをそのまま DeepSeek Harness の会話に送ってください(まず dshmarket プラグインマーケットで「企查查法律データ」を検索してワンクリックインストールすることを推奨;マーケットからの直接インストールが失敗した場合も、同様にリンクを Agent に送れば代わりにインストールしてくれます):

帮我安装这个插件 https://github.com/duhu2000/qcc-mcp-legal-oauth

Agent はこの README に従って以下のコマンドを実行します(自分で実行しても構いません):

# 方式一:一键脚本(自动安装 + 注册 bundle + 提示重启)
bash <(curl -fsSL https://raw.githubusercontent.com/duhu2000/qcc-mcp-legal-oauth/main/install.sh)

# 方式二:手动两步
dsh plugin --profile web add qcc-dsh-mcp-legal-oauth   # 安装依赖并自动注册 bundle
# 重启 dsh web

注意:インストール時の peer dependencies 警告は無視して構いません——@deepseek-ai/* などのピア依存関係は DSH web profile に組み込まれており(host 依存)、別途インストールする必要はありません。インストール完了後、必ず dsh web を再起動してください。

方法 A:npm インストール

# 1. 安装插件到 profile(声明了 dsh.bundle 的包会被 dsh plugin add 自动注册到 bundles)
dsh plugin --profile web add qcc-dsh-mcp-legal-oauth

# 2. 重启 dsh web

自動登録されない場合:手動で ~/.dsh/profiles/web/package.json の dsh.profile.bundles に追加 "qcc-dsh-mcp-legal-oauth"(@deepseek-ai/dsh-base、@deepseek-ai/dsh-web-app と並列)、その後再起動。

方法 B:GitHub 直接インストール

dsh plugin --profile web add github:duhu2000/qcc-mcp-legal-oauth
# 再重启 dsh web

方法 C:ソースコード / ローカルデバッグ

git clone https://github.com/duhu2000/qcc-mcp-legal-oauth.git
cd qcc-mcp-legal-oauth
dsh plugin --profile web add "link:$(pwd)"      # 或 pnpm add "file:$(pwd)"
# 再重启 dsh web

プラグインパッケージには cordis.patch.yml(bundle patch)が同梱されています。dsh plugin add が依存関係のインストールと bundles 登録を自動的に行い、プラグイン行が自動的にマージされるため、手動でファイルを変更する必要はありません。

使用方法 / Usage

再起動後、プラグインは自動的に OAuth 認可を開始します(デフォルトで有効、アクティブかつ有効な認可がない場合に自動的に企查查認可ページを開きます)。自動的にトリガーされない場合は、会話で以下を入力してください:

あなたの発言

効果

"企查查法律データに接続"

qcc_legal_oauth_connect をトリガー:ブラウザを自動的に開いて企查查認可ページへリダイレクト、ログイン認可後に自動的に接続完了

"企查查法律データの接続状態を確認"

qcc_legal_oauth_status をトリガー:認可状態、token の有効期限、カバーされる MCP Server を表示

"企查查法律データを切断"

qcc_legal_oauth_disconnect をトリガー:refresh_token を失効させ、ローカル認可をクリアし、ツールを無効化

接続成功後、以下のツールが直接利用可能です(例):

  • mcp__legal-regulation__*:regulation_search(法規キーワード検索)、regulation_detail(法規全文)、regulation_detail_article(法条原文)など

  • mcp__legal-case__*:case_search(判例キーワード検索)、case_detail(判例全文文書)など

  • トレーサビリティツール:法規トレーサビリティ / 判例トレーサビリティ(引用検証 + クリック可能なハイパーリンク)

原理 / How it works

《企查查MCP OAuth 接入ドキュメント》(Authorization Code + PKCE、公開インターフェース版)に厳密に従い、企業データ MCP プラグインと同一の認可サーバーを共有します:

  1. MCP Protected Resource Metadata を発見 → 2. OAuth Server Metadata を発見(エンドポイントはすべて動的に読み取り、ハードコードしない)

  2. クライアントを動的登録(client_id、90 日で自動更新)→ 4. 認可ページを開く(scope=mcp:tools)

  3. loopback コールバックで state を検証 → 6. 認可コード + code_verifier で token と交換

  4. token の実際の認可リソース(JWT claim)を解析し、ctx.loader を介して認可された @deepseek-ai/dsh-mcp-client エントリに Bearer header を注入(法規+判例 2 つ / 法規のみ 1 つ)→ 8. 有効期限前に自動更新(ローテーション)

架构与授权流程

詳細は docs/OAUTH-IMPLEMENTATION.md を参照。

ツール一覧と呼び出し例は docs/TOOLS.md を参照。

設定 / Configuration

プラグイン行は ~/.dsh/profiles/web/cordis.patch.yml にあります(bundle マージ後に表示されます):

- id: qcc-legal-mcp-oauth
  name: 'qcc-dsh-mcp-legal-oauth'
  config:
    issuer: 'https://agent.qcc.com'                 # OAuth 授权服务器
    clientName: 'DeepSeek Harness - QCC Legal MCP'  # OAuth 客户端名(授权页展示 + 后台品牌识别依据)
    refreshSkewMs: 300000                            # 过期前提前刷新(ms)
    openBrowser: true                                # 自动打开浏览器(false = 仅打印授权 URL)
    autoConnectOnActivate: true                      # 激活且无授权时自动打开授权页(false = 手动触发)
    persistTokens: true                              # 持久化 token(false = 仅内存)
    mcpEntryPrefix: 'mcp-qcc'                        # 受管 mcp-client 条目 id 前缀(条目:mcp-qcc-legal-regulation / mcp-qcc-legal-case)

clientName について:これは OAuth プロトコルの client_name であり、企查查によって access_token の client_name claim に書き込まれ、バックエンドダッシュボードのブランド識別に使用されます(企查查側は名前からスペース/ハイフン/アンダースコアを削除して小文字に変換し、deepseekharness* プレフィックスでアクティベーションソース deepseekharness に正規化します)。デフォルト値 DeepSeek Harness - QCC Legal MCP はこのプレフィックスに一致します。カスタマイズする場合は、DeepSeek Harness プレフィックスを維持してください。そうしないと、バックエンドで「その他(未登録)」に分類され、ブランドアクティベーションを正しく統計できません。

セキュリティ / Security

  • token は ~/.dsh/storages(0700)にのみ書き込まれ、git には入らず、会話履歴にも入りません

  • 接続中、loader はエントリ設定を profile 設定ファイル(token を含む)に書き戻します。推奨:chmod 600 ~/.dsh/profiles/web/cordis.yml;~/.dsh をリポジトリに追加しないでください

  • Bearer token は認可セット内の正確な resource URL にのみ送信されます

  • 切断時は revoke を呼び出して refresh_token を失効させます

  • 完全に削除する場合:qcc_legal_oauth_disconnect の後、bundles からパッケージ名を削除し、dsh plugin --profile web remove qcc-dsh-mcp-legal-oauth を実行

既知の制限 / Limitations

  • プラグインはデフォルトで 2 つの法律データ SERVER(legal-regulation 法規 / legal-case 判例)を管理します。アカウント token がそのうちの 1 つだけを認可する場合があります。プラグインは token の実際の認可範囲に応じて動的にマウントします(2 つ / 1 つ)

  • 企業データ SERVER(company/risk/ipr/operation/history/executive)は独立した「企查查 MCP OAuth プラグイン」(qcc-dsh-mcp-oauth)によって管理され、本プラグインは重複管理しません。両プラグインは同時にインストール可能です

  • サードパーティプラグインは DSH 設定ページのカードを登録できません(apiproxy allowlist 制限)。管理エントリは対話ツールです

  • コールバックはローカル loopback アドレスを使用し、デスクトップ向けです。SaaS/Web コールバックアドレスは事前に企查查とホワイトリストを確認する必要があります

  • 静的 API Key(Bearer YOUR_API_KEY)による直接接続は企查查の別の直接接続チャネルであり、本プラグインの責務外です。静的 Key が必要な場合は、通常の mcp-client 設定を直接使用してください

開発 / Development

npm install          # 需要 host 依赖时(见 docs/INSTALL.md)
npm run lint         # 语法检查
npm test             # 单元 + 集成测试(含 mock OAuth 服务器全流程)

テストカバレッジ:PKCE、メタデータ発見、動的登録、完全な認可コードフロー(loopback)、refresh ローテーション、revoke、 プラグインレベル統合(接続/冪等性/自動更新/切断/再起動復元/token 認可による動的マウント)。

プラグインマーケット収録と検索キーワード / Marketplace

本プラグインは以下のチャネルで発見・インストールできます:

  1. dsh-plugin topic(公式推奨の発見チャネル):DeepSeek Harness 公式は GitHub の dsh-plugin topic を通じてプラグインを発見することを推奨しており、このリポジトリはその topic を付けています。dsh-plugin-marketplace などのコミュニティマーケットはこれに基づいて自動収録し、検索は GitHub リポジトリ検索(リポジトリ名 / 説明 / topic)で行われ、収録は即時ですが人による審査はありません。

  2. dshmarket(コミュニティプラグインマーケット、人による厳選 + PR ゲート審査):データソースは awesome-dsh-plugin の厳選リストで、リスト内のソースのみインストール可能です。本プラグインは収録 PR(data/plugins/duhu2000__qcc-mcp-legal-oauth.yml)を提出済みで、マージ後は「設定 → プラグインマーケット」で「企查查法律データ」を閲覧・検索し、ワンクリックインストールできます。インストール方法:公式 CLI は dsh plugin add <package> の汎用インストールをサポートしており、dshmarket はこれに基づいて dsh plugin --profile web add dshmarket を提供します。

中国語 / 英語での検索を容易にするため、以下のキーワードをカバーしています:

  • 中国語:企查查、法律产品、法律数据、法规、案例(リポジトリ説明と厳選リストの zh 説明に記載)

  • 英語:qcc、qichacha、legal、law、legal-tech、legal-data、regulation、case(リポジトリ名 / 説明 / topic / npm keywords に記載)

License

MIT

Related MCP Connectors

Related MCP Servers