# Duolingo MCP for AI Agents MCP

> Duolingo connects your AI agents directly to public language learning data. Track streaks, view full user profiles, monitor XP gains, check friend progress, and get instant translation hints between dozens of languages using this MCP. It lets you analyze skill progression and leaderboard rankings without needing private API keys.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** language-learning, gamification, user-progress, skill-tracking, educational-data, leaderboards

## Description

This MCP gives your AI agent read access to Duolingo's public data streams. You can track everything from a user’s total XP count to their current streak length, or pull up a friend's full profile snapshot. Need to build flashcards? Use the dictionary hint tool to get instant translation pairs for any two languages. It keeps things simple because you don't need an API key just to read this data.

When you connect this MCP via Vinkius, your AI agent can access all these metrics—leaderboard rankings, store item details, and user stats—and weave them into natural conversations or reports. You simply tell your agent what information you want, and it pulls the relevant Duolingo progress data right through.

## Tools

### get_daily_leaderboard
Shows the top users by XP for a specific language on the current day.

### get_dictionary_hints
Returns translation pairs for given words, useful for creating vocabulary flashcards.

### get_friends
Retrieves a list of friends, including their streaks and total XP.

### get_leaderboard
Gets detailed leaderboard info for a specific user or language.

### get_store_items
Lists Duolingo store items, including names and prices.

### get_user_by_id
Retrieves a user's public profile data using their numeric ID number.

### get_user_by_username
Gets a user's full profile summary, including XP, streak, and current language, by username.

### get_version_info
Provides information on supported languages and the API version for planning integrations.

## Prompt Examples

**Prompt:** 
```
What's the current leaderboard for Spanish learners today?
```

**Response:** 
```
**Top 5 Spanish Learners (Today)**

| Rank | Username | XP Total |
| :---: | :---: | :---: |
| 1 | polyglot_pro | 850 |
| 2 | maria_es | 720 |
| 3 | john_doe | 650 |

*Keep up the streak!*
```

**Prompt:** 
```
Show me my friend 'language_lover' profile and how many skills they have.
```

**Response:** 
```
**User Profile: language_lover**

- **Total XP:** 580
- **Current Streak:** 45 days
- **Language:** Spanish (from English)
- **Skills Completed:** 23/50. Needs work on 'Past Tense'.

Good job keeping that streak alive!
```

**Prompt:** 
```
Give me translation hints for 'book' and 'river' from English to Italian.
```

**Response:** 
```
**Translation Hints (EN → IT)**

* **book:** libro, libri
* **river:** fiume

These pairs are great for flashcards. Remember to check the specific gender agreement!
```

## Capabilities

### View User Profiles by Username or ID
Retrieves core user details like XP total, current streak count, primary language, and overall skill level.

### Check Leaderboard Rankings
Shows the top learners for a specific language on either the daily or general leaderboard.

### Monitor Friends' Progress
Lists usernames, IDs, and current streak/XP totals for a specified group of friends.

### Build Vocabulary Flashcards
Returns instant translation pairs between any two supported languages using dictionary hints.

### View Store Item Details
Browses the Duolingo store to get names, prices, and IDs for items like streak freezes.

## Use Cases

### Analyzing Student Performance in a Class
A teacher needs to report on class performance. They ask their agent, 'Who is falling behind in Spanish?' The agent calls `get_user_by_username` for the top 10 students and compiles a summary of low XP counts and short streaks.

### Creating a Personalized Vocabulary Quiz
A developer builds a quiz that needs word definitions. Instead of hardcoding translations, they ask their agent to use `get_dictionary_hints` for 'cat' from English to French, and the hints feed directly into the quiz generation logic.

### Competitive Reviewing Among Friends
A language lover wants to compare progress with a friend. They ask their agent to use `get_friends` and get a comparison table showing who has the higher XP total and longer streak in German this week.

## Benefits

- Instantly gauge student engagement by calling `get_daily_leaderboard` to see who is active in a specific language today. This saves you the time of manually checking rankings across multiple platforms.
- Build better study tools by using `get_dictionary_hints`. Your agent can pull translation pairs on demand, making it easy to generate vocab lists for any two languages.
- Keep students motivated. Use `get_user_by_username` or `get_friends` to quickly share progress updates and show off high streaks without leaving your main workflow.
- Understand the full scope of learning by calling `get_version_info`. This allows you to know which language codes are supported before writing any code, saving development time.
- Manage classroom incentives. You can review item costs and names using `get_store_items` if you plan on building a gamified reward system into your application.

## How It Works

The bottom line is, it gives any AI client instant access to public language learning metrics and user profiles without needing complex authentication setup.

1. Subscribe to this MCP in Vinkius. You'll connect your preferred AI client (Claude, Cursor, etc.).
2. Tell your agent what data you need—for instance, 'What was the top Spanish learner yesterday?' or 'Show me a friend's streak.'
3. Your agent calls the appropriate tool and returns clean, structured Duolingo progress data directly to your conversation.

## Frequently Asked Questions

**How can I use Duolingo MCP to track my friend's progress?**
You can get a snapshot of your friends' profiles, including their usernames, current XP totals, and how long their streaks are. This is great for seeing who needs encouragement.

**Is Duolingo MCP useful for building vocabulary tools?**
Yes. The dictionary hints tool lets you get structured translation pairs between any two languages, which is perfect for automatically generating flashcards or quiz content.

**Can I see the top learners on a specific day using Duolingo MCP?**
You can check the daily leaderboard to see who has earned the most XP today. This gives you a real-time look at current class engagement and competition.

**Do I need an API key to use the Duolingo MCP in my AI client?**
No, this MCP is set up for public data endpoints, so connecting it doesn't require you to manage or provide sensitive API keys.

**What if I want to compare multiple user stats at once with Duolingo MCP?**
You can use the friend list and profile tools sequentially. By calling `get_friends` first, then passing those IDs into other functions, you build a full picture of your connections' progress.