RockyRocks/MCP_Open

このプロジェクトは、Claude、GPT、Gemini、またはオープンソースモデルなど、あらゆるLLMをカスタムツール、プロンプト駆動スキル、リモートサーバーネットワークと単一の統一プロトコル層で橋渡しする、本番環境対応のMCPサーバーです。

MCP_Open とは?

RockyRocks/MCP_Openは、あらゆるLLM(Claude、GPT、Gemini、オープンソースモデルなど)とカスタムツールやプロンプト駆動スキルを単一のプロトコル層で統合する本番環境対応のMCP(Model Context Protocol)サーバーです。このプロジェクトは、APIキーベースの認証、動的ツールレジストリ、リモートサーバーネットワークとの連携をサポートし、開発者が統一されたインターフェースを通じて様々なAIモデルにアクセスし、拡張機能を追加できるように設計されています。主にClaude CodeやCursorなどのAIエージェントプラットフォームで利用され、カスタムツールの作成や外部データソースとの連携を容易にします。内部では、MCP/SSEプロトコルを使用してサーバー間通信を行い、JSONスキーマに基づいたツール定義とバリデーションを提供します。

対応✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add RockyRocks/MCP_Open

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

MCP_Open は何をしますか?

このプロジェクトは、Claude、GPT、Gemini、またはオープンソースモデルなど、あらゆるLLMをカスタムツール、プロンプト駆動スキル、リモートサーバーネットワークと単一の統一プロトコル層で橋渡しする、本番環境対応のMCPサーバーです。

特徴

  • 任意のLLMとの互換性: Claude、GPT、Gemini、およびオープンソースモデルをサポート
  • カスタムツール: 任意のAPI、データベース、またはサービスと連携するツールを作成
  • プロンプト駆動スキル: 動的プロンプトテンプレートによる高度なワークフロー
  • リモートサーバーネットワーク: 分散MCPサーバー間のシームレスな通信
  • 統一プロトコル層: MCP/SSEプロトコルに基づく標準化されたインターフェース

必要条件

  • Python 3.10以上
  • Node.js 18以上(オプション)
  • APIキー(使用するLLMプロバイダーによる)

インストール

git clone https://github.com/RockyRocks/MCP_Open.git
cd MCP_Open
pip install -r requirements.txt

クイックスタート

  1. 設定ファイルconfig.yamlを編集してLLMプロバイダーを設定します:
llm:
  provider: "openai"  # claude, gemini, openai, または "local"
  api_key: "${OPENAI_API_KEY}"
  model: "gpt-4"
  1. サーバーを起動します:
python server.py --config config.yaml
  1. MCPクライアントから接続します(例:Claude Code):
{
  "mcpServers": {
    "my-server": {
      "command": "python",
      "args": ["server.py", "--config", "config.yaml"],
      "env": {
        "OPENAI_API_KEY": "your-key-here"
      }
    }
  }
}

カスタムツールの定義

tools/ディレクトリに新しいPythonファイルを作成します:

# tools/weather.py
from mcp_open import tool

@tool(
    name="get_weather",
    description="指定された都市の現在の天気を取得します",
    parameters={
        "city": {
            "type": "string",
            "description": "都市名"
        }
    }
)
async def get_weather(city: str) -> dict:
    # 天気APIを呼び出すロジック
    return {"temperature": 22, "conditions": "曇り"}

プロンプトスキルの定義

skills/ディレクトリにYAMLファイルを作成します:

# skills/code_review.yaml
name: "コードレビュースキル"
description: "提供されたコードの包括的なレビューを実行します"
prompt: |
  あなたはシニアソフトウェアエンジニアです。
  以下のコードをレビューし、改善点を提案してください:
  
  {code}
  
  フォーカスエリア:
  - セキュリティ
  - パフォーマンス
  - 可読性
  - ベストプラクティス

リモートサーバーとの連携

リモートMCPサーバーに接続するには:

python client.py --connect https://remote-server.example.com/mcp

環境変数

変数名説明必須
OPENAI_API_KEYOpenAI APIキーOpenAI使用時
ANTHROPIC_API_KEYAnthropic APIキーClaude使用時
GOOGLE_API_KEYGoogle APIキーGemini使用時
MCP_PORTサーバーポート(デフォルト:8000)任意
MCP_HOSTサーバーホスト(デフォルト:0.0.0.0)任意

アーキテクチャ

+-----------+     MCP/SSE      +-------------+
| LLM       | <--------------> | MCP_Open    |
| (Claude,  |                  | サーバー      |
|  GPT等)   |                  +------+------+
+-----------+                         |
                                      |
                            +---------+---------+
                            |                   |
                      +-----+-----+     +-------+------+
                      | ツール     |     | リモート      |
                      | レジストリ  |     | サーバー      |
                      +-----------+     +--------------+

ライセンス

MITライセンス

貢献

バグレポートや機能リクエストはGitHub Issuesまでお寄せください。

プルリクエストも歓迎します。大きな変更を加える前に、まずissueを作成して変更内容について議論してください。

関連スキル