WeChat 小程序向け FastMCP サーバ(weapp-dev-mcp)
概要
weapp-dev-mcp は、微信(WeChat)小程序の開発者ツールを自動化するためのサーバ実装です。FastMCP を基盤に、miniprogram-automator を使ってローカルの微信開発者工具をプログラム的に操作し、MCP(Model Context Protocol)経由でページのナビゲーション、要素検査、操作(タップ、入力、スクリーンショット取得等)を実行できます。Playwright や puppeteer によるブラウザ自動化と同様の発想で、小程序固有の環境に合わせて設計されているため、AI アシスタントやテストフレームワークが小程序の UI を理解・操作するワークフローに適しています。npm パッケージとして配布され、npx 経由で手軽に実行可能です(事前に微信開発者工具と Node.js が必要)。
リポジトリの統計情報
- スター数: 4
- フォーク数: 0
- ウォッチャー数: 4
- コミット数: 7
- ファイル数: 5
- メインの言語: TypeScript
主な特徴
- WeChat 小程序開発者ツールを自動操作する MCP サーバを提供
- miniprogram-automator による小程序 DOM/API 操作のラップ
- FastMCP 準拠で AI アシスタントや外部クライアントと連携可能
- npm パッケージ化され、npx で手早く実行できる配布形態
技術的なポイント
weapp-dev-mcp は TypeScript で記述され、FastMCP のプロトコルに基づくサーバ実装を行うことで、AI や外部クライアントからの高レベル命令を小程序操作に翻訳します。コアには miniprogram-automator を使い、微信開発者工具(CLI 経由)を起動してデバッグウィンドウやページコンテキストを取得、選択子に基づく要素取得、タップや入力、画面遷移待ち、スクリーンショット取得などの操作を実行します。MCP 層はこれらの操作を標準化されたコマンドセット・イベントで公開するため、AI アシスタントは「ホーム画面を開いてボタンをタップし、一覧を取得する」といった高レベルの指示だけで実行可能です。
技術面での注目点として、ローカルの微信開発者工具との連携(CLI パスの検出、OS 依存の挙動)、セッション管理(複数の小程序ウィンドウやページをどうマッピングするか)、非同期な UI イベントの待ち合わせ(ナビゲーションや動的レンダリングの完了検知)、およびエラー回復(要素未検出時のリトライやタイムアウト戦略)が挙げられます。TypeScript の型定義を活かしつつ、miniprogram-automator の API を安全にラップすることで、上位プロトコル(MCP)への堅牢なブリッジを提供しています。
導入面では、Node.js 18+ と npm、そして微信開発者工具(CLI サポート)が必須です。パッケージは @yfme/weapp-dev-mcp として公開され、npx で一時的に実行できるため、ローカル環境に直接クローンせずに試せる点が便利です。ただし、微信開発者工具のバージョン依存や OS 固有の挙動、headless 実行の可否等の制約があるため、CI 環境でのそのままの利用には追加作業(Docker 化や GUI の仮想化)が必要になる場合があります。
今後の改善ポイントとしては、API ドキュメントの充実、エラーとログの体系化、テスト(E2E)自動化、長時間セッションでの安定化、そしてリモート実行・認証の仕組み追加が考えられます。これらにより、AI 補助型デバッグや自動テストの導入コストがさらに下がります。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- README.md: file
- package.json: file
- src: dir
- tsconfig.json: file
(src 配下には FastMCP サーバ起動ロジック、miniprogram-automator ラッパー、MCP コマンドハンドラが含まれる想定)
まとめ
WeChat 小程序の自動化を MCP 経由で実現する実用的な TypeScript 実装。導入が容易で拡張性も高い。
リポジトリ情報:
- 名前: weapp-dev-mcp
- 説明: FastMCP server for automating WeChat Mini Program developer tooling
- スター数: 4
- 言語: TypeScript
- URL: https://github.com/yfmeii/weapp-dev-mcp
- オーナー: yfmeii
- アバター: https://avatars.githubusercontent.com/u/19361764?v=4
README の抜粋(要点):
- 微信小程序 MCP サーバ。miniprogram-automator を使って微信開発者工具を自動化。
- 前提: 微信開発者工具(CLI)、Node.js 18+、npm、およびテスト対象の小程序プロジェクト。
- npm パッケージ @yfme/weapp-dev-mcp を npx で実行可能。README に利用例(npx を使った実行方法)が記載されています。