Lingo¶
Self-hosted company glossary. Slack, CLI, web UI, and AI agents — all from one service.
Teams accumulate jargon fast. Lingo is where you put it. Add a term from Slack, vote it up, and AI agents can look it up via MCP. Stale terms get a nudge. The whole thing runs on Postgres.
Features¶
| Surface | What it does |
|---|---|
| Web UI | Searchable term browser with status filters, voting, dispute actions, and a slide-in detail panel |
| Slack Bot | /lingo define, /lingo add, /lingo vote, /lingo export — look up and contribute terms without leaving Slack |
| CLI | lingo define, lingo add, lingo list, lingo export — terminal access to the full glossary |
| REST API | Full CRUD at /api/v1/terms with JWT / OIDC auth and interactive OpenAPI docs at /docs |
| MCP Server | get_term, search_terms, list_terms tools for Claude and other MCP-aware AI agents |
| Auto-Discovery | Daily job scans Slack for unknown acronyms and creates suggested terms automatically |
| Staleness Tracking | Weekly job DMs term owners when a term hasn't been confirmed in 180 days |
| Self-Hosted | One docker compose up starts PostgreSQL + Lingo together. No external dependencies |
Term lifecycle¶
Every term flows through four community-driven statuses:
- suggested — discovered by the auto-scan job; must be promoted before voting applies
- pending — starting status for user-added terms; voting is active
- community — vote count reached
LINGO_COMMUNITY_THRESHOLD(default: 3) - official — editor-approved, vote count reached
LINGO_OFFICIAL_THRESHOLD(default: 10)
Quickstart¶
Open http://localhost:8000. Dev mode is on by default in the compose file, so no auth is required.
→ See the full Quickstart guide for next steps.
Project info¶
| Version | 0.5.5 |
| Language | Python 3.12+ |
| Framework | FastAPI + React |
| Database | PostgreSQL 14+ |
| License | See repository |
| Source | github.com/schinnam/lingo |