Sponsored by Deepsite.site

Gas Library Hub

Created By
wywy-llc11 days ago
MCP server for GAS Library Hub - Search and discover Google Apps Script libraries. Features include keyword/tag-based search, star count filtering, and detailed library information with AI-generated summaries and usage examples in Japanese and English. --- Google Apps Script(GAS)ライブラリをAI要約付きで検索・発見。キーワード・タグ・Star数での検索と詳細情報の取得が可能。
Content

GAS Library Hub

📖 サイト概要

GAS Library Hub は、Google Apps Script(GAS)の優れたライブラリを発見・共有するためのプラットフォームです。開発者が必要なGASライブラリを効率的に見つけ、プロジェクトに活用できるようサポートします。

🌐 公式サイト: https://appscripthub.com/

🎯 主な機能

  • ライブラリ検索: タグやキーワードでGASライブラリを簡単検索
  • 詳細情報: AI生成の要約、使用例、作者情報を表示
  • ライブラリ申請: 新しいライブラリの登録申請

🌟 特徴

  • AI要約: xAI Grok APIによるライブラリの自動要約生成
  • GitHub連携: リポジトリ情報の自動取得とStar数表示
  • 高速: SvelteKit + Tailwind CSSによる最適化されたパフォーマンス

🚀 対象ユーザー

  • GAS開発者
  • GASライブラリ作者

🛠 開発環境セットアップ

インストールと起動

# リポジトリのクローン
git clone https://github.com/wywy-llc/app-script-hub.git
cd app-script-hub

# 依存関係のインストール
npm install

# 環境変数の設定
cp .env.example .env
# .envファイルを編集してデータベース接続情報等を設定

# データベースのセットアップ
npm run db:push

# 開発サーバーの起動
npm run dev

# ブラウザで自動的に開く場合
npm run dev -- --open

開発サーバーは http://localhost:5173 で起動します。

主要コマンド

# 開発サーバー起動
npm run dev

# 本番ビルド
npm run build

# プレビュー
npm run preview

# 全テスト実行(必須)
npm run test

# データベーススキーマ更新
npm run db:push

# Drizzle Studio起動
npm run db:studio

🧪 テスト

必須: テスト実行

すべてのコード変更後に必ず実行してください:

npm run test

このコマンドは以下を順次実行します:

  1. npm run lint - コードフォーマット & ESLint
  2. npm run check - TypeScript型チェック
  3. npm run test:unit -- --run - ユニットテスト
  4. npm run test:e2e - E2Eテスト

個別テスト実行

# ユニットテストのみ
npm run test:unit

# E2Eテストのみ
npm run test:e2e

# Storybook起動
npm run storybook

データベーススキーマ変更時の注意

新しいテーブルを追加する際は、テストデータクリーンアップスクリプトの更新が必要です:

  1. src/lib/server/db/schema.ts にテーブル定義を追加
  2. test/scripts/clear-test-data.js にDELETE文を追加
// 外部キー制約の順序を考慮した削除順序
await db.execute(sql`DELETE FROM "new_table"`);
await db.execute(sql`DELETE FROM "library_summary"`);
await db.execute(sql`DELETE FROM "library"`);
await db.execute(sql`DELETE FROM "user"`);

重要: 外部キー制約がある場合は削除順序に注意してください。子テーブルを先に削除する必要があります。

🏗 技術スタック

フロントエンド

  • フレームワーク: SvelteKit 2.x + Svelte 5
  • スタイリング: Tailwind CSS v4
  • 国際化: Paraglide JS(日本語・英語)
  • Markdown: MDSvex

バックエンド

  • データベース: PostgreSQL + Drizzle ORM
  • 認証: Auth.js + Google OAuth
  • 外部API: xAI Grok API、GitHub API

開発・テスト

  • テスト: Vitest(ユニット)+ Playwright(E2E)+ Storybook
  • 品質管理: TypeScript + ESLint + Prettier
  • ビルド: Vite

インフラ

  • デプロイ: Vercel
  • データベース: Neon(本番)

📁 プロジェクト構成

src/
├── lib/
│   ├── constants/          # 定数定義
│   ├── paraglide/         # 国際化ファイル
│   └── server/            # サーバーサイドコード
│       ├── db/schema.ts   # データベーススキーマ
│       ├── auth.ts        # 認証設定
│       └── services/      # ビジネスロジック
├── routes/                # SvelteKitルーティング
│   ├── admin/            # 管理機能
│   ├── auth/             # 認証関連
│   └── user/             # ユーザー機能
└── stories/              # Storybookコンポーネント

test/
├── e2e/                  # E2Eテスト
├── factories/            # テストデータファクトリ
└── scripts/              # データベース管理スクリプト

開発ルール

  • 必須: すべてのPRで npm run test が成功すること
  • TypeScript の型安全性を保持
  • マジックナンバー・文字列リテラルの定数化
  • コンポーネントのStorybook対応

🤖 MCP Integration (For LLMs)

GAS Library Hub は Model Context Protocol (MCP) に対応しています。 Claude Desktop、Cursor、その他のMCPクライアントから直接GASライブラリを検索・取得できます。

Endpoint

Available Tools

ToolDescription
search_librariesGASライブラリをキーワード・タグ・Star数で検索
get_library_detailsライブラリ詳細情報を取得(AI要約・使用例含む)

Configuration

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "gas-library-hub": {
      "url": "https://appscripthub.com/api/mcp"
    }
  }
}

Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "gas-library-hub": {
      "url": "https://appscripthub.com/api/mcp"
    }
  }
}

📧 お問い合わせ

Server Config

{
  "mcpServers": {
    "gas-library-hub": {
      "url": "https://appscripthub.com/api/mcp"
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
WindsurfThe new purpose-built IDE to harness magic
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Amap Maps高德地图官方 MCP Server
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
CursorThe AI Code Editor
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
Playwright McpPlaywright MCP server
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
Serper MCP ServerA Serper MCP Server
Tavily Mcp
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
ChatWiseThe second fastest AI chatbot™
DeepChatYour AI Partner on Desktop
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.