Skip to main content
Glama
amkyawdev
by amkyawdev

🇲🇲 Myanmar MCP Server

License: MIT TypeScript Node.js 18+

Ein Model Context Protocol (MCP)-Server mit integriertem Animationssystem für Myanmar-Anwendungen


✨ Funktionen

Funktion

Beschreibung

🤖 MCP-Protokoll

Vollständige MCP-SDK-Implementierung mit stdio-Transport

🎬 Animationssystem

Zeitachsenbasierte Animations-Engine mit Keyframes und Auslösern

🔧 Erweiterbare Werkzeuge

GitHub-Integration, Dateisystemoperationen, benutzerdefinierte Werkzeuge

📦 TypeScript

Volle Typsicherheit mit striktem Modus

🧪 Testen

Jest-Testsuite mit Coverage-Berichten

🐳 Docker

Bereit für containerisierte Bereitstellung


Related MCP server: Maya MCP

🚀 Schnellstart

Installation

# Clone the repository
git clone https://github.com/amkyawdev/myanmar-mcp-server.git
cd myanmar-mcp-server

# Install dependencies
npm install

# Build for production
npm run build

Entwicklung

# Run with hot reload
npm run dev

# Run tests
npm test

# Lint code
npm run lint

# Format code
npm run format

⚙️ Konfiguration

Erstellen Sie eine .env-Datei aus dem Beispiel:

cp .env.example .env

Umgebungsvariablen

Variable

Beschreibung

Standard

PORT

Server-Port

3000

HOST

Server-Host

localhost

LOG_LEVEL

Protokollierungsstufe (debug, info, warn, error)

info

GITHUB_TOKEN

GitHub-API-Token

-

ENABLE_ANIMATION

Animationssystem aktivieren

true

ENABLE_FILESYSTEM

Dateisystem-Werkzeuge aktivieren

true

ENABLE_GITHUB

GitHub-Werkzeuge aktivieren

true


🎬 Animationssystem

Das Herzstück des Myanmar MCP Servers – ein leistungsstarkes zeitachsenbasiertes Animationssystem.

Verwendungsbeispiel

import { AnimationEngine, getPreset } from './animation';

// Load a preset
const engine = new AnimationEngine();
engine.load(getPreset('bounce'));
engine.play();

// Or load a custom script
engine.load({
  version: '1.0',
  name: 'My Animation',
  tracks: [{
    id: 'opacity',
    property: 'opacity',
    duration: 1000,
    keyframes: [
      { time: 0, value: 0 },
      { time: 1000, value: 1, easing: 'ease-out' }
    ]
  }]
});

engine.play();

Verfügbare Voreinstellungen

Voreinstellung

Beschreibung

fadeIn

Einfaches Einblenden der Deckkraft

slideInLeft

Von links hereingleiten mit Einblendung

bounce

Hüpfende vertikale Bewegung

pulse

Pulsierender Skalierungseffekt

spin

360°-Drehung

typewriter

Texteffekt wie bei einer Schreibmaschine

wave

Wellenartige Schwingung

Easing-Funktionen

Funktion

Verwendungszweck

linear

Konstante Geschwindigkeit

ease-in

Langsamer Start, schnelles Ende

ease-out

Schneller Start, langsames Ende

ease-in-out

Langsamer Start und langsames Ende

bounce

Hüpfender Effekt

elastic

Federartige Bewegung

Auslöser

{
  "triggers": [
    { "type": "time", "time": 1000, "action": "onComplete" },
    { "type": "condition", "condition": "progress >= 0.5", "action": "onMidpoint" },
    { "type": "event", "event": "userClick", "action": "pauseAnimation" }
  ]
}

Animations-JSON-Format

{
  "version": "1.0",
  "name": "My Animation",
  "description": "Animation description",
  "tracks": [
    {
      "id": "unique-track-id",
      "property": "opacity",
      "duration": 2000,
      "keyframes": [
        { "time": 0, "value": 0 },
        { "time": 1000, "value": 1, "easing": "ease-out" }
      ]
    }
  ],
  "triggers": [],
  "metadata": {}
}

🛠️ Verfügbare Werkzeuge

GitHub-Werkzeug

{
  "action": "get_user",
  "username": "amkyawdev"
}

Aktionen: get_user, get_repo, list_repos, create_issue

Dateisystem-Werkzeug

{
  "action": "read_file",
  "path": "/path/to/file.txt"
}

Aktionen: read_file, write_file, list_dir, create_dir, delete

Animationswerkzeug

{
  "action": "run_script",
  "script": "{ ... }",
  "output": "console"
}

Aktionen: play, stop, pause, seek, get_state, list_presets, get_preset, run_script


🐳 Docker

# Build and run
docker-compose up -d

# View logs
docker-compose logs -f

# Stop
docker-compose down

Manueller Docker-Build

docker build -t myanmar-mcp-server .
docker run -p 3000:3000 --env-file .env myanmar-mcp-server

📁 Projektstruktur

myanmar-mcp-server/
├── src/
│   ├── index.ts              # Entry point
│   ├── server.ts             # MCP server class
│   ├── tools/                # Tool implementations
│   │   ├── github.tool.ts
│   │   ├── filesystem.tool.ts
│   │   └── index.ts
│   ├── animation/            # Animation system ✨
│   │   ├── engine.ts         # Animation engine
│   │   ├── timeline.ts       # Timeline management
│   │   ├── keyframes.ts      # Keyframe interpolation
│   │   ├── interpolators.ts  # Easing functions
│   │   ├── triggers.ts       # Event triggers
│   │   ├── renderer.ts       # Output renderers
│   │   ├── presets.ts        # Built-in presets
│   │   └── types.ts          # Type definitions
│   ├── types/                # Shared types
│   ├── utils/                # Utilities
│   │   ├── logger.ts
│   │   └── config.ts
│   ├── middleware/            # Request middleware
│   ├── errors/                # Error classes
│   ├── validators/            # Zod schemas
│   └── services/              # Business logic
├── tests/                     # Test files
├── examples/                  # Animation examples
├── dist/                      # Build output
└── package.json

📊 Skripte

Befehl

Beschreibung

npm run dev

Entwicklung mit Hot Reload

npm run build

Build für die Produktion

npm start

Produktions-Build ausführen

npm test

Testsuite ausführen

npm run test:coverage

Mit Coverage-Bericht ausführen

npm run lint

Lint mit ESLint

npm run lint:fix

Linting-Probleme automatisch beheben

npm run format

Mit Prettier formatieren

npm run typecheck

TypeScript-Typprüfung


🧪 Testen

# Run all tests
npm test

# Watch mode
npm run test:watch

# Coverage report
npm run test:coverage

👨💼 Admin / Betreuer

Rolle

Name

GitHub

Eigentümer & Betreuer

Aung Myat Kyaw

@amkyawdev

Verantwortlichkeiten

  • Code-Review und Genehmigung von Merges

  • Release-Verwaltung

  • Behandlung von Sicherheitslücken

  • Community-Support und Issue-Triage

Kontakt

  • GitHub Issues: Für Fehlerberichte und Funktionsanfragen

  • E-Mail: (Demnächst)


🤝 Mitwirken

Beiträge sind willkommen! Bitte lesen Sie CONTRIBUTING.md für Richtlinien.

  1. Forken Sie das Repository

  2. Erstellen Sie Ihren Feature-Branch (git checkout -b feature/amazing-feature)

  3. Committen Sie Ihre Änderungen (git commit -m 'feat: add amazing feature')

  4. Pushen Sie den Branch (git push origin feature/amazing-feature)

  5. Öffnen Sie einen Pull Request


🔒 Sicherheit

Wenn Sie eine Sicherheitslücke entdecken, melden Sie sie bitte über:

  1. GitHub Security Advisories – Bevorzugte Methode

  2. E-Mail – (Demnächst)

Bitte machen Sie Sicherheitsprobleme nicht öffentlich, bis ein Fix verfügbar ist.


📝 Lizenz

MIT © 2024 amkyawdev


Mit ❤️ für Myanmar-Entwickler gemacht

Related MCP Connectors

Related MCP Servers