hangulport について
hangulportは、ホスト型Bareun韓国語NLPサービス向けのコマンドラインクライアント兼stdio MCPサーバーです。形態素解析、辞書検索、トークン分割、スペルと空白の修正を上流API経由で提供します。
主な機能
- 01品詞タグ付き形態素解析
- 02形態素モデルの生出力
- 03Urimalsaem辞書検索
- 04文のトークン分割
- 05スペルと空白の修正
- 06上流の品詞タグ一覧
活用シーン
- 01韓国語テキストと語形の解析
- 02ハングル字母パターンによる語句検索
- 03韓国語の文を単語単位に分割
- 04スペルと空白の修正
MCP 対応
stdio MCPサーバーがBareun NLPの操作をツールとして公開し、ホスト型サービスへ呼び出しを転送します。利用にはBareun APIキーが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| text | string | はい | 解析する韓国語テキスト。 |
| format | enum | いいえ | 出力形式:full または compact。full | compact |
| encoding | enum | いいえ | 解析に使用するテキストエンコーディング:utf32、utf16、または utf8。utf32 | utf16 | utf8 |
| with_sense | boolean | いいえ | true の場合、結果に語義情報を含めます。 |
| auto_spacing | boolean | いいえ | true の場合、解析前に自動でスペースを補正します。 |
| auto_jointing | boolean | いいえ | true の場合、解析前に分離したハングル字母を自動で結合します。 |
| custom_dict_names | array | いいえ | 解析時に適用するカスタム辞書の名前。 |
| auto_split_sentence | boolean | いいえ | true の場合、解析前にテキストを自動で文に分割します。 |
詳細
hangulport
hangulport は、ホスト型の Bareun 韓国語 NLP サービス用クライアントです。品詞タグ付けを伴う形態素解析、生の形態素モデル出力、子音・母音のスロットパターンによるUrimalsaem辞書検索、文のトークン化、スペルとスペースの修正、およびサービスの品詞タグ一覧を提供します。1つのバイナリで、コマンドラインインターフェースとstdio MCPサーバーの両方を提供します。どちらもすべての呼び出しをホスト型エンドポイントに転送します。
APIキーが必要です。Bareunのキーを BAREUN_API_KEY に設定してください。このキーは api-key ヘッダーとしてエンドポイントに送信され、それ以外には送信されません。呼び出し先は、BAREUN_MCP_URL でエンドポイントを上書きしない限り、https://api.bareun.ai/mcp です。キーが設定されていない場合、BAREUN_API_KEY を示すエラーが返されます。ローカルで結果を捏造することはありません。list_pos_tags が返す47個の品詞タグは上流サービスから提供されるもので、ここではハードコードされていません。
インストール
npx @reneturcios/hangulport tokenize "안녕하세요"
または、コンテナイメージを実行します。
docker run -i ghcr.io/cloudcorprecords/hangulport
コンテナはデフォルトでMCPサーバーとして動作します(以下を参照)。CLIとして使用するには、引数を渡してください。どちらの方法でも、環境変数に BAREUN_API_KEY が必要です(Dockerの場合は -e BAREUN_API_KEY=... を追加してください)。
CLI
hangulport analyze_syntax "안녕하세요" --auto-spacing --encoding utf8 --format compact
hangulport analyze_syntax_raw "안녕하세요" --with-sense
hangulport search_dict "ㄱㅏ*" --anchor prefix --limit 5 --with-definition
hangulport tokenize "문장을 나눕니다" --auto-spacing
hangulport correct_grammar "띄어쓰기연습" --enable-sentence-check
hangulport list_pos_tags
hangulport --version
各サブコマンドの名前は、呼び出すMCPツールに対応しています。最初の引数は必須のテキスト(または辞書パターン)です。残りのフラグは、ツールの省略可能な入力に1対1で対応します。ブール値フラグに値は不要です。フラグを渡すとtrueに設定され、省略すると何も転送されません。このクライアントが独自のデフォルト値を挿入することはありません。--custom-dict-names には、カンマ区切りのリストを指定します。コマンドは上流サービスの結果テキストを出力します。終了コードは、成功時は 0、呼び出し失敗時(キー未設定や上流エラーを含む)は 1、使用方法のエラー時は 2 です。
MCP サーバー
1つのバイナリで両方のインターフェースを提供します。mcp サブコマンドでstdio MCPサーバーを起動します。
npx -y @reneturcios/hangulport mcp
MCP クライアントの設定:
{
"mcpServers": {
"hangulport": {
"command": "npx",
"args": ["-y", "@reneturcios/hangulport", "mcp"],
"env": { "BAREUN_API_KEY": "your-key" }
}
}
}
サーバーの接続先を別のBareun互換ホストに変更するには、このサーバーのクライアント設定にある env に BAREUN_MCP_URL を追加してください。
ツール
| ツール | 入力 | 戻り値 |
|---|---|---|
analyze_syntax | text(必須);省略可能な auto_split_sentence、auto_spacing、auto_jointing、custom_dict_names、encoding(utf32/utf16/utf8)、format(full/compact)、with_sense | 品詞タグ付けを伴う形態素解析。 |
analyze_syntax_raw | text(必須);省略可能な auto_split_sentence、encoding、format、with_sense | 後処理なしの、生の形態素モデル出力。 |
search_dict | pattern(必須);省略可能な anchor(word/prefix/suffix/contains)、pos、std_only、with_definition、limit、count_only | 子音・母音のスロットパターンに一致するUrimalsaem辞書の項目。 |
tokenize | text(必須);省略可能な auto_spacing、encoding | 文を単語単位に分割した結果。 |
correct_grammar | text(必須);省略可能な custom_dict_names と、9つのブール値修正オプション(treat_as_title、disable_split_sentence、disable_caret_spacing、disable_vx_spacing、enable_limited_punctuation、disable_confusion、enable_cleanup_whitespace、disable_typo_correction、enable_sentence_check) | スペル/スペースの修正ブロック。 |
list_pos_tags | (なし) | 上流サービスから提供されるBareunの47個の品詞タグ。 |
開発
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev # run the CLI from source via tsx
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。