Myanmar MCP Server
Provides a Model Context Protocol server with built-in timeline-based animation, GitHub integration, and filesystem tools for building Myanmar applications.
README
๐ฒ๐ฒ Myanmar MCP Server
<div align="center">
A Model Context Protocol (MCP) server with built-in animation system for Myanmar applications
</div>
โจ Features
| Feature | Description |
|---|---|
| ๐ค MCP Protocol | Full MCP SDK implementation with stdio transport |
| ๐ฌ Animation System | Timeline-based animation engine with keyframes & triggers |
| ๐ง Extensible Tools | GitHub integration, filesystem operations, custom tools |
| ๐ฆ TypeScript | Full type safety with strict mode |
| ๐งช Testing | Jest test suite with coverage reports |
| ๐ณ Docker | Containerized deployment ready |
๐ Quick Start
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
Development
# Run with hot reload
npm run dev
# Run tests
npm test
# Lint code
npm run lint
# Format code
npm run format
โ๏ธ Configuration
Create a .env file from the example:
cp .env.example .env
Environment Variables
| Variable | Description | Default |
|---|---|---|
PORT |
Server port | 3000 |
HOST |
Server host | localhost |
LOG_LEVEL |
Logging level (debug, info, warn, error) |
info |
GITHUB_TOKEN |
GitHub API token | - |
ENABLE_ANIMATION |
Enable animation system | true |
ENABLE_FILESYSTEM |
Enable filesystem tools | true |
ENABLE_GITHUB |
Enable GitHub tools | true |
๐ฌ Animation System
The heart of Myanmar MCP Server - a powerful timeline-based animation system.
Usage Example
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();
Available Presets
| Preset | Description |
|---|---|
fadeIn |
Simple opacity fade in |
slideInLeft |
Slide from left with fade |
bounce |
Bouncy vertical movement |
pulse |
Scale pulsing effect |
spin |
360ยฐ rotation |
typewriter |
Text reveal effect |
wave |
Wave-like oscillation |
Easing Functions
| Function | Use Case |
|---|---|
linear |
Constant speed |
ease-in |
Start slow, end fast |
ease-out |
Start fast, end slow |
ease-in-out |
Slow start and end |
bounce |
Bouncy effect |
elastic |
Spring-like motion |
Triggers
{
"triggers": [
{ "type": "time", "time": 1000, "action": "onComplete" },
{ "type": "condition", "condition": "progress >= 0.5", "action": "onMidpoint" },
{ "type": "event", "event": "userClick", "action": "pauseAnimation" }
]
}
Animation 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": {}
}
๐ ๏ธ Available Tools
GitHub Tool
{
"action": "get_user",
"username": "amkyawdev"
}
Actions: get_user, get_repo, list_repos, create_issue
Filesystem Tool
{
"action": "read_file",
"path": "/path/to/file.txt"
}
Actions: read_file, write_file, list_dir, create_dir, delete
Animation Tool
{
"action": "run_script",
"script": "{ ... }",
"output": "console"
}
Actions: 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
Manual Docker Build
docker build -t myanmar-mcp-server .
docker run -p 3000:3000 --env-file .env myanmar-mcp-server
๐ Project Structure
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
๐ Scripts
| Command | Description |
|---|---|
npm run dev |
Development with hot reload |
npm run build |
Build for production |
npm start |
Run production build |
npm test |
Run test suite |
npm run test:coverage |
Run with coverage report |
npm run lint |
Lint with ESLint |
npm run lint:fix |
Auto-fix linting issues |
npm run format |
Format with Prettier |
npm run typecheck |
TypeScript type checking |
๐งช Testing
# Run all tests
npm test
# Watch mode
npm run test:watch
# Coverage report
npm run test:coverage
๐จโ๐ผ Admin / Maintainer
| Role | Name | GitHub |
|---|---|---|
| Owner & Maintainer | Aung Myat Kyaw | @amkyawdev |
Responsibilities
- Code review and merge approvals
- Release management
- Security vulnerability handling
- Community support and issue triage
Contact
- GitHub Issues: For bug reports and feature requests
- Email: (Coming soon)
๐ค Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
๐ Security
If you discover a security vulnerability, please report it via:
- GitHub Security Advisories - Preferred method
- Email - (Coming soon)
Please do not disclose security issues publicly until a fix is available.
๐ License
MIT ยฉ 2024 amkyawdev
<div align="center">
Made with โค๏ธ for Myanmar developers
</div>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.