Skip to main content
Glama
README.md
# motimate-mcp

MCP Server für [Motimate](https://www.motimateapp.com/) – ermöglicht Claude for Mac direkten Zugriff auf Schulungsinhalte eurer Organisation.

## Was ist Motimate?

[Motimate](https://www.motimateapp.com/) ist eine mobile Lernplattform (LMS) für Unternehmen. Mitarbeitende erhalten Schulungen, Onboardings und Trainings direkt auf ihr Smartphone – ideal für Teams im Außendienst, Einzelhandel oder Produktion. Inhalte werden als sogenannte **Motis** (kurze, interaktive Lerneinheiten) bereitgestellt und können zu **Lernpfaden** kombiniert werden.

### Was macht dieses Paket?

Dieses MCP-Paket (Model Context Protocol) verbindet die Motimate-API mit Claude. Damit kann Claude direkt auf Schulungsinhalte, Lernpfade und Fortschrittsdaten zugreifen – ohne Umweg über das Motimate-Dashboard. Nützlich für:

- **HR & L&D-Teams**: Schulungsinhalte per Chat durchsuchen und verwalten
- **Admins**: Neue Schulungen erstellen und bestehende aktualisieren
- **Manager**: Lernfortschritte von Teams abfragen

## Was kann Claude damit?

| Befehl | Beispiel-Prompt |
|--------|-----------------|
| Schulungen suchen | *„Zeig mir alle Schulungen zum Thema Onboarding"* |
| Schulungsdetails & Kapitel | *„Was sind die Kapitel in der Schulung ‚Onboarding Grundlagen'?"* |
| Lernpfade anzeigen | *„Welche Lernpfade gibt es bei uns?"* |
| Fortschritt abfragen | *„Wer hat die Sicherheitsschulung noch nicht abgeschlossen?"* |
| Neue Schulung erstellen | *„Erstelle eine neue Schulung mit dem Titel ‚Neue Feature Release Q2'"* |
| Schulung aktualisieren | *„Füge der Schulung ID 123 die Tags 'pflicht' und 'neu' hinzu"* |

## Voraussetzungen

- Node.js ≥ 18 ([nodejs.org](https://nodejs.org))
- Claude for Mac ([claude.ai/download](https://claude.ai/download))
- Motimate API-Zugangsdaten (`client_id` + `client_secret`) – beim Motimate-Support anfragen

## Installation (einmalig pro MacBook)

```bash
# 1. Repo klonen
git clone https://github.com/SkHCrusher/motimate-mcp.git
cd motimate-mcp

# 2. Abhängigkeiten installieren & bauen
npm install
npm run build

# 3. .env anlegen
cp .env.example .env
```

Jetzt `.env` mit einem Editor öffnen und die Werte eintragen:

```env
MOTIMATE_CLIENT_ID=dein_client_id
MOTIMATE_CLIENT_SECRET=dein_client_secret
MOTIMATE_API_BASE_URL=https://YOUR-ORG.motimateapp.com/public_api
MOTIMATE_APP_URL=https://motimate.app/your-org
```

## Claude for Mac konfigurieren

Die Konfigurationsdatei von Claude for Mac öffnen:

```bash
open ~/Library/Application\ Support/Claude/claude_desktop_config.json
```

Folgenden Block einfügen (Pfad anpassen!):

```json
{
  "mcpServers": {
    "motimate": {
      "command": "node",
      "args": ["/ABSOLUTER/PFAD/ZU/motimate-mcp/dist/index.js"],
      "env": {
        "MOTIMATE_CLIENT_ID": "dein_client_id",
        "MOTIMATE_CLIENT_SECRET": "dein_client_secret",
        "MOTIMATE_API_BASE_URL": "https://YOUR-ORG.motimateapp.com/public_api",
        "MOTIMATE_APP_URL": "https://motimate.app/your-org"
      }
    }
  }
}
```

> **Tipp:** Den absoluten Pfad ermitteln mit `pwd` im Projektordner.

Claude for Mac neu starten – das Hammer-Symbol in der Eingabeleiste zeigt an, dass der Server verbunden ist.

## Rollout im Team

Für jedes MacBook im Team:

1. Repo klonen (oder ZIP herunterladen)
2. `npm install && npm run build`
3. `claude_desktop_config.json` mit den API-Credentials ergänzen
4. Claude for Mac neu starten

Die API-Credentials sind für alle gleich (Organisation-Level) – kein individueller Login nötig.

## API-Hinweise

- Rate Limit: 1.200 Requests pro 10 Minuten
- Auth: OAuth2 `client_credentials` – Token wird automatisch erneuert
- Die Basis-URL der API (`YOUR-ORG.motimateapp.com/public_api`) unterscheidet sich von der App-URL (`motimate.app/your-org`) – beide müssen in der `.env` gesetzt sein

## Remote Server (Claude Desktop Connector)

Statt den Server lokal zu installieren, kann er auch als HTTP-Server gehostet und über den Claude Desktop Connector-Dialog eingebunden werden.

### Server starten

```bash
# .env mit Credentials anlegen (siehe oben), dann:
npm run start:http
```

Der Server läuft dann auf `http://localhost:3000/mcp` (Port über `PORT`-Env-Variable änderbar).

### In Claude Desktop einbinden

1. In Claude Desktop: **Einstellungen → Connectors → Benutzerdefinierten Connector hinzufügen**
2. Name: `Motimate`
3. URL: `https://dein-server.example.com/mcp`
4. **Hinzufügen** klicken

> **Hinweis:** Claude Desktop erwartet HTTPS. Für Produktivbetrieb den Server hinter einem Reverse-Proxy (z.B. Caddy, nginx) oder auf einem Hosting-Dienst (Railway, Render, Fly.io) mit HTTPS betreiben.

## Verfügbare Tools

| Tool | Beschreibung |
|------|-------------|
| `motimate_search_motis` | Schulungen suchen & filtern |
| `motimate_get_moti_chapters` | Kapitel einer Schulung abrufen (inkl. Inhaltsblöcke) |
| `motimate_search_moti_content` | Inhalte aller Schulungen durchsuchen (Texte, Quizze) |
| `motimate_get_moti_progress` | Lernfortschritt abfragen |
| `motimate_search_learning_paths` | Lernpfade suchen |
| `motimate_get_learning_path_sections` | Abschnitte eines Lernpfads |
| `motimate_list_categories` | Alle Kategorien |
| `motimate_list_folders` | Alle Ordner |
| `motimate_create_moti` | Neue Schulung erstellen |
| `motimate_update_moti` | Schulung aktualisieren |

## Entwicklung

```bash
npm run dev   # TypeScript watch mode
npm run build # Einmaliger Build
```

TDQS

A3.7/5.0

Scored across 10 tools

Disambiguation4/5

The tools are mostly distinct, each targeting a clear resource-action pair such as searching trainings, retrieving chapters, checking progress, or managing learning paths. The only mild ambiguity is between search_motis and search_moti_content, but the descriptions clarify that one filters training metadata and the other searches inside training content.

Naming Consistency5/5

All tools follow the same motimate_<verb>_<noun> pattern with search, get, list, create, and update verbs. The naming is predictable and consistent, making it easy for an agent to infer what each tool does.

Tool Count5/5

Ten tools is well-scoped for a learning-platform MCP server. The set covers the main entity types without redundancy or unnecessary bloat.

Completeness3/5

Read and search coverage is strong, and basic create/update for trainings exists. However, there is no delete operation, no chapter management, and learning paths are read-only, so the lifecycle is incomplete and creating a Moti leaves content authoring as an external manual step.

Maintenance

ActivityInactive
ResponsivenessNo issues