hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Provides access to GitHub's API for managing repositories, issues, and performing searches, allowing users to list repositories, get repository details, search repositories, get issues, and create new issues.
Enables interaction with GitLab's API to access projects, issues, and pipelines, with capabilities to list projects, get project details, search projects, manage issues, and retrieve pipeline information.
Provides geocoding, reverse geocoding, directions, and places search capabilities through the Google Maps API, allowing users to convert addresses to coordinates, find routes between locations, and search for places.
モデルコンテキストプロトコル(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 システム
インストール
- このリポジトリをクローンします:Copy
- Python の依存関係をインストールします。Copy
- Node.js の依存関係をインストールします。Copy
- 設定を含む
.env
ファイルを作成します。Copy - サーバーを起動します。Copy
コンテナ化されたデプロイメント
Docker または Podman (Red Hat のコンテナ エンジン) を使用してサーバーを実行できます。
Docker デプロイメント
Docker と docker-compose がすでにインストールされている場合:
- Docker イメージをビルドします。Copy
- コンテナを実行します。Copy
- あるいは、docker-compose を使用します。
docker-compose.yml
ファイルを作成します。次に以下を実行します:CopyCopy
Podmanの展開
Podman を使用する Red Hat ベースのシステム (RHEL、CentOS、Fedora) の場合:
- コンテナイメージをビルドします。Copy
- コンテナを実行します。Copy
- 永続的なストレージが必要な場合:注:Copy
:Z
サフィックスは SELinux 対応システムにとって重要です。 - Podman Compose を使用する (インストールされている場合):Copy
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
モデル コンテキスト プロトコル標準を実装するモジュラー サーバー。統合ゲートウェイを介して GitHub、GitLab、Google マップ、メモリ ストレージ、Web 自動化と対話するためのツールを提供します。
- Architecture
- Features
- Getting Started
- Using the MCP Server
- Tool Documentation
- Contributing
- License
- Acknowledgements