npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@openameba/spindle-mcp-server

v1.5.2

Published

MCP server for Ameba Design System Spindle

Readme

Spindle MCP Server

AmebaデザインシステムSpindleに関するデータをModel Context Protocol(MCP)を通じて提供します。

MCPサーバーの設定

MCPクライアントの設定をします。SpindleのMCPサーバーを利用するにはローカル環境にあらかじめnodejsがインストールされている必要があります。

Claude Code CLIでの設定

Claude Code CLIを使用する場合は、以下のコマンドで設定します。

npxを使用する場合(推奨)

claude mcp add ameba-spindle -- npx -y @openameba/spindle-mcp-server@latest

設定が正しく追加されたか、以下のコマンドで確認します。

claude mcp get ameba-spindle

Cursorでの設定

Cursorを使用する場合は、設定ファイルに以下を追加します。

npxを使用する場合(推奨)

{
  "mcpServers": {
    "ameba-spindle": {
      "command": "npx",
      "args": [
        "-y",
        "@openameba/spindle-mcp-server@latest"
      ]
    }
  }
}

機能

SpindleのMCPサーバーでは以下の機能が提供されています。

Tool

  • get_components: 利用可能なコンポーネントの一覧を取得します
  • get_component_info: 指定されたコンポーネントの詳細情報を取得します。コンポーネントを利用する際にはこのツールが呼び出される必要があります。LLMが自動的に呼び出さない場合は、明示的に呼び出してください
  • get_design_tokens: 定義されたデザイントークン(CSS)一覧を取得します。
  • get_design_token: 指定した種類のデザイントークン(CSS)を取得します。
  • get_icons: アイコンの一覧を取得します。
  • get_icon_info: 指定したアイコンの詳細情報を取得します。アイコンを利用する際にはこのツールが呼び出される必要があります。LLMが自動的に呼び出さない場合は、明示的に呼び出してください
  • get_accessibility_docs: Spindleコンポーネントを作成する際に使うアクセシビリティチェックリストを取得します。チェックリストはAmeba Accessibility Guidelinesをもとに作成されています
  • get_component_design_doc_templete: Spindleコンポーネントを作成する際のDesign Docテンプレートを取得します

ユースケース

SpindleのMCPサーバーは以下のような利用法が想定されています。

  • 「Ameba Spindleで使えるコンポーネントを教えて」
  • 「Spindleで、Dialogコンポーネントは実装されていますか」
  • 「デザイントークンにはどんな種類がありますか」
  • 「この実装をSpindleに書き換えて」
  • 「(Figmaやスクリーンショットを添えて)できる限りAmeba Spindleを使って実装して」
  • 「(Figmaやスクリーンショットを添えて)コンポーネントのDesign Docを作成して」

利用にあたる注意点

本MCPサーバーは、詳細な調整を行わずに情報を提供しているため、コンテキストウィンドウに大きな影響を及ぼす可能性があります。ご利用の際は注意が必要です。今後、調整を行っていく予定です。

開発方法

SpindleのMCPサーバーの開発には以下の手順が必要です。

前提条件

  • Node.jsがインストールされていること
  • このリポジトリのルートディレクトリで pnpm install --frozen-lockfile を実行して依存関係をインストール済みであること

開発手順

  1. 依存パッケージのインストール
pnpm install --frozen-lockfile
  1. ビルド
pnpm build
  1. 生成されたファイルを利用して動作確認
{
  "mcpServers": {
    "ameba-spindle": {
      "command": "node",
      "args": [
        "/PATH_TO_PACKAGE/spindle/packages/spindle-mcp-server/dist/index.js"
      ]
    }
  }
}
  1. テスト
pnpm test

注意事項

  • アセットファイルの更新: spindle-uispindle-tokens パッケージのファイルが更新された場合は、npm run copy-assets を実行してアセットファイルを再コピーしてください
  • 開発時のファイル監視: npm run dev はTypeScriptファイルの変更のみを監視します。アセットファイルを更新した場合は手動で再コピーが必要です