Skip to main content
Glama
v4lheru

generic-mcp-server

by v4lheru

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

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

特徴

  • モジュラーアーキテクチャ:明確に定義された構造による関心事の明確な分離

  • 小さく、焦点を絞ったファイル:メンテナンス性が向上し、AIが取り込みやすくなります

  • 簡単な拡張ポイント: 新しいツールやサービスを追加するためのシンプルなパターン

  • 包括的なエラー処理: コードベース全体にわたる堅牢なエラー管理

  • 型安全性: 適切な型付けによる完全なTypeScriptサポート

Related MCP server: Swagger MCP

プロジェクト構造

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プロトコルエラー処理

ライセンス

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

Install Server
F
license - not found
C
quality
C
maintenance

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

  • MCP server for AI access to Swagger by SmartBear.

  • Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.

  • MCP (Model Context Protocol) server for Appwrite

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

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