Myanmar MCP Server

Myanmar MCP Server

Provides a Model Context Protocol server with built-in timeline-based animation, GitHub integration, and filesystem tools for building Myanmar applications.

Category
访问服务器

README

🇲🇲 Myanmar MCP Server

<div align="center">

License: MIT TypeScript Node.js 18+

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.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

🔒 Security

If you discover a security vulnerability, please report it via:

  1. GitHub Security Advisories - Preferred method
  2. 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>

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选