はじめに
この記事では、Roo-Clineを使用してModel Context Protocol (MCP)サーバーを自然言語の指示書から実装する実験について詳しく解説します。Ideogram APIを活用した画像生成MCPサーバーの開発プロセスを追跡し、AIによる自動化の可能性と課題を探ります。
MCP as a language 実験①
IdegramのAPIのMCPサーバーを MaL で作ってみた
入れたドキュメントが悪かったの原因で最後まではフルオートでいけなかったが、結構いい線言ってる気がする! pic.twitter.com/WNmlEfDvyK— Maki@Sunwood AI Labs. (@hAru_mAki_ch) December 23, 2024
実験概要
目的
- 自然言語による指示書からMCPサーバーの自動実装
- Roo-Clineの自動コード生成能力の検証
- GitHub統合とイシュー管理の自動化評価
使用技術
- Roo-Cline(AIコーディング支援ツール)
- TypeScript
- Ideogram API(画像生成API)
- GitHub CLI
指示書の構造分析
指示書は以下の主要セクションで構成されています:
MysticLibrary/prompts/coding/Roo-cline/MCP-as-a-Language-01.md at main · Sunwood-ai-labs/MysticLibrary
MysticLibrary. Contribute to Sunwood-ai-labs/MysticLibrary development by creating an account on GitHub.
🛠️ 環境設定
- GitHub CLI設定(ghコマンド認証済み)
- リポジトリ設定
- mainブランチをベース
- developブランチでの開発
主要タスク
ideagram-mcp-server
リポジトリの作成- タスクの洗い出しとイシュー登録
- Ideogram API統合によるMCPサーバー実装
- 環境変数(IDEOGRAM_API_KEY)の設定
Roo-Clineの実行プロセス
1. プロジェクト初期化とパッケージインストール
cd C:\Prj\MCP\ideagram-mcp-server
npm install
npm install axios
2. TypeScript実装
Roo-Clineは以下の主要コンポーネントを自動生成:
- IdeogramClientクラス(API通信用)
- 画像生成ツール実装
- 型定義とインターフェース
3. 環境変数設定
const apiKey = process.env.IDEOGRAM_API_KEY;
if (!apiKey) {
throw new Error('IDEOGRAM_API_KEY is required');
}
4. Gitリポジトリ初期化と公開
git init
git add .
git commit -m "🎉 feat #1: プロジェクトの初期設定"
git branch -M main
git remote add origin https://github.com/Sunwood-ai-labs/ideagram-mcp-server.git
git push -u origin main
5. MCPサーバー設定
{
"name": "ideagram-mcp-server",
"command": "node dist/index.js",
"cwd": "C:\\Prj\\MCP\\ideagram-mcp-server",
"env": {
"IDEOGRAM_API_KEY": ""
},
"disabled": false,
"alwaysAllow": []
}
実装の成果
完了したタスク ✅
- リポジトリ作成とGitHub連携
- MCPサーバーの基本構造実装
- Ideogram APIクライアント実装
- 画像生成ツール実装
- ドキュメント作成
- MCP設定完了
未完了タスク ❌
- developブランチでの開発フロー
- 一部の高度な機能実装
考察と発見
Roo-Clineの強み
-
自動コード生成能力
- TypeScriptの型安全な実装
- APIクライアントの適切な構造化
-
エラーハンドリング
- 型エラーの自動検出と修正
- 環境設定の検証
-
ドキュメント生成
- READMEの自動作成
- 使用方法の明確な説明
改善点
-
ブランチ戦略
- develop/mainブランチの運用が未実装
- より複雑なGit操作の対応
-
イシュー管理
- イシューの自動作成機能の強化
- タスク分割の最適化
まとめ
本実験では、Roo-Clineを使用した「MCP as a Language」開発の可能性を検証しました。9割程度の実装を自動化できた一方で、より複雑なGit操作やブランチ戦略の実装には課題が残りました。
主な成果
- 自然言語からの自動コード生成
- APIクライアントの適切な実装
- 基本的なGitHub操作の自動化
今後の展望
- ブランチ戦略の改善
- イシュー管理の強化
- より複雑なMCP機能の実装
コメント