Swedish Language Learning MCP Server
# Swedish Language Learning MCP Server πΈπͺ
[](https://opensource.org/licenses/MIT)
[](https://www.typescriptlang.org/)
[](https://modelcontextprotocol.io/)
An MCP (Model Context Protocol) server for learning Swedish language, providing tools for vocabulary, grammar, translations, and practice exercises. Perfect for integration with AI assistants like Claude, VS Code Copilot, and other MCP-compatible clients.
## Features
### π€ Translation Tool
- Translate between Swedish and English
- Auto-detect source language
- Extensive vocabulary database
### π Vocabulary Tools
- 100+ common Swedish words and phrases
- Categories: greetings, verbs, nouns, adjectives, numbers, colors, animals
- Searchable vocabulary database
### π Grammar Help
- Noun gender (en-words and ett-words)
- Definite forms
- Word order (V2 rule)
- Pronunciation guide (Γ₯, Γ€, ΓΆ, sje-sound)
- Present tense verbs
### π¬ Common Phrases
- Greetings and introductions
- Everyday phrases
- Food and dining phrases
- Includes pronunciation guides
### βοΈ Practice Exercises
- Translation exercises
- Vocabulary matching
- Grammar drills
- Multiple difficulty levels
## Installation
### Prerequisites
- Node.js 18+ and npm
### Quick Start
1. Clone the repository:
```bash
git clone https://github.com/YOUR_USERNAME/swedish-language-mcp-server.git
cd swedish-language-mcp-server
```
2. Install dependencies:
```bash
npm install
```
3. Build the server:
```bash
npm run build
```
## Usage
### Configuration
Add this server to your MCP client configuration. For VS Code, add to `.vscode/mcp.json`:
```json
{
"servers": {
"swedish-language": {
"type": "stdio",
"command": "node",
"args": [
"/absolute/path/to/swedish-language-mcp-server/build/index.js"
]
}
}
}
```
For Claude Desktop, add to your MCP settings file:
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"swedish-language": {
"command": "node",
"args": [
"/absolute/path/to/swedish-language-mcp-server/build/index.js"
]
}
}
}
```
### Running the Server
The server is configured to run via the MCP configuration. Once built, it will be available through your MCP client.
### Available Tools
1. **translate_swedish** - Translate words/phrases between Swedish and English
2. **get_vocabulary** - Browse Swedish vocabulary by category
3. **grammar_help** - Learn Swedish grammar rules
4. **common_phrases** - Get common Swedish phrases with pronunciation
5. **practice_exercise** - Generate practice exercises
6. **ask_swedish** - Ask questions in natural language (perfect for voice input!)
## Tool Examples
### Translate a word
```json
{
"tool": "translate_swedish",
"arguments": {
"text": "fΓ₯r",
"from": "swedish"
}
}
```
### Get vocabulary
```json
{
"tool": "get_vocabulary",
"arguments": {
"search": "cat"
}
}
```
### Learn grammar
```json
{
"tool": "grammar_help",
"arguments": {
"topic": "noun-gender"
}
}
```
### Practice
```json
{
"tool": "practice_exercise",
"arguments": {
"type": "translation",
"difficulty": "beginner"
}
}
```
### Natural Language Questions (Voice-Friendly)
```json
{
"tool": "ask_swedish",
"arguments": {
"question": "How do you say good morning in Swedish?"
}
}
```
## Features in Detail
### π€ Comprehensive Vocabulary
- 100+ common Swedish words and phrases
- Categories: greetings, verbs, nouns, adjectives, numbers, colors, animals
- Searchable database with English translations
### π Grammar Explanations
- Noun gender (en-words and ett-words)
- Definite forms and articles
- Word order (V2 rule)
- Pronunciation guide (Γ₯, Γ€, ΓΆ, sje-sound)
- Present tense verb conjugations
### π¬ Common Phrases
- Greetings and introductions
- Everyday conversational phrases
- Food and dining expressions
- Complete with pronunciation guides
### βοΈ Interactive Practice
- Translation exercises
- Vocabulary matching games
- Grammar drills
- Multiple difficulty levels
### π€ Voice Input Support
- Natural language processing
- Conversational query understanding
- Optimized for spoken questions
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
### Development Setup
1. Fork the repository
2. Create your feature branch: `git checkout -b feature/amazing-feature`
3. Make your changes
4. Build and test: `npm run build`
5. Commit your changes: `git commit -m 'Add amazing feature'`
6. Push to the branch: `git push origin feature/amazing-feature`
7. Open a Pull Request
### Adding New Vocabulary
To add new vocabulary, edit the `vocabularyDatabase` object in `index.ts`:
```typescript
const vocabularyDatabase = {
common: {
"swedish_word": "english_translation",
// Add more words here
}
};
```
## Roadmap
- [ ] Add more verb conjugations
- [ ] Expand vocabulary to 500+ words
- [ ] Add audio pronunciation support
- [ ] Implement spaced repetition exercises
- [ ] Add Swedish-to-English quiz mode
- [ ] Support for advanced grammar topics
## Resources
- [Swedish Language Overview](https://en.wikipedia.org/wiki/Swedish_language)
- [Model Context Protocol](https://modelcontextprotocol.io/)
- [MCP SDK Documentation](https://github.com/modelcontextprotocol/sdk)
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- Built with the [Model Context Protocol SDK](https://github.com/modelcontextprotocol/sdk)
- Inspired by the need for accessible language learning tools
## Support
If you find this project helpful, please consider:
- β Starring the repository
- π Reporting bugs
- π‘ Suggesting new features
- π€ Contributing to the codebase
---
**Lycka till med din svenska!** (Good luck with your Swedish!) πΈπͺ
TDQS
Scored across 6 tools
Each tool targets a distinct learning need: translation, vocabulary, grammar, phrases, exercises, and open Q&A. However, ask_swedish is a general-purpose catch-all that overlaps with the more specialized translate_swedish, get_vocabulary, grammar_help, and common_phrases, creating some risk of misselection when a specific tool would suffice.
All names use snake_case, but the verb-first (translate_swedish, get_vocabulary, ask_swedish) and noun-first (grammar_help, common_phrases, practice_exercise) patterns are mixed. It's readable and consistent in case, but not a single predictable convention.
Six tools is well within the ideal range and each provides a distinct capability for a language-learning server. No obvious redundancy or missing critical function based on count alone.
The surface covers core areas: translation, vocabulary, grammar, phrases, practice, and a Q&A fallback. No dedicated pronunciation or progress-tracking tools, but pronunciation is embedded in common_phrases and ask_swedish can handle many ad-hoc requests, so gaps are minor.