Babel Licensing MCP Server Data Center
Babel Licensing MCP Server は、Python ベースの Model Context Protocol (MCP)サーバーで、Babel Licensing API のすべての機能をツールとして公開します。これにより、Claude のような AI アシスタントが Babel Licensing システムを直接操作し、ライセンス管理、顧客の操作、製品管理などを実行できます。
MCP とは
Model Context Protocol(MCP)は、AI アシスタントが外部のシステムやデータソースに安全に接続できるようにするオープン標準です。MCP サーバーは AI モデルと業務システムの橋渡しをし、API、データベース、ツールを自然言語で操作できるようにします。
機能
- API の完全な対応:90 を超える Babel Licensing API のエンドポイントすべてを MCP ツールとして公開
- 型安全な構成:自動検証を備えた Pydantic ベースの構成
- 認証のサポート:API キー認証とベアラートークン認証の両方をサポート
- ログの日次ローテーション:
logs/ディレクトリへの自動ログ記録と、日ごとのファイルローテーション - 包括的なツールセット:次のツールが含まれます。
- 認証とユーザー管理
- ライセンスの操作(アクティベート、アクティベーション解除、検証、要求、解放)
- 顧客と連絡先の管理
- 製品と注文の管理
- ライセンステンプレートとトークン
- Webhook とイベントの管理
- レポートとログ記録
- メール通知
- システム設定と構成
要件
- Python 3.10 以降
- Babel Licensing API へのアクセス(ベース URL と資格情報)
- MCP に対応したクライアント(Claude Desktop など)
インストール
クイックスタート
macOS / Linux
- アーカイブを展開し、そのディレクトリに移動します。
unzip babel-licensing-mcp-*.zip
cd babel-licensing-mcp-*- セットアップスクリプトを実行します。
chmod +x setup.sh
./setup.sh- 環境を設定します。
# Edit .env file with your Babel Licensing API credentials
nano .envWindows
-
ZIP アーカイブを展開し、PowerShell でそのディレクトリに移動します。
-
PowerShell スクリプトの実行を有効にします(必要な場合)。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser- セットアップスクリプトを実行します。
.\setup.ps1- 環境を設定します。
# Edit .env file with your Babel Licensing API credentials
notepad .env手動インストール
仮想環境を作成する
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate依存関係をインストールする
pip install -r requirements.txt環境変数を設定する
cp .env.example .env
# Edit .env with your actual credentials構成
サーバーには、次の環境変数が必要です(.env で設定します)。
# Babel Licensing API Base URL
BABEL_API_BASE_URL=https://your-babel-licensing-server.com
# Authentication - Use ONE of the following:
# Option 1: API Key
BABEL_API_KEY=your-api-key-here
# Option 2: Bearer Token
# BABEL_BEARER_TOKEN=your-bearer-token-here
# Optional Configuration
# BABEL_VERIFY_SSL=true # Set to false for self-signed certificates
# BABEL_TIMEOUT=30 # Request timeout in seconds
# BABEL_CONTENT_TYPE=application/json # Content type: application/json or application/toon
# DEBUG=false # Enable debug loggingコンテンツタイプの構成
サーバーは、API 要求で 2 つのコンテンツタイプをサポートしています。
application/json(既定):標準の JSON 形式application/toon:特殊な用途向けの TOON 形式
TOON 形式を使用するには、BABEL_CONTENT_TYPE 環境変数を設定します。
BABEL_CONTENT_TYPE=application/toonクライアントは、すべての API 要求に適切な Content-Type ヘッダーと Accept ヘッダーを自動的に設定します。
使用方法
MCP サーバーの実行
オプション 1:インストールされたコマンドを使用する
babel-licensing-mcpオプション 2:直接実行する
python src/server.pyAI クライアントでの設定
Babel Licensing MCP Server は、Claude Desktop や Claude Code など、MCP に対応した任意の AI クライアントで使用できます。
Claude Desktop での設定
Claude Desktop の構成ファイルに次の内容を追加します。
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
Linux:~/.config/Claude/claude_desktop_config.json
推奨される構成(直接パス)
{
"mcpServers": {
"babel-licensing": {
"command": "/absolute/path/to/babel-licensing-mcp/venv/bin/python",
"args": [
"/absolute/path/to/babel-licensing-mcp/src/server.py"
],
"env": {
"BABEL_API_BASE_URL": "https://your-babel-server.com",
"BABEL_API_KEY": "your-api-key-here"
}
}
}
}実際のパスを使った例(macOS):
{
"mcpServers": {
"babel-licensing": {
"command": "/Users/username/Projects/babel-licensing-mcp/venv/bin/python",
"args": [
"/Users/username/Projects/babel-licensing-mcp/src/server.py"
],
"env": {
"BABEL_API_BASE_URL": "https://api.babel-licensing.com",
"BABEL_API_KEY": "abc123def456"
}
}
}
}実際のパスを使った例(Windows):
{
"mcpServers": {
"babel-licensing": {
"command": "C:\\Users\\username\\Projects\\babel-licensing-mcp\\venv\\Scripts\\python.exe",
"args": [
"C:\\Users\\username\\Projects\\babel-licensing-mcp\\src\\server.py"
],
"env": {
"BABEL_API_BASE_URL": "https://api.babel-licensing.com",
"BABEL_API_KEY": "abc123def456"
}
}
}
}注:/absolute/path/to/ は、プロジェクトディレクトリの実際のパスに置き換えてください。パスは、プロジェクトフォルダーで pwd(macOS/Linux)または cd(Windows)を実行すると確認できます。
代替方法:.env ファイルを使用する
Claude Desktop の構成で環境変数を指定する代わりに、プロジェクトのルートに .env ファイルを作成できます。
# Copy the example file
cp .env.example .env
# Edit with your credentials
BABEL_API_BASE_URL=https://your-babel-server.com
BABEL_API_KEY=your-api-key-hereそのうえで、より簡単な Claude Desktop の構成を使用します。
{
"mcpServers": {
"babel-licensing": {
"command": "/absolute/path/to/babel-licensing-mcp/venv/bin/python",
"args": [
"/absolute/path/to/babel-licensing-mcp/src/server.py"
]
}
}
}構成後の手順:
- Claude Desktop を完全に終了して再起動します。
- 新しい会話を開始します。
- MCP サーバーが接続されていることを示す 🔨 ツールアイコンを探します。
- Claude に「利用できる Babel Licensing のツールは何ですか」と尋ねます。
Claude Code での設定
Claude Code は、開発環境の中で直接 AI による支援を提供する VS Code 拡張機能です。Babel Licensing MCP Server を Claude Code で使用するには、次の手順に従います。
手順 1:Claude Code をインストールする
VS Code のマーケットプレースから Claude Code 拡張機能をインストールします。
- VS Code を開きます。
- 「Extensions」に移動します(macOS では Cmd+Shift+X、Windows/Linux では Ctrl+Shift+X)。
- 「Claude Code」を検索します。
- 「Install」をクリックします。
手順 2:設定に MCP サーバーを追加する
VS Code の設定を開き、MCP サーバーの構成を追加します。
オプション A:ワークスペースの設定(プロジェクト固有の用途に推奨)
ワークスペースの .vscode/settings.json を作成または編集します。
{
"claude.mcpServers": {
"babel-licensing": {
"command": "/absolute/path/to/babel-licensing-mcp/venv/bin/python",
"args": [
"/absolute/path/to/babel-licensing-mcp/src/server.py"
],
"env": {
"BABEL_API_BASE_URL": "https://licensing.example.com",
"BABEL_API_KEY": "your-api-key-here"
}
}
}
}オプション B:ユーザー設定(すべてのワークスペースで使用する場合)
- コマンドパレットを開きます(macOS では Cmd+Shift+P、Windows/Linux では Ctrl+Shift+P)。
- 「Preferences: Open User Settings (JSON)」と入力します。
claude.mcpServersの構成を追加します。
{
"claude.mcpServers": {
"babel-licensing": {
"command": "/Users/username/Projects/babel-licensing-mcp/venv/bin/python",
"args": [
"/Users/username/Projects/babel-licensing-mcp/src/server.py"
],
"env": {
"BABEL_API_BASE_URL": "https://licensing.example.com",
"BABEL_API_KEY": "your-api-key-here"
}
}
}
}手順 3:環境変数を使用する
構成の中で環境変数を参照できます。
{
"claude.mcpServers": {
"babel-licensing": {
"command": "/path/to/babel-licensing-mcp/venv/bin/python",
"args": ["/path/to/babel-licensing-mcp/src/server.py"],
"env": {
"BABEL_API_BASE_URL": "${env:BABEL_URL}",
"BABEL_API_KEY": "${env:BABEL_KEY}"
}
}
}
}次に、VS Code を起動する前に、シェルで環境変数を設定します。
# macOS/Linux
export BABEL_URL="https://licensing.example.com"
export BABEL_KEY="your-api-key-here"
code .
# Windows PowerShell
$env:BABEL_URL = "https://licensing.example.com"
$env:BABEL_KEY = "your-api-key-here"
code .手順 4:.env ファイルを使用する(最も簡単な方法)
MCP サーバーのディレクトリにある .env ファイルに資格情報を設定し、最小限の構成を使用します。
{
"claude.mcpServers": {
"babel-licensing": {
"command": "/path/to/babel-licensing-mcp/venv/bin/python",
"args": ["/path/to/babel-licensing-mcp/src/server.py"]
}
}
}サーバーは .env ファイルから設定を自動的に読み込みます。
手順 5:プラットフォーム別のパスの例
macOS:
{
"claude.mcpServers": {
"babel-licensing": {
"command": "/Users/username/Projects/babel-licensing-mcp/venv/bin/python",
"args": [
"/Users/username/Projects/babel-licensing-mcp/src/server.py"
]
}
}
}Windows:
{
"claude.mcpServers": {
"babel-licensing": {
"command": "C:\\Users\\username\\Projects\\babel-licensing-mcp\\venv\\Scripts\\python.exe",
"args": [
"C:\\Users\\username\\Projects\\babel-licensing-mcp\\src\\server.py"
]
}
}
}Linux:
{
"claude.mcpServers": {
"babel-licensing": {
"command": "/home/username/projects/babel-licensing-mcp/venv/bin/python",
"args": [
"/home/username/projects/babel-licensing-mcp/src/server.py"
]
}
}
}手順 6:相対パスを使用する
ワークスペース固有の構成では、VS Code の変数を使用できます。
{
"claude.mcpServers": {
"babel-licensing": {
"command": "${workspaceFolder}/../babel-licensing-mcp/venv/bin/python",
"args": [
"${workspaceFolder}/../babel-licensing-mcp/src/server.py"
],
"cwd": "${workspaceFolder}/../babel-licensing-mcp"
}
}
}これは、MCP サーバーがワークスペースと同じ階層のディレクトリにある場合に便利です。
手順 7:インストールを検証する
構成が終わったら、VS Code を再読み込みして MCP サーバーを有効にします。
- コマンドパレットを開きます(Cmd+Shift+P / Ctrl+Shift+P)。
- 「Developer: Reload Window」と入力します。
- Enter キーを押します。
サーバーが動作していることを確認するには、次の手順に従います。
- VS Code で Claude のパネルを開きます。
- 新しい会話を開始します。
- 「Babel Licensing についてどのような機能を使えますか」と尋ねます。
- Claude が、利用できる 86 個のツールをすべて一覧表示します。
Claude Code の使い方のヒント:
-
コンテキストを踏まえた依頼:Claude Code は現在のファイルとワークスペースを参照できるため、次のように依頼できます。
- 「このコードを基に、この顧客のライセンスを作成してください」
- 「このファイルにある製品のライセンスアクティベーション呼び出しを生成してください」
-
コード生成:Babel Licensing API を使用するコードの生成を Claude に依頼できます。
- 「これらのパラメーターを使ってライセンスをアクティベートする C# メソッドを書いてください」
- 「アクティブなライセンスをすべて照会する Python スクリプトを作成してください」
-
インラインでの支援:コードを選択して、Claude に次のように依頼できます。
- 「このライセンスキーが有効かどうか確認してください」
- 「このユーザーキーに関連付けられた顧客を探してください」
-
複数ファイルにまたがる操作:Claude は、複数のファイルにまたがるライセンス関連の作業を支援できます。
- 「すべての構成ファイルのライセンスキーを更新してください」
- 「このプロジェクト内にハードコードされたライセンスキーをすべて見つけてください」
Claude Code のトラブルシューティング:
MCP サーバーが接続されない場合は、次の点を確認します。
- 拡張機能の状態を確認する:Claude Code 拡張機能が有効になっていることを確認します。
- Python のパスを検証する:仮想環境のパスが正しいことを確認します。
- ログを確認する:VS Code の「Output」パネルで Claude Code の出力を表示します。
- ウィンドウを再読み込みする:構成を変更した後は、「Developer: Reload Window」を使用します。
- アクセス許可を確認する:Python の実行可能ファイルに実行権限があることを確認します。
複数環境のセットアップ:
複数の Babel Licensing 環境を設定できます。
{
"claude.mcpServers": {
"babel-licensing-prod": {
"command": "/path/to/venv/bin/python",
"args": ["/path/to/src/server.py"],
"env": {
"BABEL_API_BASE_URL": "https://licensing.production.com",
"BABEL_API_KEY": "${env:BABEL_PROD_KEY}"
}
},
"babel-licensing-dev": {
"command": "/path/to/venv/bin/python",
"args": ["/path/to/src/server.py"],
"env": {
"BABEL_API_BASE_URL": "https://licensing.dev.com",
"BABEL_API_KEY": "${env:BABEL_DEV_KEY}"
}
}
}
}これにより、Claude で作業する際に、本番環境と開発環境を切り替えられます。
ログ記録
サーバーは、すべての操作を logs/ ディレクトリの日次ログファイルに自動的に記録します。
- 場所:
logs/babel_licensing_YYYYMMDD.log - 形式:レベルとモジュールの情報を含む、タイムスタンプ付きのログ
- ローテーション:毎日、新しいファイルを自動的に作成
- 出力先:ログはファイルとコンソールの両方に書き込まれます
ログファイルの例:logs/babel_licensing_20251111.log
2025-11-11 10:30:15 - server - INFO - MCP server starting...
2025-11-11 10:30:16 - server - INFO - Babel Licensing client initialized
2025-11-11 10:31:22 - server - INFO - Tool called: babel_get_customers利用可能なツール
サーバーは、次のカテゴリに分類された 86 個のツールを公開します。
注:認証は、環境変数で設定した API キーまたはベアラートークンによって自動的に処理されます。対話的なログイン用のツールは必要ありません。
ライセンス操作(7 個のツール)
babel_activate_license:ライセンスをアクティベートするbabel_deactivate_license:ライセンスのアクティベーションを解除するbabel_request_license:ライセンスを要求するbabel_release_license:ライセンスを解放するbabel_license_heartbeat:ライセンスのハートビートを送信するbabel_validate_license:ライセンスを検証するbabel_get_license_info:ライセンス情報を取得する
管理
API キー(4 個のツール)
babel_get_api_keys:API キーを一覧表示するbabel_insert_api_key:新しい API キーを作成するbabel_update_api_key:API キーを更新するbabel_delete_api_key:API キーを削除する
ユーザー(7 個のツール)
babel_get_users:ユーザーを一覧表示するbabel_insert_user:ユーザーを作成するbabel_update_user:ユーザーを更新するbabel_delete_user:ユーザーを削除するbabel_get_user_roles:ユーザーのロールを取得するbabel_add_user_to_roles:ユーザーをロールに追加するbabel_remove_user_from_roles:ユーザーをロールから削除する
顧客(7 個のツール)
babel_get_customers:顧客を一覧表示するbabel_insert_customer:顧客を作成するbabel_update_customer:顧客を更新するbabel_delete_customer:顧客を削除するbabel_get_customer_contacts:顧客の連絡先を取得するbabel_get_customer_orders:顧客の注文を取得するbabel_get_customer_licenses:顧客のライセンスを取得する
製品(15 個のツール)
- 製品の管理(取得、挿入、更新、削除)
- 製品リリースの管理
- リリースのアセンブリの管理
- リリースのライセンステンプレート
注文(9 個のツール)
- 注文の管理(取得、挿入、更新、削除)
- 注文の製品の管理
- 注文のライセンスの取得
ライセンス(9 個のツール)
- ライセンスの管理(取得、挿入、更新、削除)
- ライセンストークンの管理
- ライセンスのトレース
- ライセンステンプレート
Webhook(9 個のツール)
- Webhook のサブスクリプションの管理
- イベントの種類の取得
- Webhook のテスト
- イベントの管理
その他の管理ツール
- アセンブリ(4 個のツール)
- 連絡先(4 個のツール)
- リソース(4 個のツール)
- レポート(3 個のツール)
- ログ記録(3 個のツール)
- 設定(2 個のツール)
- メール(2 個のツール)
- サーバー情報(1 個のツール)
API の利用
挿入と更新の操作のデータ形式
リソースを作成または更新するツール(babel_insert_ または babel_update_ で始まるツール)を使用すると、クライアントは、Babel Licensing API が必要とする適切な要求形式でデータを自動的にラップします。
指定する必要があるのは生のデータだけです。ラップは自動的に処理されます。
例
新しい顧客の作成:
// You provide:
{
"customer_data": {
"name": "Acme Corporation",
"email": "contact@acme.com"
}
}
// The client automatically wraps it as:
{
"customer": {
"name": "Acme Corporation",
"email": "contact@acme.com"
}
}新しいユーザーの作成:
// You provide:
{
"user_data": {
"userName": "johndoe",
"email": "john@example.com",
"password": "SecureP@ssw0rd"
}
}
// The client automatically wraps it as:
{
"user": {
"userName": "johndoe",
"email": "john@example.com"
},
"password": "SecureP@ssw0rd"
}ライセンスの更新:
// You provide:
{
"license_data": {
"id": 123,
"revoked": false,
"description": "Updated description"
}
}
// The client automatically wraps it as:
{
"license": {
"id": 123,
"revoked": false,
"description": "Updated description"
}
}クエリパラメーター
多くの GET エンドポイントは、次のクエリパラメーターをサポートしています。
select:応答に含めるフィールド名のコンマ区切りリストfilter:.NET 構文を使用するフィルター条件(後述の「フィルター構文」を参照)include:含める関連オブジェクトのコンマ区切りリスト(後述の「include パラメーター」を参照)sort:フィールド名。必要に応じて ‘asc’ または ‘desc’ を付けますtake:ページングの上限(ページサイズ)skip:ページングのオフセット
include パラメーター
include パラメーターを使うと、1 回の要求で関連オブジェクトを取得できます。
重要なルール:
- PascalCase の名前を使用します(先頭が大文字):
Customer、Order、Product(customer、order、productではありません) - 含めるオブジェクトは select にも必ず追加します。両方のパラメーターに指定してください。
- 複数のオブジェクトは、スペースを入れずにコンマで区切ります。
例:
// Correct - Get licenses with customer and order objects
{
"params": {
"select": "id,licenseId,licenseType,createdAt,customerId,orderId,Customer,Order", // Include Customer,Order here
"include": "Customer,Order" // PascalCase, no spaces
}
}
// Wrong - lowercase names
{
"params": {
"select": "id,licenseId,customer,order", // L Lowercase
"include": "customer,order" // L Will fail
}
}
// Wrong - missing from select
{
"params": {
"select": "id,licenseId,licenseType", // L Missing Customer,Order
"include": "Customer,Order" // Objects won't be returned!
}
}include で指定できるオブジェクト:
babel_get_licenses:Product, Order, Customer, Template, Licenseebabel_get_customers:Contacts, Orders, Licensesbabel_get_orders:Customer, Reseller, Products, Licensesbabel_get_products:Releases, Ordersbabel_get_users:Roles, Settings, Customerbabel_get_api_keys:Ownerbabel_get_all_license_tokens:License, NodeLockedLicensebabel_get_license_templates:Product
フィルター構文
API は .NET のフィルター構文を使用します。OData 標準ではありません。
比較演算子:
| 演算子 | 説明 | 例 |
|---|---|---|
>= | 以上 | createdAt >= "2025-11-11T00:00:00" |
<= | 以下 | expireDate <= "2025-12-31T23:59:59" |
> | より大きい | id > 100 |
< | より小さい | id < 1000 |
== | 等しい | revoked == false |
!= | 等しくない | status != "expired" |
論理演算子:
| 演算子 | 説明 | 例 |
|---|---|---|
&& | 論理 AND | revoked == false && expireDate >= "2025-01-01" |
|| | 論理 OR | status == "active" || status == "trial" |
! | 否定(NOT) | !revoked または !licenseType.Contains("Trial") |
文字列関数:
| 関数 | 説明 | 例 |
|---|---|---|
Contains() | 文字列が部分文字列を含むかどうかを確認 | licenseType.Contains("Ultimate") |
StartsWith() | 文字列が部分文字列で始まるかどうかを確認 | userKey.StartsWith("ABC") |
EndsWith() | 文字列が部分文字列で終わるかどうかを確認 | licenseeEmail.EndsWith("@example.com") |
複雑なフィルターの例:
# Active licenses of Ultimate type created after Nov 11
revoked == false && licenseType.Contains("Ultimate") && createdAt >= "2025-11-11T00:00:00"
# Exclude Enterprise licenses
!licenseType.Contains("Enterprise")
# User keys starting with ABC or XYZ
userKey.StartsWith("ABC") || userKey.StartsWith("XYZ")
# Expired licenses excluding trial
expireDate < "2025-01-01T00:00:00" && !licenseType.Contains("Trial")重要:OData 構文(eq、ne、gt、lt、and、or)は使用しないでください。これらは機能しません。
sort パラメーター:
sort パラメーターには、次の値を指定できます。
- 方向付きのフィールド名:
createdAt desc(降順) - 方向付きのフィールド名:
createdAt asc(昇順) - フィールド名のみ:
createdAt(既定は昇順)
完全な例:
{
"params": {
"filter": "revoked == false && licenseType.Contains(\"Ultimate\") && expireDate >= \"2025-01-01T00:00:00\"",
"select": "id,licenseId,userKey,expireDate,licenseType",
"take": 10,
"skip": 0,
"sort": "createdAt desc"
}
}例
ライセンスのアクティベート
Claude に次のように依頼します。
「ユーザーキー ABC-123-DEF、製品コード PROD001、ハードウェア ID HW-12345 でライセンスをアクティベートしてください」
Claude は babel_activate_license ツールを使用します。
{
"tool": "babel_activate_license",
"arguments": {
"license_data": {
"userKey": "ABC-123-DEF",
"productCode": "PROD001",
"hardwareId": "HW-12345"
}
}
}顧客の取得
Claude に次のように依頼します。
「リセラーの顧客を、会社名の順に並べて最初の 10 件表示してください」
Claude は babel_get_customers ツールを使用します。
{
"tool": "babel_get_customers",
"arguments": {
"params": {
"filter": "isReseller == true",
"take": 10,
"sort": "company asc"
}
}
}Webhook のサブスクリプションの作成
Claude に次のように依頼します。
「ライセンスのアクティベーションとアクティベーション解除のイベントについて、https://example.com/webhook を宛先とする Webhook のサブスクリプションを作成してください」
Claude は babel_create_webhook_subscription ツールを使用します。
{
"tool": "babel_create_webhook_subscription",
"arguments": {
"subscription_data": {
"url": "https://example.com/webhook",
"events": ["license.activated", "license.deactivated"],
"isActive": true
}
}
}複雑なクエリの例
Claude に次のように依頼します。
「2025 年 11 月 11 日より後に作成され、失効していない Ultimate ライセンスをすべて、顧客と注文の詳細を含めて、作成日順に並べて表示してください」
Claude は次のようなクエリを組み立てます。
{
"tool": "babel_get_licenses",
"arguments": {
"params": {
"filter": "revoked == false && licenseType.Contains(\"Ultimate\") && createdAt >= \"2025-11-11T00:00:00\"",
"select": "id,licenseId,userKey,expireDate,licenseType,createdAt,Customer,Order",
"include": "Customer,Order",
"sort": "createdAt desc"
}
}
}トラブルシューティング
接続の問題
BABEL_API_BASE_URLが正しいことを確認します。- API キーまたはベアラートークンが有効であることを確認します。
- Babel Licensing サーバーへのネットワーク接続を確認します。
- 詳細なエラーメッセージについては、
logs/ディレクトリのサーバーログを確認します。
SSL 証明書の問題
SSL 証明書の検証エラーが発生する場合(特に自己署名証明書を使用している場合)は、次の手順に従います。
.envファイルまたは環境の構成でBABEL_VERIFY_SSL=falseを設定します。- Claude Desktop の場合は、
envセクションに追加します。{ "mcpServers": { "babel-licensing": { "command": "/path/to/venv/bin/python", "args": ["/path/to/src/server.py"], "env": { "BABEL_API_BASE_URL": "https://your-server.com", "BABEL_API_KEY": "your-key", "BABEL_VERIFY_SSL": "false" } } } }
セキュリティに関する注:SSL 検証を無効にするのは、自己署名証明書を使用する信頼できる内部サーバーの場合だけにしてください。本番システムやパブリック API では決して無効にしないでください。
認証エラー
- 認証方法を 1 つだけ使用していることを確認します(API キーまたはベアラートークンのどちらか)。
- 資格情報の期限が切れていないことを確認します。
- API キーに必要な権限があることを確認します。
ツールの実行エラー
- 使用しているツールの入力スキーマを確認します。
- 必須のパラメーターがすべて指定されていることを確認します。
- パラメーターの型がスキーマと一致していることを確認します。
- 具体的なエラーメッセージについては、API の応答を確認します。
babel_get_logs によるトークンの飽和
babel_get_logs ツールは、特に exception フィールドと properties フィールドを含める場合に、非常に大量のデータを返すことがあります。その結果、会話で利用できる AI のトークンを使い切ってしまう可能性があります。
フィールド選択のガイドライン:
exceptionとproperties:非常に大量のデータを含むことがあるため、多数のレコードを要求する場合は避けますmessageTemplate:書式設定用のテンプレートを含むだけなので、必須ではありません。実際の情報はmessageに含まれます- 推奨フィールド:
id、message、level、timeStamp
ベストプラクティス:
-
selectのフィールドを絞り込む:特に必要な場合を除き、exception、properties、messageTemplateを含めないようにします。# Good - excludes large/unnecessary fields { "params": { "select": "id,message,level,timeStamp", "take": 50 } } # Risky - includes large fields { "params": { "select": "id,message,level,timeStamp,exception,properties", "take": 50 # May saturate tokens } } -
ページングを適切に使用する:
exceptionまたはpropertiesを含める場合は、takeに小さい値(最大 10 から 20 レコード)を使用します。 -
取得前にフィルターをかける:
filterパラメーターを使用して、取得前にレコード数を減らします。
API ドキュメント
Babel Licensing API のエンドポイント、パラメーター、応答の詳細については、MCP サーバーのパッケージに含まれている OpenAPI 仕様ファイル babel-licensing-api.json を参照してください。
サポート
問題や質問がある場合は、support@babelfor.net までお問い合わせください。
関連リソース
バージョン履歴
- 0.1.0(初回リリース)
- Babel Licensing API のすべてのエンドポイントを完全に実装
- 認証、ライセンス操作、管理機能をサポート
- 包括的なテストスイート
- 完全なドキュメント