About Bhasini Indic Languages
Bhasini is a browser-based typing editor for speakers of Indian languages, supporting 22 scheduled Indian languages and English. It offers transliteration, dictation, and text conversion, with typing handled locally in the browser.
Key features
- 01Phonetic typing for 22 Indian languages
- 02InScript keyboard layouts
- 03Switch between an Indian language and English
- 04Convert between Indian scripts and romanized text
- 05Dictate using browser speech recognition
- 06Open and save TXT, DOCX, and HTML
Use cases
- 01Type Indian-language text using Latin letters
- 02Convert text between Indian scripts
- 03Draft content with browser speech recognition
- 04Open and save text files in the editor
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://mcp.bhasini.com/mcpclaude mcp add --transport http codegres-com-bhasini https://mcp.bhasini.com/mcp{"mcpServers":{"codegres-com-bhasini":{"type":"http","url":"https://mcp.bhasini.com/mcp"}}}Open in Cursor{"servers":{"codegres-com-bhasini":{"type":"http","url":"https://mcp.bhasini.com/mcp"}}}Open in VS Code{"mcpServers":{"codegres-com-bhasini":{"type":"http","url":"https://mcp.bhasini.com/mcp"}}}{"mcpServers":{"codegres-com-bhasini":{"serverUrl":"https://mcp.bhasini.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEBhasini (भाषिणी)
A multilingual Indic typing editor for all 22 scheduled languages of India, built with Blazor WebAssembly. Everything runs in the browser; no server round-trips while you type.
It grew out of the Kannada Nudi web editor (KannadaNudiEditor/KannadaNudiWeb) and keeps its
shape: a Quill rich-text editor whose keystrokes are transliterated by a C# engine.
Languages
| Language | Script |
|---|---|
| Assamese | Bengali-Assamese (ৰ, ৱ) |
| Bengali | Bengali |
| Bodo | Devanagari |
| Dogri | Devanagari |
| Gujarati | Gujarati |
| Hindi | Devanagari |
| Kannada | Kannada |
| Kashmiri | Perso-Arabic (RTL), also Devanagari |
| Konkani | Devanagari |
| Maithili | Devanagari |
| Malayalam | Malayalam (chillus, Mozhi-style keys) |
| Manipuri | Meetei Mayek (lonsum letters), also Bengali |
| Marathi | Devanagari (ळ) |
| Nepali | Devanagari |
| Odia | Odia |
| Punjabi | Gurmukhi (tippi, bindi, addak) |
| Sanskrit | Devanagari |
| Santali | Ol Chiki |
| Sindhi | Perso-Arabic (RTL), also Devanagari |
| Tamil | Tamil (ந/ன by context, ற, ழ) |
| Telugu | Telugu |
| Urdu | Perso-Arabic, Nastaliq (RTL) |
Plus English (no transliteration).
Features
- Phonetic typing: type how it sounds (
namaste→ नमस्ते,vaNakkam→ வணக்கம்,aadaab→ آداب). ITRANS/Baraha-style keys: capitals for retroflex/long sounds (T D N L Sh A I U E O),Manusvara,Hvisarga,.hexplicit virama,_to stop letters joining,|/||danda. - InScript: the government-standard layout for every Brahmic script.
- F9 switches between the selected language and English.
- Key map panel for the current language and method. Tap a letter to insert it, which also helps on phones.
- Native digits toggle (१२३, ௧௨௩, ۱۲۳, …).
- Convert: rewrite text from one Indian script to another, or turn romanised text into script.
- Dictation through the browser's speech recognition (Chrome and Edge, where the locale is supported).
- Open
.txt/.docx, save as.docx,.txtor.html. Settings are remembered per browser.
How it works
src/Bhasini.Core has no web dependencies:
Input/BrahmicPhoneticEngineturns Latin keys into Devanagari, with a per-languagePhoneticProfile(Dravidian short e/o, word-final virama, Tamil nasals, local key conventions).Scripts/OffsetScriptMappermaps Devanagari into each ISCII-derived Unicode block by offset. Letters a script lacks fall back to the nearest letter. Script-specific spelling rules (Malayalam chillus, Gurmukhi tippi/addak, Bengali য়) run as post-processing.Scripts/MeeteiMayekMapperhandles Meetei Mayek.Input/SequenceEnginehandles the alphabetic scripts (Perso-Arabic with word-initial/final forms, and Ol Chiki).Input/TypingSessionkeeps the Latin keys of the current word and re-renders the whole word on every key, returning a minimal{ delete, insert }edit for the editor.
src/Bhasini.Web is the Blazor WebAssembly app. wwwroot/js/editor.js intercepts keys in Quill
and calls the session synchronously.
Run
Requires the .NET 8 SDK.
dotnet run --project src/Bhasini.Web
dotnet test
Docker (nginx serving the published static files on port 5000):
docker build -t bhasini .
Script fonts come from Google Fonts (Noto). When offline, the editor falls back to system fonts such as Nirmala UI on Windows.
Support Bhasini
Bhasini is free to use. If it helps you, please consider sponsoring its development:
Windows app
BhasiniWindows/ packages Bhasini as a Windows desktop app and Microsoft Store AppX.
It adds Global mode: press F9 to type the selected Indian language in any application.
License
MIT © Codegres
Comments
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.