This MCP server provides Korean NLP capabilities as tools for MCP-compatible AI systems. It supports Korean morphological analysis and spell/grammar correction by calling Bareun from an MCP client. The server is described as part of the Bareun (바른) Korean natural-language platform.
🛠️ Key Features
Korean morphological analysis
Tokenization
Spell checking
Grammar checking
Exposed as an MCP server tool
🚀 Use Cases
Perform Korean morphological analysis inside an MCP-enabled workflow
Apply spell and grammar corrections for Korean text
Integrate with MCP-compatible clients (e.g., Claude, Cursor, VS Code, Claude Desktop)
⚡ Developer Benefits
Tool-based access to Korean NLP via Model Context Protocol (MCP)
Supports correction tasks alongside linguistic analysis
⚠️ Limitations
Source data only specifies morphological analysis and spell/grammar correction; additional capabilities are not described.
바른(Bareun) is a Korean natural-language platform. This is its MCP (Model
Context Protocol) server — it lets any MCP-compatible AI tool (Claude, Cursor,
VS Code, Claude Desktop, …) perform Korean morphological analysis and
spell/grammar correction by calling Bareun as a tool.
Large language models still miss the subtle spacing, particle agreement, and
confusable-word rules of Korean. Plug Bareun in as an MCP tool and your agent can
hand off analysis and proofreading to a dedicated Korean engine, then use the
result to produce more accurate Korean output.
Hosted endpoint:https://api.bareun.ai/mcp
Transport: Streamable HTTP (JSON-RPC 2.0) — no SSE, no extra port, no install
Auth: API key (api-key header or Authorization: Bearer <key>)
The /mcp endpoint is available on the spell-checker–included build of Bareun
(the morphological-analysis-only build does not expose /mcp). The same endpoint
works on self-hosted/on-prem installs — just swap the host.
What it looks like
Spelling & spacing — correct_grammar (real output from https://api.bareun.ai/mcp):
In
회의결과를 정리해서 내일까지 보내주시기 바람니다.
Out
회의 결과를 정리해서 내일까지 보내 주시기 바랍니다.
Every fix comes back as a block, so an agent can explain the edit instead of silently
rewriting the sentence:
Homograph senses — analyze_syntax with with_sense: true (beta): 배 in 배가 아프다
comes back with senseNo: 1 and its dictionary definition — 사람이나 동물의 몸에서 …
가슴과 엉덩이 사이의 부위 (belly, probability 0.87), plus the Urimalsaem entry id — so the
agent knows which 배 it is reading.
Tools
Tool
What it does
Key inputs
analyze_syntax
Splits a sentence into words/morphemes and tags parts of speech (morphological analysis).
text (required), auto_split_sentence, auto_spacing, auto_jointing, custom_dict_names, encoding, format (full|compact), with_sense
analyze_syntax_raw
Same analysis without post-processing (no compound-noun/verb splitting, no auto spacing, no custom dictionaries) — the raw model output.
text (required), auto_split_sentence, encoding, format, with_sense
search_dict
Searches the Urimalsaem Korean dictionary (~1.1M entries) by jamo (phoneme-level) slot patterns — conditions like "verbs whose stem ends in the ㅎ coda" or "words ending in -아지" that cannot be expressed with composed Hangul syllables.
encoding controls the unit for morpheme offsets: utf32 (default, code points
— matches Python), utf16 (JS/Java), utf8 (bytes — Go/C++).
with_sense — homograph sense disambiguation (WSD, beta). Korean writes many
unrelated words identically: 배 can be belly, ship, or pear. Set with_sense: true
on analyze_syntax/analyze_syntax_raw and each content morpheme carries a sense
object — the dictionary sense number, its Korean definition, the Urimalsaem entry id, and
the probability of the chosen sense among that word's candidate senses. It is off by
default (one extra model pass; responses are byte-identical to before when omitted),
and format=compact renders it inline as 배__002/NNG. This feature is in beta and
ships officially with Bareun 3.1.0.
Resources
Resource URI
Contents
Auth
bareun://pos-tags
The 47 POS tags (code · name · class) — same data as list_pos_tags
API key
bareun://server-info
Server metadata — name · version · build · active tools/resources
API key
bareun://custom-dicts
Names of custom-dictionary domains registered for the key
valid API key
Quick start
Tip — register globally. Most tools default to project scope (the server is
only available in one project). To use Bareun across all your projects, register
it at global / user scope as shown below.
Claude Code
bash
# -s user → global: available in every project
claude mcp add -s user --transport http bareun https://api.bareun.ai/mcp \
--header "api-key: YOUR_API_KEY"
Omit -s user for project-local scope. Check with claude mcp get bareun.
All five tools are read-only (readOnlyHint), so listing them in autoApprove is
safe if you would rather not confirm every call.
ChatGPT — Developer Mode
ChatGPT talks to Streamable HTTP servers directly — no directory review needed.
Turn on Developer mode (Settings → Apps & Connectors → Advanced), then Create
a connector:
URL:https://api.bareun.ai/mcp
Authentication:OAuth — Bareun runs its own OAuth 2.1 (PKCE) endpoint, so
ChatGPT opens a login page where you paste your Bareun API key. (ChatGPT's connector
dialog offers OAuth or no-auth; if your build also lets you set request headers, an
api-key header works just as well.)
Menu wording and plan availability shift between ChatGPT releases — Developer mode is
an account-level toggle, and on Business/Enterprise a workspace owner enables it first.
Test with MCP Inspector
bash
npx @modelcontextprotocol/inspector
Set Transport to Streamable HTTP, URL to https://api.bareun.ai/mcp, and
add header api-key: YOUR_API_KEY.
The contents of this repository (documentation, registry manifests, examples) are
released under the MIT License. The Bareun engine itself is a
proprietary service operated by Baikal AI; access is governed by the bareun.ai
terms of service.
Install
Remote endpoint
Streamable HTTP
Hosted server - connect over the network, no local install.