Skip to main content
Glama

** 注:このプロジェクトはメンテナンスを終了しました。小規模モデルのモデルメモリに問題があるため、MCPサーバーとしてはモノリシックなルーティングプロバイダーではなく、個別のコンテナ化されたサーバープロバイダーを使用する方法を推奨しています。他のユーザーが引き続きこの方法を試したい場合に備えて、コードは更新されています。

モデルコンテキストプロトコル(MCP)サーバー

モデルコンテキストプロトコル標準を実装し、GitHub、GitLab、Google マップ、メモリストレージ、Puppeteer Web 自動化用のツールを提供するモジュラー サーバーです。

建築

MCPサーバーはモジュール型アーキテクチャで構築されており、各ツールは個別のモジュールとして実装されています。サーバーは、リクエストを適切なツールにルーティングする統合ゲートウェイを提供します。

MCP サーバーアーキテクチャ

Related MCP server: MCP Toolkit

特徴

  • MCP ゲートウェイ: MCP 標準に準拠したすべてのツール リクエストの統合エンドポイント

  • MCPマニフェスト: 利用可能なすべてのツールとその機能を記述するエンドポイント

  • 直接ツールアクセス:各ツールは独自のAPIエンドポイントを介して直接アクセスできます。

  • モジュラー設計:必要に応じてツールを簡単に追加または削除できます

付属ツール

  1. GitHubツール: GitHubリポジトリ、問題、検索を操作する

  2. GitLabツール: GitLabプロジェクト、問題、パイプラインを操作する

  3. Google マップツール: ジオコーディング、ルート案内、場所検索

  4. メモリツール: データを永続的に保存および取得する

  5. Puppeteer Tool : スクリーンショットを撮り、PDFを生成し、ウェブサイトからコンテンツを抽出します

はじめる

前提条件

  • Python 3.8以上

  • Node.js 14以上

  • Red Hat ベースの Linux ディストリビューション (RHEL、CentOS、Fedora) または任意の Linux/macOS システム

インストール

  1. このリポジトリをクローンします:

    git clone https://github.com/yourusername/mcp-server.git
    cd mcp-server
  2. Python の依存関係をインストールします。

    pip install -r requirements.txt
  3. Node.js の依存関係をインストールします。

    npm install
  4. 設定を含む.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
  5. サーバーを起動します。

    python app.py

コンテナ化されたデプロイメント

Docker または Podman (Red Hat のコンテナ エンジン) を使用してサーバーを実行できます。

Docker デプロイメント

Docker と docker-compose がすでにインストールされている場合:

  1. Docker イメージをビルドします。

    docker build -t mcp-server .
  2. コンテナを実行します。

    docker run -p 5000:5000 --env-file .env mcp-server
  3. あるいは、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) の場合:

  1. コンテナイメージをビルドします。

    podman build -t mcp-server .
  2. コンテナを実行します。

    podman run -p 5000:5000 --env-file .env mcp-server
  3. 永続的なストレージが必要な場合:

    mkdir -p ./data
    podman run -p 5000:5000 --env-file .env -v ./data:/app/data:Z mcp-server

    注: :Zサフィックスは SELinux 対応システムにとって重要です。

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

リクエスト形式:

{
  "tool": "github",
  "action": "listRepos",
  "parameters": {
    "username": "octocat"
  }
}

応答形式:

{
  "tool": "github",
  "action": "listRepos",
  "status": "success",
  "result": [
    {
      "id": 1296269,
      "name": "Hello-World",
      "full_name": "octocat/Hello-World",
      "owner": {
        "login": "octocat",
        "id": 1
      },
      ...
    }
  ]
}

MCPマニフェスト

MCP マニフェストには、利用可能なすべてのツールとその機能が記述されています。

エンドポイント: GET /mcp/manifest

応答形式:

{
  "manifestVersion": "1.0",
  "tools": {
    "github": {
      "actions": {
        "listRepos": {
          "description": "List repositories for a user or organization",
          "parameters": {
            "username": {
              "type": "string",
              "description": "GitHub username or organization name"
            }
          },
          "returns": {
            "type": "array",
            "description": "List of repository objects"
          }
        },
        ...
      }
    },
    ...
  }
}

直接ツールアクセス

各ツールには、独自の 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 サーバーを拡張する方法は次のとおりです。

新しいツールの追加

  1. toolsディレクトリに新しいファイルを作成します(例: tools/newtool_tool.py

  2. 既存のツールと同じパターンに従うアクションでツールを実装する

  3. app.pyのマニフェストにツールを追加します

  4. ツールのブループリントをtools/__init__.pyに登録します。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

謝辞

A
license - permissive license
Not graded
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.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • A Model Context Protocol server for Wix AI tools

  • Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.

View all MCP Connectors

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/AdamPippert/multi-service-mcp-server'

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