Skip to main content
Glama

generic-mcp-server

汎用 MCP サーバー テンプレート

簡単にカスタマイズおよび拡張できるように設計された、モジュール式の拡張可能なモデル コンテキスト プロトコル (MCP) サーバー テンプレート。

特徴

  • モジュラーアーキテクチャ:明確に定義された構造による関心事の明確な分離
  • 小さく、焦点を絞ったファイル:メンテナンス性が向上し、AIが取り込みやすくなります
  • 簡単な拡張ポイント: 新しいツールやサービスを追加するためのシンプルなパターン
  • 包括的なエラー処理: コードベース全体にわたる堅牢なエラー管理
  • 型安全性: 適切な型付けによる完全なTypeScriptサポート

プロジェクト構造

generic-mcp-template/ ├── src/ │ ├── services/ # Service classes for API interactions │ │ ├── base-service.ts # Abstract base service with common functionality │ │ └── example-service.ts # Example service implementation │ ├── tools/ # MCP tool definitions and handlers │ │ ├── example-tools.ts # Tool definitions (name, description, schema) │ │ └── example-tool-handlers.ts # Tool handler implementations │ ├── types/ # TypeScript type definitions │ │ └── example-types.ts # Example type definitions │ ├── config.ts # Configuration management │ └── index.ts # Main entry point ├── .env.example # Example environment variables ├── package.json # Project dependencies and scripts ├── tsconfig.json # TypeScript configuration └── README.md # Project documentation

はじめる

前提条件

  • Node.js 18以上
  • npmまたはyarn

インストール

  1. このリポジトリをクローンします:
    git clone https://github.com/v4lheru/generic-mcp-template.git cd generic-mcp-template
  2. 依存関係をインストールします:
    npm install
  3. .env.exampleに基づいて.envファイルを作成します。
    cp .env.example .env
  4. API キーと設定を使用して.envファイルを編集します。

構築と実行

  1. プロジェクトをビルドします。
    npm run build
  2. サーバーを実行します。
    npm start

テンプレートの拡張

新しいサービスの追加

  1. src/services/に新しいサービス ファイルを作成します。
    // src/services/my-service.ts import { BaseService } from './base-service.js'; import config from '../config.js'; export class MyService extends BaseService { // Implement your service... }
  2. 必要なタイプをsrc/types/に追加します。

新しいツールの追加

  1. 新しいファイルでツールを定義するか、 src/tools/内の既存のツールを拡張します。
    // src/tools/my-tools.ts export const myTools = [ { name: "my_tool", description: "Description of my tool", inputSchema: { // JSON Schema for the tool's input } } ];
  2. ツールのハンドラーを実装します。
    // src/tools/my-tool-handlers.ts import { MyService } from '../services/my-service.js'; export function createMyToolHandlers(myService: MyService) { return { my_tool: async (args: any) => { // Implement your tool handler } }; }
  3. ツールとハンドラーをsrc/index.tsに登録します。

構成

このテンプレートはsrc/config.ts内の集中設定システムを使用します。設定は以下の方法で行うことができます。

  • 環境変数
  • コマンドライン引数( --env KEY=VALUEを使用)
  • コード内のデフォルト値

エラー処理

テンプレートには包括的なエラー処理が含まれています。

  • レート制限をサポートするサービスレベルのエラー処理
  • 適切なエラーメッセージによるツールレベルのエラー処理
  • MCPプロトコルエラー処理

ライセンス

マサチューセッツ工科大学

-
security - not tested
A
license - permissive license
-
quality - not tested

AIと組み合わせて使用することで、あらゆるサービス用のサーバーを簡単に作成できるフレームワークです。APIドキュメントをそこにドロップするだけで、MCPの作成を依頼できます。

  1. 特徴
    1. プロジェクト構造
      1. はじめる
        1. 前提条件
        2. インストール
        3. 構築と実行
      2. テンプレートの拡張
        1. 新しいサービスの追加
        2. 新しいツールの追加
      3. 構成
        1. エラー処理
          1. ライセンス

            Related MCP Servers

            • A
              security
              F
              license
              A
              quality
              An MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.
              Last updated -
              39
              28
              • Apple
            • -
              security
              A
              license
              -
              quality
              An MCP server that connects to a Swagger specification and helps an AI to build all the required models to generate a MCP server for that service.
              Last updated -
              19
              TypeScript
              MIT License
              • Linux
              • Apple
            • -
              security
              -
              license
              -
              quality
              This MCP server provides tools to interact with the Salesforce Agentforce API, allowing authentication, session creation, and message exchange with Salesforce agents.
              Last updated -
              1
              Python
            • A
              security
              F
              license
              A
              quality
              An MCP server that allows AI assistants to interact with the ServiceTitan API, requiring client credentials for authentication.
              Last updated -
              454
              TypeScript

            View all related MCP servers

            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/v4lheru/generic-mcp-template'

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