mcpField
H
hangulport

hangulport

Local
github.com/CloudCorpRecordsScience & Education0Updated 1w ago

About hangulport

hangulport is a CLI and stdio MCP server client for the hosted Bareun Korean NLP service. It provides Korean morphology, dictionary search, tokenization, and spelling and spacing correction through the upstream API.

Key features

  1. 01Morphological analysis with POS tags
  2. 02Raw morphology model output
  3. 03Urimalsaem dictionary search
  4. 04Sentence tokenization
  5. 05Spelling and spacing correction
  6. 06Upstream POS tag listing

Use cases

  1. 01Analyze Korean text and word forms
  2. 02Look up entries using jamo patterns
  3. 03Split Korean sentences into word units
  4. 04Correct spelling and spacing

MCP support

A stdio MCP server exposes Bareun NLP operations as tools and forwards calls to the hosted service. A Bareun API key is required.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"cloudcorprecords-hangulport": {
"command": "npx",
"args": [
"-y",
"@reneturcios/hangulport"
]
}
}
}
Run commandnpx -y @reneturcios/hangulport

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@reneturcios/hangulport0.1.0
ocighcr.io/cloudcorprecords/hangulport:0.1.0

Tools

6

Saved tool list · updated 1w ago

ParameterTypeRequiredDescription
textstringYesKorean text to analyze.
formatenumNoOutput format: full or compact.full | compact
encodingenumNoText encoding for the analysis: utf32, utf16, or utf8.utf32 | utf16 | utf8
with_sensebooleanNoWhen true, include word-sense information in the result.
auto_spacingbooleanNoWhen true, apply automatic spacing correction before analysis.
auto_jointingbooleanNoWhen true, join separated jamo automatically before analysis.
custom_dict_namesarrayNoNames of custom dictionaries to apply during analysis.
auto_split_sentencebooleanNoWhen true, split the text into sentences automatically before analysis.

Details

From the project README

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=...).

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
ToolInputWhat it returns
analyze_syntaxtext (required); optional auto_split_sentence, auto_spacing, auto_jointing, custom_dict_names, encoding (utf32/utf16/utf8), format (full/compact), with_senseMorphological analysis with POS tagging.
analyze_syntax_rawtext (required); optional auto_split_sentence, encoding, format, with_senseRaw morphological model output, no post-processing.
search_dictpattern (required); optional anchor (word/prefix/suffix/contains), pos, std_only, with_definition, limit, count_onlyUrimalsaem dictionary matches for a jamo slot pattern.
tokenizetext (required); optional auto_spacing, encodingThe sentence split into word units.
correct_grammartext (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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.