moderate_textLABSCO SUMMARY
The policy lives in your guardrail, not in this server.
Because the guardrail id selects which categories are enabled, the same tool call gives different answers under different policies — which is the right design for moderation, and also means the server tells you nothing about what is being checked. Set the policy in the chakoshi playground first, then read results knowing what was on. It is aimed at Japanese-language safety assessment and is explicitly beta.
What it is
An MCP server that connects a client to the chakoshi API, a guardrail service for LLMs from NTT Docomo Business. One tool submits text and returns chakoshi's assessment as JSON — an unsafe flag and score, plus per-category detection results and keyword-filter matches.
What you get
moderate_text— takes atextstring of up to 2000 characters and returns the assessment from the chakoshi Guardrails Apply API- A structured result rather than a verdict: an unsafe flag and score alongside per-category outcomes such as violence and harassment, each showing whether it was enabled and whether it fired
- Keyword-filter output including whether anything matched, the matches themselves, and a masked version of the input
- Policy control on chakoshi's side, since the guardrail id you configure decides which categories apply
Requirements
A chakoshi account plus two things from it: an API key (CHAKOSHI_API_KEY) and a guardrail id (CHAKOSHI_GUARDRAIL_ID) — the guardrail must be created and its policy configured before the Apply API will work. Also CHAKOSHI_API_URL for the endpoint and CHAKOSHI_TIMEOUT_SEC, shown as 10. Python 3.10 or higher; clone then uv sync or pip install -e ., and launch with uv run main.py. The project is mcp-chakoshi (version 0.1.0). The chakoshi API is in beta and the README says not to use it in production. Documentation is in Japanese. MIT licensed.
Setup effort
Build from source — git clone https://github.com/nttcom/chakoshi-mcp-server.git
USE CASES
Checking content before it goes out
Submit the draft and read the category-level assessment before publishing or sending it.
Screening what users send in
Pass incoming text through the guardrail and act on the unsafe flag and score rather than a single yes or no.
Seeing what a keyword policy caught
Read the matched terms and the masked input to understand exactly which words triggered the filter.
1 tool
Listed in project docs. Your client may show a different list.
BEFORE YOU INSTALL
What to know first
Tools you get
1 tool named in the project's documentation.
Requires
- Python 3.10
- CHAKOSHI_API_KEY in your environment
- CHAKOSHI_GUARDRAIL_ID in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
git clone https://github.com/nttcom/chakoshi-mcp-server.git
cd chakoshi-mcp-server
uv syncCreate a .env file in that directory with CHAKOSHI_API_KEY, CHAKOSHI_API_URL=https://api.beta.chakoshi.ntt.com/v1/guardrails/apply, CHAKOSHI_GUARDRAIL_ID and CHAKOSHI_TIMEOUT_SEC=10 — the API key and guardrail id come from the chakoshi playground's admin screen.
MCP Clients
Claude Desktop
{
"mcpServers": {
"chakoshi-mcp-server": {
"command": "<YOUR_PATH_TO_UV>",
"args": [
"--directory",
"<YOUR_PATH_TO_CHAKOSHI_MCP_SERVER>",
"run",
"main.py"
]
}
}
}The configuration on this page does not set CHAKOSHI_API_KEY and CHAKOSHI_GUARDRAIL_ID; the project's instructions put them in a .env file. Check which folder the server reads that file from before you rely on it.