Hangulport

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 3, 2026

Korean NLP via Bareun: morphology, dictionary search, tokenize, and grammar correction.

VerifiedSTDIODesktop only

Overview

Hangulport's local MCP server; no sign-in required; STDIO.

No AI overview yet: these facts come from the registry entry and the server itself.

Installation

In SourceWeft

  1. Open Hangulport in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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

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

Or run the container image:

bash
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

bash
hangulport analyze_syntax "안녕하세요" --auto-spacing --encoding utf8 --format compacthangulport analyze_syntax_raw "안녕하세요" --with-sensehangulport search_dict "ㄱㅏ*" --anchor prefix --limit 5 --with-definitionhangulport tokenize "문장을 나눕니다" --auto-spacinghangulport correct_grammar "띄어쓰기연습" --enable-sentence-checkhangulport 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:

bash
npx -y @reneturcios/hangulport mcp

MCP client configuration:

json
{  "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

bash
npm installnpm 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.

Source: README.md at commit dd7a9dc

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestNov 3, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts