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

特徴
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
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
モデル コンテキスト プロトコル標準を実装するモジュラー サーバー。統合ゲートウェイを介して GitHub、GitLab、Google マップ、メモリ ストレージ、Web 自動化と対話するためのツールを提供します。
Related Resources
Related MCP Servers
- Asecurity-licenseAqualityA Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.Last updated -1371,513MIT License
- Asecurity-licenseAqualityA Model Context Protocol server that enables AI models to interact with GitHub's API, allowing for repository creation and management with descriptions, topics, and website URLs through natural language commands.Last updated -
- Asecurity-licenseAqualityA Model Context Protocol server that enables interaction with GitLab accounts to manage repositories, merge requests, code reviews, and CI/CD pipelines through natural language.Last updated -411212MIT License
- -security-license-qualityA Model Context Protocol server that supports remote connections and authenticates users via GitHub OAuth, allowing them to access tools based on their GitHub identity.Last updated -
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