Skip to main content
Glama

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

Related MCP server: code2prompt-mcp

📋 機能

  • 🔗 MCPプロトコル準拠: 任意のMCPクライアント(Claude Desktop、Cursor、Clineなど)で動作

  • 🤖 Devin統合: DevinのAI駆動リポジトリ分析への直接アクセス

  • 🐳 Docker対応: プロダクション級設定での完全なコンテナ化

  • 🔒 セキュア: 非rootユーザー実行、環境変数管理、入力検証

  • 📊 可観測性: 組み込みヘルスチェック、包括的ログ機能

  • ⚡ 高速: 適切なエラーハンドリングを含む最適化された非同期実装

  • 📱 簡単デプロイ: ビルドとデプロイの自動化スクリプト

🏗️ アーキテクチャ

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│   MCPクライアント │    │  Devin MCP       │    │   Devin MCP     │
│ (Claude等)      │───▶│  プロキシサーバー  │───▶│   APIサービス    │
│                 │    │  (このプロジェクト) │    │                 │
└─────────────────┘    └──────────────────┘    └─────────────────┘

プロキシサーバーの動作:

  1. クライアントからMCPツール呼び出しを受信

  2. ask_questionリクエストをDevin MCP APIに転送

  3. 設定されたリポジトリに関するAI生成レスポンスを返却

🛠️ 前提条件

  • Docker & Docker Compose(コンテナ化デプロイ用)

  • Python 3.10以降(直接実行用)

  • 有効なDevin APIキー(全てのデプロイで必要)

📦 インストール

オプション1: Dockerデプロイ

  1. クイックセットアップ

    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
  2. 手動Docker

    docker-compose up -d --build
  3. プロダクションデプロイ

    # レジストリ用ビルド
    REGISTRY=your-registry.com ./scripts/build.sh v1.0.0
    
    # プロダクション環境でデプロイ
    docker-compose -f docker-compose.prod.yml up -d

オプション2: ローカルPython

  1. UV のインストール(未インストールの場合)

    curl -LsSf https://astral.sh/uv/install.sh | sh
    source $HOME/.local/bin/env
  2. プロジェクトセットアップ

    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キー
  3. サーバー実行

    uv run python main.py

⚙️ 設定

環境変数

変数名

必須

デフォルト

説明

DEVIN_API_KEY

-

あなたのDevin APIキー

REPO_NAME

smartfnexta/pms

クエリ対象のリポジトリ

リポジトリ設定

対象リポジトリを変更するには、main.pyを編集:

REPO_NAME = "your-org/your-repo"  # この行を変更

🔧 使用方法

Difyとの連携

  1. DifyでMCPサーバーを追加

    • Dify管理パネルでツール → MCPに移動

    • サーバーを追加: http://localhost:8000/sse/

    • プロトコルバージョン: 2025-03-26

  2. ワークフローでの使用

    • 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キー

.envDEVIN_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

🤝 貢献

  1. リポジトリをフォーク

  2. フィーチャーブランチを作成: git checkout -b feature/your-feature

  3. 変更を加えて十分にテスト

  4. コミット: git commit -m "機能を追加"

  5. プッシュ: git push origin feature/your-feature

  6. プルリクエストを開く

開発ガイドライン

  • Python PEP 8スタイルガイドラインに従う

  • 新機能にはテストを追加

  • 変更に対してドキュメントを更新

  • Dockerビルドが通ることを確認

  • 複数のMCPクライアントでテスト

📄 ライセンス

このプロジェクトはMITライセンスの下でライセンスされています。詳細はLICENSEファイルをご覧ください。

🙏 謝辞

📞 サポート


❤️ Claude Codeで作成

🏠 ホーム · 📚 ドキュメント · 🐛 問題報告 · 💬 ディスカッション

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kohzih/devin-mcp-proxy'

If you have feedback or need assistance with the MCP directory API, please join our Discord server