Skip to content

Commit 4f21d66

Browse files
committed
Add _i18n/ja/_posts/2025/2025-05-09-jser-mcp.md
1 parent b5e9672 commit 4f21d66

File tree

1 file changed

+104
-0
lines changed

1 file changed

+104
-0
lines changed
+104
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
---
2+
title: "JSer.info のMCPサーバを公開しました"
3+
author: azu
4+
layout: post
5+
date : 2025-05-09T12:30
6+
category: 雑記
7+
tags:
8+
- JSer.info
9+
10+
---
11+
12+
AI Agentなどから、JSer.info のデータへアクセスするための [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction)サーバーを公開しました。
13+
14+
## [`jser/mcp`](https://github.com/jser/mcp)とは
15+
16+
[`jser/mcp`](https://github.com/jser/mcp)とは、[JSer.info](http://JSer.info) のデータセットへプログラムからアクセスするための MCP サーバーです。
17+
MCP は、AI エージェントや開発ツールが外部のデータソースや機能と連携するためのプロトコルです。
18+
`jser/mcp`を利用することで、JSer.info が紹介したアイテムや書いた記事、URLのプロダクト名(JSer.infoの紹介で利用している)などを取得できます。
19+
20+
## [`jser/mcp`](https://github.com/jser/mcp)の提供するtools
21+
22+
`jser/mcp`に接続することで、以下のツールが利用可能になります。
23+
24+
- **`jser_search_items`**: JSer.info に登録されているアイテム(記事、スライド、ライブラリなど)を、タイトル、説明文、URL、タグといった情報に基づいて検索します。複数のキーワードを指定した場合は OR 検索として扱われます。
25+
- **`jser_search_posts`**: JSer.info の週刊まとめ記事を、タイトル、説明文、URL、タグといった情報に基づいて検索します。
26+
- **`jser_product_name`**: 指定された URL からプロダクト名(例: Deno, React)を推定して取得します。関連情報として、その URL がリリースノートである確率やバージョン情報が含まれることもあります。
27+
- **`jser_week`**: JSer.info の週刊まとめ記事を、号数を指定して取得します。
28+
- **`jser_weeks`**: これまでに公開された全ての JSer.info 週刊まとめ記事の情報を取得します。
29+
- **`jser_weeks_between`**: 指定した日付の範囲内に公開された JSer.info 週刊まとめ記事の情報を取得します。
30+
- **`jser_week_with_item_url`**: 特定のアイテム URL が含まれる JSer.info 週刊まとめ記事の情報を取得します。
31+
- **`jser_item_with_item_url`**: 指定した URL に合致するアイテムの詳細情報を取得します。
32+
33+
これらのツールを利用することで、「特定の JavaScript ライブラリについて言及している JSer.info の記事一覧を取得する」といったデータ収集や、「JSer.infoスタイルでURLの記事を解説して」といったことができます。
34+
35+
たとえば、[jser-info-article.prompt.md](https://github.com/jser/jser.info/blob/gh-pages/.github/prompts/jser-info-article.prompt.md)のようなプロンプトを使って、次のようなURLを渡すと、JSer.info スタイルで記事を解説してくれます。
36+
37+
- URL: https://github.com/reduxjs/redux-toolkit/releases/tag/v2.8.0
38+
39+
```
40+
Redux Toolkit v2.8.0リリース。
41+
React Nativeのパッケージエクスポートを修正/Infinite Queryのページパラメータ関数に`queryArg`を追加。
42+
```
43+
44+
のような記事の説明文を生成できます。
45+
46+
## `jser/mcp`の利用方法
47+
48+
`jser/mcp`は、VSCode などの MCP クライアントから利用できます。
49+
主な利用方法として、公開されているリモートサーバーへ接続する方法と、ローカル環境でサーバーを起動する方法があります。
50+
51+
### リモートサーバーの利用
52+
53+
公開されているリモートサーバーのエンドポイントは `https://mcp.jser.info/mcp` です。
54+
55+
#### VSCode での設定例 1: コマンドラインからの追加
56+
57+
VSCode がインストールされている環境では、ターミナルから以下のコマンドを実行することで MCP サーバーの情報を追加できます。
58+
59+
```bash
60+
code --add-mcp '{"name":"jser-info-mcp","url":"https://mcp.jser.info/mcp"}'
61+
```
62+
63+
#### VSCode での設定例 2: `settings.json` への追記
64+
65+
VSCode の `settings.json` ファイルに以下の設定を記述することでも利用可能です。
66+
67+
```json
68+
{
69+
"mcp": {
70+
"servers": {
71+
"jser-info-mcp": {
72+
"url": "https://mcp.jser.info/mcp"
73+
}
74+
}
75+
}
76+
}
77+
```
78+
79+
### ローカルサーバーの利用
80+
81+
ローカル環境でサーバーを起動して利用することも可能です。
82+
83+
1. ターミナルで`@jser/mcp` パッケージを実行してサーバーを起動します。
84+
```bash
85+
npx @jser/mcp
86+
```
87+
2. VSCode のコマンドパレット (Cmd+Shift+P または Ctrl+Shift+P) から「MCP: Add Server...」を選択します。
88+
3. サーバー URL として、ローカルサーバーがリッスンしている `http://localhost:14561/mcp` を入力し接続します。
89+
90+
## データソース
91+
92+
JSer.infoのデータは[jser/dataset: JSer.infoのデータセットや処理ライブラリ](https://github.com/jser/dataset)で扱えます。
93+
基本的に今まで紹介した記事や投稿した記事がJSONとして取得できるようになっています。
94+
95+
URLからプロダクト名(ライブラリ名)を取得するのも過去のJSer.infoのデータを元にしています。
96+
この機能は単体のWeb APIとしても公開しています。
97+
98+
- [JSer.info Product Name API](https://github.com/jser/product-name)
99+
100+
## 関連情報
101+
102+
`jser/mcp`に関する詳細や最新情報については、以下のリポジトリを参照してください。
103+
104+
- リポジトリ [https://github.com/jser/mcp](https://github.com/jser/mcp)

0 commit comments

Comments
 (0)