Devin MCP Proxy
A FastMCP-based proxy server that seamlessly integrates any MCP client with the Devin MCP API, enabling AI-powered repository analysis and question answering.
README
Devin MCP プロキシサーバー
任意のMCPクライアントとDevin MCP APIをシームレスに統合するFastMCPベースのプロキシサーバーです。AIを活用したリポジトリ分析と質疑応答機能を提供します。
🚀 クイックスタート
Dockerを使用(推奨)
# 1. リポジトリをクローン
git clone https://github.com/your-username/devin-mcp-proxy.git
cd devin-mcp-proxy
# 2. 環境設定
cp .env.example .env
# .envファイルを編集してDEVIN_API_KEYを設定
# 3. ワンコマンドでデプロイ
./scripts/deploy.sh
Pythonで直接実行
# 1. 依存関係をインストール
uv sync
# 2. 環境設定
cp .env.example .env
# .envファイルを編集してDEVIN_API_KEYを設定
# 3. サーバー起動
uv run python main.py
📋 機能
- 🔗 MCPプロトコル準拠: 任意のMCPクライアント(Claude Desktop、Cursor、Clineなど)で動作
- 🤖 Devin統合: DevinのAI駆動リポジトリ分析への直接アクセス
- 🐳 Docker対応: プロダクション級設定での完全なコンテナ化
- 🔒 セキュア: 非rootユーザー実行、環境変数管理、入力検証
- 📊 可観測性: 組み込みヘルスチェック、包括的ログ機能
- ⚡ 高速: 適切なエラーハンドリングを含む最適化された非同期実装
- 📱 簡単デプロイ: ビルドとデプロイの自動化スクリプト
🏗️ アーキテクチャ
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ MCPクライアント │ │ Devin MCP │ │ Devin MCP │
│ (Claude等) │───▶│ プロキシサーバー │───▶│ APIサービス │
│ │ │ (このプロジェクト) │ │ │
└─────────────────┘ └──────────────────┘ └─────────────────┘
プロキシサーバーの動作:
- クライアントからMCPツール呼び出しを受信
ask_questionリクエストをDevin MCP APIに転送- 設定されたリポジトリに関するAI生成レスポンスを返却
🛠️ 前提条件
- Docker & Docker Compose(コンテナ化デプロイ用)
- Python 3.10以降(直接実行用)
- 有効なDevin APIキー(全てのデプロイで必要)
📦 インストール
オプション1: Dockerデプロイ
-
クイックセットアップ
git clone https://github.com/your-username/devin-mcp-proxy.git cd devin-mcp-proxy cp .env.example .env # .envを編集: DEVIN_API_KEY=実際のAPIキー ./scripts/deploy.sh -
手動Docker
docker-compose up -d --build -
プロダクションデプロイ
# レジストリ用ビルド REGISTRY=your-registry.com ./scripts/build.sh v1.0.0 # プロダクション環境でデプロイ docker-compose -f docker-compose.prod.yml up -d
オプション2: ローカルPython
-
UV のインストール(未インストールの場合)
curl -LsSf https://astral.sh/uv/install.sh | sh source $HOME/.local/bin/env -
プロジェクトセットアップ
git clone https://github.com/your-username/devin-mcp-proxy.git cd devin-mcp-proxy uv sync cp .env.example .env # .envを編集: DEVIN_API_KEY=実際のAPIキー -
サーバー実行
uv run python main.py
⚙️ 設定
環境変数
| 変数名 | 必須 | デフォルト | 説明 |
|---|---|---|---|
DEVIN_API_KEY |
✅ | - | あなたのDevin APIキー |
REPO_NAME |
❌ | smartfnexta/pms |
クエリ対象のリポジトリ |
リポジトリ設定
対象リポジトリを変更するには、main.pyを編集:
REPO_NAME = "your-org/your-repo" # この行を変更
🔧 使用方法
Difyとの連携
-
DifyでMCPサーバーを追加
- Dify管理パネルでツール → MCPに移動
- サーバーを追加:
http://localhost:8000/sse/ - プロトコルバージョン:
2025-03-26
-
ワークフローでの使用
ask_questionツールを選択- リポジトリに関する質問を入力
- コードベースに関するAI駆動の洞察を取得
Claude Desktopとの連携
Claude Desktop設定に追加:
{
"mcpServers": {
"devin-proxy": {
"serverUrl": "http://localhost:8000/sse",
"headers": {
"Authorization": "Bearer オプション認証トークン"
}
}
}
}
直接APIテスト
# サーバーエンドポイントのテスト
curl http://localhost:8000
# ヘルスチェック
curl http://localhost:8000/health
📊 監視
ヘルスチェック
# Dockerヘルス状態
docker-compose ps
# 手動ヘルスチェック
curl -f http://localhost:8000 && echo "✅ 正常" || echo "❌ 異常"
ログ
# Dockerログ
docker-compose logs -f devin-mcp-proxy
# タイムスタンプ付きログ
docker-compose logs -f --timestamps devin-mcp-proxy
# システムサービスログ(systemd使用時)
sudo journalctl -u devin-mcp-proxy -f
🚀 開発
プロジェクト構成
devin-mcp-proxy/
├── main.py # メインサーバーアプリケーション
├── pyproject.toml # Python依存関係(uv)
├── requirements.txt # Python依存関係(pip)
├── Dockerfile # コンテナ定義
├── docker-compose.yml # ローカルデプロイ
├── .env.example # 環境テンプレート
├── scripts/
│ ├── build.sh # ビルド自動化
│ └── deploy.sh # デプロイ自動化
├── CLAUDE.md # Claude Code用ガイダンス
├── DOCKER.md # Docker詳細ガイド
└── README.md # このファイル
ローカル開発
# 開発モードでインストール
uv sync --dev
# 自動リロード付き実行(開発用)
uv run python main.py
# テスト実行(利用可能な場合)
uv run pytest
# コードフォーマット
uv run black main.py
uv run isort main.py
カスタムイメージのビルド
# カスタムタグでビルド
./scripts/build.sh v1.2.3
# 特定レジストリ用ビルド
REGISTRY=ghcr.io/your-org ./scripts/build.sh v1.2.3
# レジストリにプッシュ
docker push ghcr.io/your-org/devin-mcp-proxy:v1.2.3
🔒 セキュリティ
- 非root実行: コンテナは
mcpユーザーで実行 - 環境分離: APIキーは環境変数経由
- 入力検証: 全ての入力は処理前に検証
- 最小攻撃面: 必要なポートのみ公開
- 定期更新: セキュリティパッチのためのベースイメージ更新
📚 ドキュメント
🐛 トラブルシューティング
よくある問題
| 問題 | 原因 | 解決策 |
|---|---|---|
Repository not found |
無効なリポジトリ名または権限 | リポジトリの存在とアクセス可能性を確認 |
Invalid API key |
間違ったまたは未設定のDevin APIキー | .envのDEVIN_API_KEYを確認 |
Port already in use |
ポート8000が使用中 | docker-compose.ymlでポートを変更 |
Container unhealthy |
サービスが応答しない | ログを確認: docker-compose logs devin-mcp-proxy |
デバッグコマンド
# コンテナステータス確認
docker-compose ps
# 詳細ログ表示
docker-compose logs --details devin-mcp-proxy
# コンテナ内でシェル実行
docker-compose exec devin-mcp-proxy bash
# 環境変数確認
docker-compose exec devin-mcp-proxy env | grep DEVIN
# MCP接続の手動テスト
docker-compose exec devin-mcp-proxy python -c "
import asyncio
from main import call_devin_mcp
print(asyncio.run(call_devin_mcp('このリポジトリについて教えて')))
"
パフォーマンス調整
# メモリ制限を増加
echo "
deploy:
resources:
limits:
memory: 1G
cpus: '1.0'
" >> docker-compose.yml
# レプリカのスケール(ロードバランサーと併用)
docker-compose up -d --scale devin-mcp-proxy=3
🤝 貢献
- リポジトリをフォーク
- フィーチャーブランチを作成:
git checkout -b feature/your-feature - 変更を加えて十分にテスト
- コミット:
git commit -m "機能を追加" - プッシュ:
git push origin feature/your-feature - プルリクエストを開く
開発ガイドライン
- Python PEP 8スタイルガイドラインに従う
- 新機能にはテストを追加
- 変更に対してドキュメントを更新
- Dockerビルドが通ることを確認
- 複数のMCPクライアントでテスト
📄 ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。詳細はLICENSEファイルをご覧ください。
🙏 謝辞
- FastMCP - 優秀なMCPサーバーフレームワーク
- Devin AI - AI駆動開発プラットフォーム
- Model Context Protocol - 標準化されたAIツール統合
- Anthropic - ClaudeとMCPエコシステム
📞 サポート
- 問題報告: GitHub Issues
- ディスカッション: GitHub Discussions
- ドキュメント: 詳細ガイドについては
docs/フォルダを確認
<div align="center">
❤️ Claude Codeで作成
🏠 ホーム · 📚 ドキュメント · 🐛 問題報告 · 💬 ディスカッション
</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.