Quickstart¶
Get Lingo running and add your first term in under five minutes.
1. Start the server¶
Wait for the log line Application startup complete. The server is now at http://localhost:8000.
Dev mode
The Docker Compose file sets LINGO_DEV_MODE=true. This disables Slack authentication so you can explore without configuring a Slack app. To log in to the web UI, visit http://localhost:8000/auth/dev/login?email=you@example.com. Never enable dev mode in production.
2. Open the web UI¶
Navigate to http://localhost:8000 in your browser. You'll see the term browser — initially empty.
3. Add your first term¶
Click Add term and fill in:
| Field | Example |
|---|---|
| Name | API |
| Definition | Application Programming Interface — a contract between software components |
| Full name (optional) | Application Programming Interface |
| Category (optional) | tech |
Click Add. Your term is created with status pending.
4. Vote it up¶
Find your term in the list and click Vote. Once enough team members vote, the status advances automatically:
Terms discovered by the auto-scan job start at suggested and must be promoted to pending (via the detail panel) before voting applies.
5. Try the CLI¶
Install the CLI and look up the term you just added:
uv pip install -e .
export LINGO_APP_URL=http://localhost:8000
# Authenticate in dev mode
uv run lingo login you@example.com
uv run lingo define API
uv run lingo list
Getting lingo on your PATH
uv pip install -e . installs into the project virtualenv, so lingo won't be available as a bare command in your shell. Use uv run lingo from the repo directory, or run uv tool install . once to make lingo available globally.
Empty export?
lingo export defaults to official terms only. Since no terms are official yet, it will return an empty glossary. Use uv run lingo export --status pending to see your newly added term.
6. Try MCP with Claude¶
If you use Claude Desktop, add Lingo as an MCP server. Edit claude_desktop_config.json:
{
"mcpServers": {
"lingo": {
"url": "http://localhost:8000/mcp",
"headers": {
"Authorization": "Bearer your-mcp-token"
}
}
}
}
Set LINGO_MCP_BEARER_TOKEN=your-mcp-token in your environment and restart the server. Claude can now call get_term, search_terms, and list_terms against your glossary.
What's next¶
- Configuration — all
LINGO_*environment variables - Slack Bot — add and look up terms from Slack
- Deployment — run in production with Slack auth