Skip to main content
Glama
nttcom

chakoshi MCP Server

Official
by nttcom

chakoshi MCP Server

MCPクライアントアプリケーションと、chakoshi API を連携するMCP (Model Context Protocol) サーバーです。

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

chakoshiとは

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

chakoshi 製品ページ

chakoshi 技術詳細

chakoshi ドキュメントサイト

Related MCP server: RAIL Score MCP Server

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

本リポジトリの構成


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のプレイグラウンドにアクセスし、画面に従って新規登録フローを進めてください。

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

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

ガードレールの作成

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

ポリシー設定とガードレールIDの発行手順については、クイックスタート ガードレールの作成を参照してください。

必要要件

  • Python 3.10 以上

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

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

インストール

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


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

cd chakoshi-mcp-server

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


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


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


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

uv sync


# pip を使用する場合

pip install -e .

3. 環境変数の設定

.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)に以下を追加:


{

"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 フィールドを抽出して返します。

{
  "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キーのレート制限などについては公式ドキュメントを参照してください。

ライセンス

MIT

Available Tools

1 tool
moderate_textC

Check if a text is safe using chakoshi Guardrails Apply API

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to check (max 2000 characters)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It does not disclose whether the operation is read-only, what constitutes 'safe', or any side effects. Only states it 'checks'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no unnecessary words. Efficiently conveys the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no output schema, description lacks information about the response format, meaning of 'safe', and error handling. Incomplete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameter descriptions. Description does not add meaning beyond the schema, which is adequate but not enhanced.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool checks text safety using a specific API. No sibling tools to differentiate, but purpose is distinct and actionable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. While no siblings exist, description does not include any usage context or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev0.1.0
    • First observedmoderate_text

TDQS

B3.2/5.0
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
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for AI agent security guardrails. Provides input validation, prompt injection detection, PII redaction, output filtering, policy enforcement, rate limiting, and comprehensive audit logging.
    76
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Provides advisory AI-governance checks for MCP hosts and coding agents, enabling policy verdicts, PII masking, and audit traces before executing tool calls.
    3
    100
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nttcom/chakoshi-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server