🚀 @orgsoft/jsr
jsr.io 全体のパッケージを探索するためのMCPサーバー、CLIユーティリティ、およびTypeScriptライブラリです。
JSRは、最新のJavaScriptリポジトリであり、NPMの代替手段です。豊富なTypeScriptサポート、最新の機能、およびDenoとのシームレスな統合を提供します。
@orgsoft/jsr は、Oramaによるセマンティック検索、パッケージのダウンロード分析、および jsr 上の任意のパッケージまたはスコープからファイルとドキュメントを取得する機能を備えています。これにより、特にDenoとAIコーディングツールを併用する場合の開発ワークフローが向上します。
✨ 主な機能
- 📊 パッケージ詳細:任意のJSRパッケージのバージョン情報、ダウンロードトレンド、およびファイル/ドキュメントのリスト
- 🔗 類似性検索:既存のパッケージまたは検索クエリに関連するパッケージを発見
- 🖥️ CLI、MCP、または自作:充実したコマンドラインインターフェイス、MCPサーバー、およびエクスポートされた関数
📦 インストール
まず、Deno の最新バージョンがインストールされていることを確認してください。
MCPサーバーとして
claude_desktop_config.json に以下を追加します。
{
"mcpServers": {
"jsr": {
"command": "path/to/your/deno",
"args": [
"run",
"--allow-net=jsr.io,api.jsr.io,cloud.orama.run",
"--allow-run",
"jsr:@orgsoft/jsr@^1",
"mcp"
]
}
}
}
⚠️ 重要提示
動作させるには、path/to/your/deno コマンドをDenoのインストール先の完全パスに置き換えてください。(which deno を使用してこのパスを見つけることができます)
コマンドラインユーティリティとして
Deno 以外の何もインストールする必要なく、コマンドラインユーティリティを使用できます。
deno run jsr:@orgsoft/jsr search "web frameworks"
deno run jsr:@orgsoft/jsr similar @orgsoft/jsr
deno run --allow-net --allow-run jsr:@orgsoft/jsr similar @orgsoft/jsr
CLIのインストール
deno install で恒久的にインストールすることもできます。
deno install -frAg jsr:@orgsoft/jsr
jsr details @std/http
jsr docs @std/http
jsr mcp
セキュリティに関する注意
このパッケージや他のパッケージについて、必要最小限のパーミッション を使用し、固定バージョン番号を指定 することを検討してください。コンピューター上で実行するコードは常にレビューする必要があり、Denoはそのパーミッションシステム、オープンソースプログラム、およびサンドボックスモデルにより、この点で理想的です。
これらのインストール手順に含まれる --allow-run パーミッション に注意してください。これは、MCPサーバーのjsr docs コマンドでのみ必要で、安全な読み取り専用コマンドである deno doc を実行するために使用されます。この機能が不要な場合は、このパーミッションを省略できます。MCPサーバーは、ドキュメントツールを宣伝しないことで適切に対応します。
💻 使用例
利用可能なMCPツール
| ツール |
説明 |
パラメータ |
使用例 |
search |
セマンティック検索でJSRパッケージを検索 |
query, limit (オプション) |
search query="web framework" limit=10 |
find_similar |
特定のパッケージに類似したパッケージを見つける |
packageName, limit (オプション) |
find_similar packageName="@std/http" limit=6 |
discover |
カテゴリ/ユースケースによるパッケージの発見 |
category, limit (オプション) |
discover category="web frameworks" limit=8 |
compare |
複数のパッケージを並べて比較 |
packages (配列) |
compare packages=["@std/testing", "@deno/testing"] |
scope_packages |
JSRスコープ内のすべてのパッケージを閲覧 |
scope |
scope_packages scope="std" |
package_details |
詳細なパッケージ情報を取得 |
scope, packageName |
package_details scope="std" packageName="http" |
package_downloads |
ローリングウィンドウでダウンロード統計を表示 |
scope, packageName |
package_downloads scope="std" packageName="http" |
package_file |
パッケージファイルの内容を取得 |
scope, packageName, version, filePath |
package_file scope="std" packageName="http" version="1.0.0" filePath="mod.ts" |
docs |
パッケージのドキュメントを取得 |
module |
docs module="@std/path" |
search_status |
検索機能と接続を確認 |
なし |
search_status |
MCPパラメータ参照
| パラメータ |
タイプ |
説明 |
デフォルト |
使用場所 |
query |
文字列 |
検索クエリ(自然言語またはキーワード) |
必須 |
search |
packageName |
文字列 |
スコープ付きまたはスコープなしのパッケージ名 |
必須 |
find_similar, package_details, package_downloads, package_file |
category |
文字列 |
ユースケースまたは技術カテゴリ |
必須 |
discover |
packages |
配列 |
比較するパッケージ名の配列 |
必須 |
compare |
scope |
文字列 |
JSRスコープ名(例:"std", "orgsoft") |
必須 |
scope_packages, package_details, package_downloads, package_file |
version |
文字列 |
パッケージのバージョン(例:"1.0.0", "latest") |
必須 |
package_file |
filePath |
文字列 |
パッケージ内のファイルパス |
必須 |
package_file |
module |
文字列 |
モジュール識別子(例:"@std/path") |
必須 |
docs |
limit |
数値 |
最大結果数 |
6 - 20(可変) |
search, find_similar, discover |
MCP使用例
search query="web framework" limit=10
find_similar packageName="@std/http" limit=6
discover category="machine learning" limit=8
compare packages=["@std/testing", "@deno/testing", "@fresh/testing"]
scope_packages scope="std"
package_details scope="std" packageName="http"
package_downloads scope="std" packageName="http"
package_file scope="std" packageName="http" version="1.0.0" filePath="mod.ts"
docs module="@std/path"
search_status
CLIの使用
このパッケージには、JSRのすべての検索および分析機能に対応した充実したコマンドラインインターフェイスが含まれています。
CLIコマンド
| コマンド |
説明 |
使用方法 |
例 |
search |
セマンティック検索でJSRパッケージを検索 |
search <query> [--limit=10] [--enhanced] |
search "web framework" --limit 5 |
similar |
特定のパッケージに類似したパッケージを見つける |
similar <package> [--limit=6] |
similar "@std/http" --limit 3 |
details |
詳細なパッケージ情報を取得 |
details <scope> <package> |
details std path |
downloads |
包括的なダウンロード統計を表示 |
downloads <scope> <package> |
downloads std http |
scope |
JSRスコープ内のすべてのパッケージをリストする |
scope <scope-name> |
scope std |
file |
パッケージからファイルの内容を取得 |
file <scope> <package> <version> <file-path> |
file std http 1.0.0 mod.ts |
exists |
パッケージが存在するかどうかを確認 |
exists <scope> <package> |
exists std nonexistent |
help |
ヘルプ情報を表示 |
help [command] |
help search |
version |
CLIのバージョンを表示 |
version |
version |
CLIオプション
| オプション |
説明 |
コマンド |
例 |
--limit=N |
結果の数を制限 |
search, similar |
--limit=5 |
--enhanced |
強化された関連性検索モードを使用 |
search |
--enhanced |
--help, -h |
ヘルプ情報を表示 |
すべて |
--help |
CLI使用例
deno run jsr:@orgsoft/jsr search "web framework" --limit 5
deno run jsr:@orgsoft/jsr similar @std/http --limit 3
deno run jsr:@orgsoft/jsr details @std/path
deno run jsr:@orgsoft/jsr downloads std http
deno run jsr:@orgsoft/jsr scope std
deno run jsr:@orgsoft/jsr file @std/http 1.0.0 mod.ts
deno run jsr:@orgsoft/jsr exists @std/nonexistent
deno run jsr:@orgsoft/jsr search "http client" --enhanced --limit 10
TypeScriptモジュールの使用
基本的な検索
import { relevanceSearch } from "jsr:@orgsoft/jsr";
const results = await relevanceSearch("web framework", { limit: 10 });
console.log(results.hits.map(hit => hit.document.name));
パッケージ情報
import { getPackageDetails, getPackageDownloadSummary } from "jsr:@orgsoft/jsr";
const packageInfo = await getPackageDetails("std", "http");
console.log(packageInfo);
const downloads = await getPackageDownloadSummary("std", "http");
console.log(`Total downloads: ${downloads.totalDownloads}`);
console.log(`Weekly average: ${downloads.weeklyAverage}`);
console.log(`Recent weekly totals: ${downloads.weeklySums.join(', ')}`);
類似パッケージの発見
import { findSimilarPackages } from "jsr:@orgsoft/jsr"
const similar = await findSimilarPackages("@std/http", { limit: 5 });
similar.forEach(pkg => {
console.log(`${pkg.document.scope}/${pkg.document.name} - Score: ${pkg.score}`);
});
🔧 技術詳細
コンポーネント
- Orama Cloud統合:JSR.ioで使用されるOramaのホストサービスを介したセマンティック検索
- JSR APIクライアント:詳細なパッケージ情報のためのJSRのREST APIとの直接統合
- MCPプロトコルサーバー:AIアシスタント用のモデルコンテキストプロトコルサーバー
- 文字列フォーマットと集約:表示ロジック
ファイル
| ファイル |
目的 |
説明 |
mod.ts |
主エントリポイント |
すべての公開関数をエクスポートし、CLIとMCPサーバーモード間のルーティングを処理する主要モジュール |
cli.ts |
コマンドラインインターフェイス |
パッケージの検索、発見、および分析用のコマンドを持つCLIの実装 |
mcp.ts |
MCPサーバー |
AIアシスタントがJSRとやり取りするためのツールを提供するモデルコンテキストプロトコルサーバー |
common.ts |
コアAPIライブラリ |
JSR API統合とOrama検索操作のためのコア関数、型、およびユーティリティ |
format.ts |
出力フォーマット |
検索結果、パッケージ詳細、およびダウンロード統計の文字列フォーマットと表示ロジック |
README.md |
メインドキュメント |
包括的な使用ガイド、例、およびAPIリファレンス |
📚 ドキュメント
このパッケージの完全なTypeScriptドキュメントを以下で閲覧できます。jsr:@orgsoft/jsr/doc
関連リンク