JSer.info
STDIOHTTP-SSEJSer.info资源检索和数据获取MCP服务器
JSer.info资源检索和数据获取MCP服务器
An MCP Server for JSer.info
VSCodeでは、次のいずれかの方法でJSer.info MCPを利用できます:
以下のいずれかの方法でリモートサーバーを追加できます:
code --add-mcp '{"name":"jser-info-mcp","url":"https://mcp.jser.info/mcp"}'
VSCodeのsettings.jsonに以下の設定を追加します:
"mcp": { "servers": { "jser-info-mcp": { "url": "https://mcp.jser.info/mcp" } } }
これで自動的にJSer.info MCPが利用可能になります。
ターミナルで@jser/mcpを起動する
npx @jser/mcp
VSCodeのコマンドパレットを開き(Cmd+Shift+P または Ctrl+Shift+P)、「MCP: Add Server...」を実行
サーバーURLに http://localhost:14561/mcp を入力して接続
接続後、以下のツールが利用可能になります:
jser_search_items: タイトル、説明、URL、タグでアイテムを検索(複数キーワードでOR検索可能)jser_search_posts: タイトル、説明、URL、タグで投稿を検索jser_product_name: URLからプロダクト名を取得jser_week: 番号からJSer週を取得jser_weeks: 全てのJSer週を取得jser_weeks_between: 二つの日付の間のJSer週を取得jser_week_with_item_url: アイテムを含むJSer週を取得jser_item_with_item_url: URLからJSerアイテムを取得JSer.info MCPでは、次の tool が利用できます。
タイトル、説明、URL、タグでアイテムを検索します。スペースで区切られた複数のキーワードをOR検索します。
パラメータ:
query: 検索クエリ(1-100文字)。スペースで区切られた複数のキーワードをOR検索limit: 返す結果の最大数(1-100、デフォルト: 10)offset: 結果のオフセット(0以上、デフォルト: 0)order: ソート順序
desc: 新しい順(デフォルト)asc: 古い順返り値:
title: アイテムのタイトルurl: アイテムのURLcontent: アイテムの説明文tags: タグの配列date: 登録日時relatedLinks: 関連リンクの配列タイトル、説明、URL、タグで投稿を検索します。
パラメータ:
query: 検索クエリ(1-100文字)limit: 返す結果の最大数(1-100、デフォルト: 10)offset: 結果のオフセット(0以上、デフォルト: 0)sort: ソート順
relevance: 関連度順(デフォルト)date: 日付順order: ソート順序
desc: 新しい順/関連度高順(デフォルト)asc: 古い順/関連度低順返り値:
title: 投稿のタイトルurl: 投稿のURLcontent: 投稿の内容tags: タグの配列date: 投稿日時URLからプロダクト名を取得します。
パラメータ:
url: 製品のURL(必須)返り値:
name: プロダクト名url: 製品のURLreleaseNoteProbability: リリースノートである確率releaseNoteVersion: リリースノートのバージョン情報(該当する場合)releaseNoteURL: リリースノートのURL(該当する場合)番号からJSer週を取得します。
パラメータ:
number: JSer週の番号(必須)返り値:
number: JSer週の番号startDate: 開始日endDate: 終了日items: その週のアイテムリストposts: その週の投稿リスト全てのJSer週を取得します。
返り値:
number: JSer週の番号startDate: 開始日endDate: 終了日items: その週のアイテムリストposts: その週の投稿リスト指定した期間のJSer週を取得します。
パラメータ:
beginDate: 期間の開始日(必須)endDate: 期間の終了日(必須)返り値:
number: JSer週の番号startDate: 開始日endDate: 終了日items: その週のアイテムリストposts: その週の投稿リストitemsCount: アイテム数postsCount: 投稿数指定したURLのアイテムを含むJSer週を取得します。
パラメータ:
item_url: アイテムのURL(必須)返り値:
number: JSer週の番号startDate: 開始日endDate: 終了日items: その週のアイテムリストposts: その週の投稿リスト指定したURLのアイテムを取得します。
パラメータ:
url: アイテムのURL(必須)返り値:
title: タイトルurl: URLdescription: 説明tags: タグの配列date: 日付relatedLinks: 関連リンクの配列データの取得は@jser/data-fetcherを利用する
検索にはDataSetを利用する
Item: 紹介するサイトのこと 1 Item = 1 サイト すべてのデータのoriginとなるものです サイトごとにタイトル、URL、登録した日付、タグなどが含まれています API: https://jser.info/source-data/items.json Post: JSer.infoに投稿される記事のこと 1 Post = 1 記事 それぞれの記事のタイトル、URL、タグ、日付などが含まれます @jser/statを使うことでItemとPostを元に指定したサイトが紹介された記事を検索できます API: https://jser.info/posts.json Post Item: JSer.infoに投稿された記事中のItem(サイト)のこと 1 Post Item = 1 サイト 基本的にはItemと同じだが、Post ItemはPost(記事)におけるカテゴリ(ヘッドラインなど)が含まれます カテゴリの種類は @jser/post-parser を参照してください Itemを元に投稿時に編集している場合などもあるため、ItemとPost Itemは必ずしも一致するわけではありません 制限: カテゴリ区別が付けられたのは2014-08-03からであるため、それ以前のデータは含まれない Postにはすべての記事は含まれるがPost Itemのデータは含まれていない API: https://jser.info/public/data/post-details.json
プロダクト名の検索にはJSer.info Product Name APIを利用する
$ curl "https://jser-product-name.deno.dev/?url=https://deno.com/blog/v1.19" {"name":"Deno","url":"https://deno.com","releaseNoteProbability":0.7619047619047619,"releaseNoteVersion":"v1.19"} $ curl "https://jser-product-name.deno.dev/?url=https://example.com" null # status code is 400
データ抽出のロジックは @jser/stat を利用する。
### findItemsBetween(beginDate, endDate): JSerItem[] return JSerItems between two dates ### getJSerWeeks(): JSerWeek[] return all JSerWeeks ### findJSerWeeksBetween(beginDate, endDate): JSerWeek[] return JSerWeeks between two dates ### findJSerWeek(number): JSerWeek number start with 1. return JSerWeek at the number. ### findWeekWithItem(itemObject): JSerWeek return JSerWeek contain the itemObject. ### findItemWithURL(URL): JSerItem return JSerItem match the `URL`.
See Releases page.
Install devDependencies and Run pnpm test:
pnpm test
Pull requests and stars are always welcome.
For bugs and feature requests, please create an issue.
git checkout -b my-new-featuregit commit -am 'Add some feature'git push origin my-new-featureMIT © azu