@niklaserik/effect-mcp について
@niklaserik/effect-mcp は、Effect エコシステムの最新ドキュメントを取得する MCP サーバーです。VS Code などの MCP クライアントで Effect のコードを書く開発者に向いており、コード内のインポートから関連パッケージを判断して該当ドキュメントを返します。
主な機能
- 01Effect エコシステムのパッケージ文書の取得
- 02インポート文からのパッケージ検出
- 03安定版と実験的パッケージへの対応
- 04約 10 分間のインメモリキャッシュ
- 05一時的な取得エラーに対する軽量な再試行
活用シーン
- 01VS Code で Effect の API 利用方法を質問
- 02AI アシスタントに最新の @effect/platform ドキュメントを提供
MCP 対応
Effect のドキュメントをリソースとツールとして MCP クライアントに提供する MCP サーバーです。デフォルトでは stdio トランスポートで接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
@niklaserik/effect-mcp
Effect エコシステムの最新ドキュメントを取得することに特化した、Model Context Protocol(MCP)サーバーです。
目的
この MCP サーバーは、AI アシスタントやツールから Effect のドキュメントにリアルタイムでアクセスできるようにします。VS Code 拡張機能やその他の MCP クライアントが、開発者からの次のような質問に答えるため、正確で最新の Effect パッケージドキュメントを取得できます。
- コアの
effectパッケージ - エコシステムパッケージ(
@effect/platform、@effect/aiなど) - 安定版と不安定版の両方の Effect パッケージ
サーバーはコード内でインポートされている Effect パッケージをインテリジェントに検出し、質問への回答に最も関連性の高いドキュメントを取得します。
機能
- Effect エコシステムのドキュメントにリアルタイムでアクセス
- 安定版と実験版の両方のパッケージに対応
- インポートに基づくコンテキスト対応のパッケージ検出
- VS Code やその他の MCP 対応クライアントとシームレスに連携
- Effect 開発者の API の使い方に関する質問への回答を支援
このサーバーが公開するもの
- リソース(推奨)
- 動的テンプレート:
effect-docs://{libId} {libId}の補完とリソースの一覧表示に対応- 検出用の静的エイリアス:
effect-docs://effect、effect-docs://@effect-platformなど - 現在サポートされているライブラリ:
effect@effect/platform@effect/sql@effect/vitest@effect/ai@effect/cli@effect/cluster@effect/rpc@effect/typeclass
- 動的テンプレート:
- ツール(互換性のため)
effect-documentation:選択したライブラリのドキュメントを取得し、連結した Markdown を返しますeffect-doc-links:上記のリソースへの URI をプレーンテキストで返し、クライアントからアクセスできるようにします
キャッシュと再試行
- 変更されていないドキュメントの再取得を避けるための、メモリ内 TTL キャッシュ(約 10 分)。
- 一時的な取得エラーに対する、短いバックオフを伴う軽量な再試行。
インストール
pnpm add @niklaserik/effect-mcp
使い方
VS Code やその他の MCP クライアントで使用する場合は、カスタム MCP サーバーの追加方法についてクライアントのドキュメントを参照してください。
ローカルでの簡単なテスト:
pnpm install
pnpm build
node dist/index.js # stdio transport
その後、stdio 経由で MCP クライアント(例:MCP Inspector)に接続し、次を試してください。
- リソースを一覧表示し、
effect-docs://effectを読み込む { "libraries": ["effect", "@effect/platform"] }を指定して、ツールeffect-doc-linksを呼び出す
初期化手順
- サーバーは、初期化時に MCP 経由で、使用方法に関する簡潔な説明を公開します。これを表示するクライアントが対象です。
開発
# Install dependencies
pnpm install
# Build the project
pnpm build
# Run in development mode with auto-reload
pnpm dev
注意:
- 最新の
registerResource/registerToolAPI を使用し、@modelcontextprotocol/sdk@^1.17.4で構築されています。 - トランスポート:デフォルトでは stdio。必要に応じて Streamable HTTP に適応できます。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。