** 注:このプロジェクトはメンテナンスを終了しました。小規模モデルのモデルメモリに問題があるため、MCPサーバーとしてはモノリシックなルーティングプロバイダーではなく、個別のコンテナ化されたサーバープロバイダーを使用する方法を推奨しています。他のユーザーが引き続きこの方法を試したい場合に備えて、コードは更新されています。
モデルコンテキストプロトコル(MCP)サーバー
モデルコンテキストプロトコル標準を実装し、GitHub、GitLab、Google マップ、メモリストレージ、Puppeteer Web 自動化用のツールを提供するモジュラー サーバーです。
建築
MCPサーバーはモジュール型アーキテクチャで構築されており、各ツールは個別のモジュールとして実装されています。サーバーは、リクエストを適切なツールにルーティングする統合ゲートウェイを提供します。

Related MCP server: GitHub MCP Server
特徴
MCP ゲートウェイ: MCP 標準に準拠したすべてのツール リクエストの統合エンドポイント
MCPマニフェスト: 利用可能なすべてのツールとその機能を記述するエンドポイント
直接ツールアクセス:各ツールは独自のAPIエンドポイントを介して直接アクセスできます。
モジュラー設計:必要に応じてツールを簡単に追加または削除できます
付属ツール
GitHubツール: GitHubリポジトリ、問題、検索を操作する
GitLabツール: GitLabプロジェクト、問題、パイプラインを操作する
Google マップツール: ジオコーディング、ルート案内、場所検索
メモリツール: データを永続的に保存および取得する
Puppeteer Tool : スクリーンショットを撮り、PDFを生成し、ウェブサイトからコンテンツを抽出します
はじめる
前提条件
Python 3.8以上
Node.js 14以上
Red Hat ベースの Linux ディストリビューション (RHEL、CentOS、Fedora) または任意の Linux/macOS システム
インストール
このリポジトリをクローンします:
git clone https://github.com/yourusername/mcp-server.git cd mcp-serverPython の依存関係をインストールします。
pip install -r requirements.txtNode.js の依存関係をインストールします。
npm install設定を含む
.envファイルを作成します。SECRET_KEY=your-secret-key DEBUG=False # GitHub configuration GITHUB_TOKEN=your-github-token # GitLab configuration GITLAB_TOKEN=your-gitlab-token # Google Maps configuration GMAPS_API_KEY=your-google-maps-api-key # Memory configuration MEMORY_DB_URI=sqlite:///memory.db # Puppeteer configuration PUPPETEER_HEADLESS=true CHROME_PATH=/usr/bin/chromium-browserサーバーを起動します。
python app.py
コンテナ化されたデプロイメント
Docker または Podman (Red Hat のコンテナ エンジン) を使用してサーバーを実行できます。
Docker デプロイメント
Docker と docker-compose がすでにインストールされている場合:
Docker イメージをビルドします。
docker build -t mcp-server .コンテナを実行します。
docker run -p 5000:5000 --env-file .env mcp-serverあるいは、docker-compose を使用します。
docker-compose.ymlファイルを作成します。version: '3' services: mcp-server: build: . ports: - "5000:5000" volumes: - ./data:/app/data env_file: - .env restart: unless-stopped次に以下を実行します:
docker-compose up -d
Podmanの展開
Podman を使用する Red Hat ベースのシステム (RHEL、CentOS、Fedora) の場合:
コンテナイメージをビルドします。
podman build -t mcp-server .コンテナを実行します。
podman run -p 5000:5000 --env-file .env mcp-server永続的なストレージが必要な場合:
mkdir -p ./data podman run -p 5000:5000 --env-file .env -v ./data:/app/data:Z mcp-server注:
:Zサフィックスは SELinux 対応システムにとって重要です。Podman Compose を使用する (インストールされている場合):
# Install podman-compose if needed pip install podman-compose # Use the same docker-compose.yml file as above podman-compose up -d
MCPサーバーの使用
MCPゲートウェイ
MCP ゲートウェイは、MCP 標準を使用するすべてのツールにアクセスするためのメイン エンドポイントです。
エンドポイント: POST /mcp/gateway
リクエスト形式:
応答形式:
MCPマニフェスト
MCP マニフェストには、利用可能なすべてのツールとその機能が記述されています。
エンドポイント: GET /mcp/manifest
応答形式:
直接ツールアクセス
各ツールには、独自の API エンドポイントを介して直接アクセスすることもできます。
GitHub:
/tool/github/...GitLab:
/tool/gitlab/...Google マップ:
/tool/gmaps/...メモリ:
/tool/memory/...操り人形師:
/tool/puppeteer/...
利用可能なエンドポイントの詳細については、各ツールの API ドキュメントを参照してください。
ツールドキュメント
GitHubツール
GitHub ツールは、リポジトリ、問題、検索用の GitHub API へのアクセスを提供します。
アクション:
listRepos: ユーザーまたは組織のリポジトリを一覧表示するgetRepo: 特定のリポジトリの詳細を取得するsearchRepos: リポジトリを検索するgetIssues: リポジトリの問題を取得するcreateIssue: リポジトリに新しい問題を作成する
GitLabツール
GitLab ツールは、プロジェクト、問題、パイプラインの GitLab API へのアクセスを提供します。
アクション:
listProjects: 認証されたユーザーがアクセスできるすべてのプロジェクトを一覧表示しますgetProject: 特定のプロジェクトの詳細を取得するsearchProjects: GitLab上のプロジェクトを検索getIssues: プロジェクトの課題を取得するcreateIssue: プロジェクトに新しい問題を作成するgetPipelines: プロジェクトのパイプラインを取得する
Googleマップツール
Google マップ ツールは、ジオコーディング、ルート案内、場所検索のための Google マップ API へのアクセスを提供します。
アクション:
geocode: 住所を地理座標に変換するreverseGeocode: 地理座標を住所に変換するgetDirections: 2つの場所間の道順を取得するsearchPlaces: Google Places API を使用して場所を検索するgetPlaceDetails: 特定の場所の詳細を取得する
メモリツール
メモリ ツールは、データを保存および取得するための永続的なキー値ストアを提供します。
アクション:
get: キーでメモリ項目を取得するset: メモリアイテムを作成または更新するdelete: キーでメモリ項目を削除するlist: オプションのフィルタリングを使用して、すべてのメモリ項目を一覧表示します。search: 値でメモリ項目を検索する
操り人形ツール
Puppeteer ツールは、スクリーンショットの撮影、PDF の生成、Web サイトからのコンテンツの抽出を行う Web 自動化機能を提供します。
アクション:
screenshot: ウェブページのスクリーンショットを撮るpdf: ウェブページのPDFを生成するextract: ウェブページからコンテンツを抽出する
貢献
貢献を歓迎します!MCP サーバーを拡張する方法は次のとおりです。
新しいツールの追加
toolsディレクトリに新しいファイルを作成します(例:tools/newtool_tool.py。既存のツールと同じパターンに従うアクションでツールを実装する
app.pyのマニフェストにツールを追加しますツールのブループリントを
tools/__init__.pyに登録します。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。
謝辞
標準仕様のモデルコンテキストプロトコル
ウェブフレームワークのFlask
ウェブ自動化のためのPuppeteer
Appeared in Searches
- Multi MCP (Model Context Protocol) implementation or management
- Techniques for Scraping Dynamic Websites with JavaScript and Handling CAPTCHA or Proxy Issues
- A service for finding locations and navigation directions
- GitHub repository or chat tool related to MCP
- A Python library for visualizing neural networks