Skip to main content
Glama

hangulport

hangulport is a client for the hosted Bareun Korean NLP service. It exposes morphological analysis with part-of-speech tagging, the raw morphological model output, Urimalsaem dictionary search by jamo slot pattern, sentence tokenization, spelling and spacing correction, and the service's part-of-speech tag list. One binary serves a command-line interface and a stdio MCP server; both forward every call to the hosted endpoint.

An API key is required. Set BAREUN_API_KEY to your Bareun key; it is sent to the endpoint as the api-key header and nowhere else. Calls go to https://api.bareun.ai/mcp unless BAREUN_MCP_URL overrides the endpoint. When the key is missing, calls fail with an error naming BAREUN_API_KEY — no result is invented locally. The 47 POS tags behind list_pos_tags are served by the upstream; they are not hardcoded here.

Install

npx @reneturcios/hangulport tokenize "안녕하세요"

Or run the container image:

docker run -i ghcr.io/cloudcorprecords/hangulport

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead. Both forms need BAREUN_API_KEY in the environment (for Docker, add -e BAREUN_API_KEY=...).

Related MCP server: mcp-korean-spell

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

Each subcommand is named after the MCP tool it calls. The first argument is the required text (or dictionary pattern); the remaining flags map one-to-one onto the tool's optional inputs. Boolean flags take no value: passing the flag sets it true, and omitting it forwards nothing — this client injects no defaults of its own. --custom-dict-names takes a comma-separated list. Commands print the upstream result text. Exit codes: 0 on success, 1 when a call fails (including a missing key or an upstream error), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

npx -y @reneturcios/hangulport mcp

MCP client configuration:

{
  "mcpServers": {
    "hangulport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/hangulport", "mcp"],
      "env": { "BAREUN_API_KEY": "your-key" }
    }
  }
}

To point the server at a different Bareun-compatible host, add BAREUN_MCP_URL to the client's env for this server.

Tools

Tool

Input

What it returns

analyze_syntax

text (required); optional auto_split_sentence, auto_spacing, auto_jointing, custom_dict_names, encoding (utf32/utf16/utf8), format (full/compact), with_sense

Morphological analysis with POS tagging.

analyze_syntax_raw

text (required); optional auto_split_sentence, encoding, format, with_sense

Raw morphological model output, no post-processing.

search_dict

pattern (required); optional anchor (word/prefix/suffix/contains), pos, std_only, with_definition, limit, count_only

Urimalsaem dictionary matches for a jamo slot pattern.

tokenize

text (required); optional auto_spacing, encoding

The sentence split into word units.

correct_grammar

text (required); optional custom_dict_names and nine boolean correction options (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)

Spelling/spacing correction blocks.

list_pos_tags

(none)

The 47 Bareun POS tags, as served upstream.

Development

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

License

MIT — see LICENSE.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • -
      license
      Not graded
      quality
      Not graded
      maintenance
      Enables searching and retrieving Korean legal information including laws, court precedents, legal interpretations, and local ordinances from the Korean National Law Information Center API with intelligent search ranking.
      -
    • A
      license
      A
      quality
      B
      maintenance
      Enables natural language search and retrieval of Korean laws, precedents, administrative rules, and legal terms, with deep legal chain analysis and full-text access. Supports stdio and streamable-http transports for local and remote deployment.
      10
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Bareun (바른) is a Korean natural-language engine. This MCP server lets any MCP-compatible client hand Korean text to a dedicated Korean engine instead of guessing: analyze_syntax (morphological analysis with 47 POS tags and beta homograph sense disambiguation), analyze_syntax_raw (raw model output), tokenize, correct_grammar (spelling and spacing correction), and list_pos_tags. Hosted at https://ap
      MIT