Skip to main content
Glama
nttcom

chakoshi MCP Server

Official
by nttcom
README.md
# chakoshi MCP Server

  

MCPクライアントアプリケーションと、[chakoshi API](https://chakoshi.ntt.com) を連携するMCP (Model Context Protocol) サーバーです。

Claude Desktop などからchakoshiのAPIを利用して、テキストの安全性判定を実行できます。

  

## chakoshiとは

  

chakoshiとは、NTT ドコモビジネスが提供するLLM向けのガードレールです。詳細は以下をご覧ください。

[chakoshi 製品ページ](https://chakoshi.ntt.com)

[chakoshi 技術詳細](https://www.anlp.jp/proceedings/annual_meeting/2025/pdf_dir/P7-7.pdf)

[chakoshi ドキュメントサイト](https://docs.chakoshi.ntt.com)

  

## リポジトリに含まれるツール

### 本リポジトリの構成

```

chakoshi-mcp-server/

├── main.py # エントリポイント

├── chakoshi_server/

│ ├── __init__.py

│ ├── config.py # 環境変数の管理

│ └── server.py # MCP サーバーの実装部分

├── pyproject.toml # プロジェクト設定

└── .env # 環境変数(要作成)

```

### moderate_text

 
テキストコンテンツをchakoshiのガードレールでチェックするツールです。

  

**入力パラメータ:**

-  `text` (string, 必須): チェックしたいテキスト(最大2000文字)

  

**出力:**

- chakoshi Guardrails Apply API からのアセスメント結果をJSON形式で返します

  

**使用プロンプト例:**

```

chakoshi を使ってこのテキストをチェックしてください: "問題のあるコンテンツの例"

```

  

## chakoshi API の設定

  
### API キーの取得
1. [chakoshiのプレイグラウンド](https://platform.beta.chakoshi.ntt.com/playground)にアクセスし、画面に従って新規登録フローを進めてください。

2. 新規登録、およびログイン完了後、プレイグラウンドの設定をクリックします。

3. その後、設定画面からAPIキーを新規に発行します。

  

### ガードレールの作成
chakoshiのGuardrails Apply API を利用するためには、ポリシー設定をあらかじめ完了してガードレールIDを発行している必要があります。

ポリシー設定とガードレールIDの発行手順については、[クイックスタート ガードレールの作成](https://docs.chakoshi.ntt.com)を参照してください。


## 必要要件

  

- Python 3.10 以上

- chakoshi のユーザ登録、APIキー、およびガードレールID

- MCPクライアントアプリケーション (Claude Desktopなど)

  

## インストール

  

### 1. リポジトリのクローン

  

```bash

git clone https://github.com/nttcom/chakoshi-mcp-server.git

cd chakoshi-mcp-server

```

  

### 2. 依存関係のインストール

  

```bash

# uvのインストール
curl -LsSfhttps://astral.sh/uv/install.sh | sh


# PATHの設定
source $HOME/.local/bin/env


# uv を使用する場合(推奨)

uv sync


# pip を使用する場合

pip install -e .

```

  

### 3. 環境変数の設定

  

`.env` ファイルを作成し、以下の環境変数を設定してください:

  

```env

CHAKOSHI_API_KEY=your_chakoshi_api_key

CHAKOSHI_API_URL=https://api.beta.chakoshi.ntt.com/v1/guardrails/apply

CHAKOSHI_GUARDRAIL_ID=your_guardrail_id

CHAKOSHI_TIMEOUT_SEC=10

```

  

**注意**: 実際の APIキーとガードレールID はchakoshiプレイグラウンドの管理画面から取得してください。

  

## 使用方法

### サーバの起動
```
uv run main.py
```



### Claude Desktop との連携

  

Claude Desktop の設定ファイル(`claude_desktop_config.json`)に以下を追加:

  

```json

{

"mcpServers": {

"command": "/PATH_to_uv/uv",
        "args": [
          "--directory",
          "/PATH_to_chakoshi/chakoshi-mcp-server",
          "run",
          "main.py"
        ]
}

}

```

  

その後、Claude Desktop 内で以下のように使用できます:

  

```

chakoshiを使ってこのテキストをチェックしてください:「問題のあるコンテンツの例」

```

  

Claude が自動的に `moderate_text` ツールを使用してモデレーション結果を返します。

  

## API レスポンス例

Guardrails Apply API のレスポンスから `assessments` フィールドを抽出して返します。

```json
{
  "guardrails": ["moderation", "keyword_filter"],
  "user_input": "チェック対象のテキスト",
  "guardrails_result": {
    "moderation": {
      "unsafe_flag": false,
      "unsafe_score": 0.05,
      "categories": {
        "violence": {
          "enabled": true,
          "detected": false
        },
        "harassment": {
          "enabled": true,
          "detected": false
        }
      }
    },
    "keyword_filter": {
      "matched": false,
      "matches": [],
      "original_text": "チェック対象のテキスト",
      "masked_input": "チェック対象のテキスト"
    }
  }
}
```
  

## 注意事項


- chakoshi API は現在ベータ版です。本番環境などでは使用しないでください。

- APIキーは適切に管理し、決して公開しないでください。

- APIキーのレート制限などについては[公式ドキュメント](https://docs.chakoshi.ntt.com)を参照してください。


## ライセンス
MIT

TDQS

B3.2/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlapping purposes.

Naming Consistency5/5

A single tool cannot violate naming consistency; it is inherently consistent.

Tool Count3/5

One tool is borderline for a moderation server; it may serve a narrow use case but feels thin for broader content safety needs.

Completeness2/5

The server only provides a single text moderation check, lacking other common operations like batch processing, severity levels, or content type differentiation.

Maintenance

ActivityInactive
ResponsivenessNo issues