{"id":28769341,"url":"https://github.com/jser/mcp","last_synced_at":"2026-01-31T22:39:36.978Z","repository":{"id":291722175,"uuid":"978591881","full_name":"jser/mcp","owner":"jser","description":"An MCP Server for JSer.info","archived":false,"fork":false,"pushed_at":"2025-05-06T23:47:43.000Z","size":2871,"stargazers_count":20,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-09T13:54:15.446Z","etag":null,"topics":["jser","mcp"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jser.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-06T08:15:23.000Z","updated_at":"2025-05-20T18:03:07.000Z","dependencies_parsed_at":"2025-05-06T08:33:17.275Z","dependency_job_id":null,"html_url":"https://github.com/jser/mcp","commit_stats":null,"previous_names":["jser/mcp"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jser/mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jser%2Fmcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jser%2Fmcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jser%2Fmcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jser%2Fmcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jser","download_url":"https://codeload.github.com/jser/mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jser%2Fmcp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260365112,"owners_count":22998052,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jser","mcp"],"created_at":"2025-06-17T13:03:50.911Z","updated_at":"2026-01-31T22:39:36.964Z","avatar_url":"https://github.com/jser.png","language":"TypeScript","funding_links":[],"categories":["Developer Tools","Task and Project Management"],"sub_categories":["How to Submit"],"readme":"# @jser/mcp\n\nAn MCP Server for JSer.info\n\n- [Introduction - Model Context Protocol](https://modelcontextprotocol.io/introduction)\n- [modelcontextprotocol/typescript-sdk: The official Typescript SDK for Model Context Protocol servers and clients](https://github.com/modelcontextprotocol/typescript-sdk)\n\n## Usage\n\n### VSCodeでの使い方\n\nVSCodeでは、次のいずれかの方法でJSer.info MCPを利用できます：\n\n#### リモートサーバーを利用する場合（推奨）\n\n以下のいずれかの方法でリモートサーバーを追加できます：\n\n##### 方法1: コマンドラインから追加\n\n```bash\ncode --add-mcp '{\"name\":\"jser-info-mcp\",\"url\":\"https://mcp.jser.info/mcp\"}'\n```\n\n##### 方法2: settings.jsonに追加\n\nVSCodeのsettings.jsonに以下の設定を追加します：\n```json\n\"mcp\": {\n  \"servers\": {\n    \"jser-info-mcp\": {\n      \"url\": \"https://mcp.jser.info/mcp\"\n    }\n  }\n}\n```\n\nこれで自動的にJSer.info MCPが利用可能になります。\n\n#### ローカルサーバーを利用する場合\n\n1. ターミナルで@jser/mcpを起動する\n   ```bash\n   npx @jser/mcp\n   ```\n\n2. VSCodeのコマンドパレットを開き（`Cmd+Shift+P` または `Ctrl+Shift+P`）、「MCP: Add Server...」を実行\n\n3. サーバーURLに `http://localhost:14561/mcp` を入力して接続\n\n### 利用できる機能\n\n接続後、以下のツールが利用可能になります：\n   - `jser_search_items`: タイトル、説明、URL、タグでアイテムを検索（複数キーワードでOR検索可能）\n   - `jser_search_posts`: タイトル、説明、URL、タグで投稿を検索\n   - `jser_product_name`: URLからプロダクト名を取得\n   - `jser_week`: 番号からJSer週を取得\n   - `jser_weeks`: 全てのJSer週を取得\n   - `jser_weeks_between`: 二つの日付の間のJSer週を取得\n   - `jser_week_with_item_url`: アイテムを含むJSer週を取得\n   - `jser_item_with_item_url`: URLからJSerアイテムを取得\n\n### 利用できるtool\n\nJSer.info MCPでは、次の tool が利用できます。\n\n#### jser_search_items\n\nタイトル、説明、URL、タグでアイテムを検索します。スペースで区切られた複数のキーワードをOR検索します。\n\nパラメータ:\n- `query`: 検索クエリ（1-100文字）。スペースで区切られた複数のキーワードをOR検索\n- `limit`: 返す結果の最大数（1-100、デフォルト: 10）\n- `offset`: 結果のオフセット（0以上、デフォルト: 0）\n- `order`: ソート順序\n  - `desc`: 新しい順（デフォルト）\n  - `asc`: 古い順\n\n返り値:\n- アイテムの配列\n  - `title`: アイテムのタイトル\n  - `url`: アイテムのURL\n  - `content`: アイテムの説明文\n  - `tags`: タグの配列\n  - `date`: 登録日時\n  - `relatedLinks`: 関連リンクの配列\n\n#### jser_search_posts\n\nタイトル、説明、URL、タグで投稿を検索します。\n\nパラメータ:\n- `query`: 検索クエリ（1-100文字）\n- `limit`: 返す結果の最大数（1-100、デフォルト: 10）\n- `offset`: 結果のオフセット（0以上、デフォルト: 0）\n- `sort`: ソート順\n  - `relevance`: 関連度順（デフォルト）\n  - `date`: 日付順\n- `order`: ソート順序\n  - `desc`: 新しい順/関連度高順（デフォルト）\n  - `asc`: 古い順/関連度低順\n\n返り値:\n- 投稿の配列\n  - `title`: 投稿のタイトル\n  - `url`: 投稿のURL\n  - `content`: 投稿の内容\n  - `tags`: タグの配列\n  - `date`: 投稿日時\n\n\n#### jser_product_name\n\nURLからプロダクト名を取得します。\n\nパラメータ:\n- `url`: 製品のURL（必須）\n\n返り値:\n- 製品情報のオブジェクト\n  - `name`: プロダクト名\n  - `url`: 製品のURL\n  - `releaseNoteProbability`: リリースノートである確率\n  - `releaseNoteVersion`: リリースノートのバージョン情報（該当する場合）\n  - `releaseNoteURL`: リリースノートのURL（該当する場合）\n\n#### jser_week\n\n番号からJSer週を取得します。\n\nパラメータ:\n- `number`: JSer週の番号（必須）\n\n返り値:\n- JSer週のオブジェクト\n  - `number`: JSer週の番号\n  - `startDate`: 開始日\n  - `endDate`: 終了日\n  - `items`: その週のアイテムリスト\n  - `posts`: その週の投稿リスト\n\n#### jser_weeks\n\n全てのJSer週を取得します。\n\n返り値:\n- JSer週オブジェクトの配列\n  - `number`: JSer週の番号\n  - `startDate`: 開始日\n  - `endDate`: 終了日\n  - `items`: その週のアイテムリスト\n  - `posts`: その週の投稿リスト\n\n#### jser_weeks_between\n\n指定した期間のJSer週を取得します。\n\nパラメータ:\n- `beginDate`: 期間の開始日（必須）\n- `endDate`: 期間の終了日（必須）\n\n返り値:\n- JSer週オブジェクトの配列\n  - `number`: JSer週の番号\n  - `startDate`: 開始日\n  - `endDate`: 終了日\n  - `items`: その週のアイテムリスト\n  - `posts`: その週の投稿リスト\n  - `itemsCount`: アイテム数\n  - `postsCount`: 投稿数\n\n#### jser_week_with_item_url\n\n指定したURLのアイテムを含むJSer週を取得します。\n\nパラメータ:\n- `item_url`: アイテムのURL（必須）\n\n返り値:\n- JSer週のオブジェクト\n  - `number`: JSer週の番号\n  - `startDate`: 開始日\n  - `endDate`: 終了日\n  - `items`: その週のアイテムリスト\n  - `posts`: その週の投稿リスト\n\n#### jser_item_with_item_url\n\n指定したURLのアイテムを取得します。\n\nパラメータ:\n- `url`: アイテムのURL（必須）\n\n返り値:\n- アイテムのオブジェクト\n  - `title`: タイトル\n  - `url`: URL\n  - `description`: 説明\n  - `tags`: タグの配列\n  - `date`: 日付\n  - `relatedLinks`: 関連リンクの配列\n\n## Source\n\nデータの取得は`@jser/data-fetcher`を利用する\n\n- データ取得の感覚は最後に実行してから1分経過したら再取得する\n- つまり1分間はキャッシュのデータを利用する\n\n検索には[DataSet](https://github.com/jser/dataset)を利用する\n\n```markdown\nItem: 紹介するサイトのこと\n    1 Item = 1 サイト\n    すべてのデータのoriginとなるものです\n    サイトごとにタイトル、URL、登録した日付、タグなどが含まれています\n    API: https://jser.info/source-data/items.json\nPost: JSer.infoに投稿される記事のこと\n    1 Post = 1 記事\n    それぞれの記事のタイトル、URL、タグ、日付などが含まれます\n    @jser/statを使うことでItemとPostを元に指定したサイトが紹介された記事を検索できます\n    API: https://jser.info/posts.json\nPost Item: JSer.infoに投稿された記事中のItem(サイト)のこと\n    1 Post Item = 1 サイト\n    基本的にはItemと同じだが、Post ItemはPost(記事)におけるカテゴリ（ヘッドラインなど）が含まれます\n    カテゴリの種類は @jser/post-parser を参照してください\n    Itemを元に投稿時に編集している場合などもあるため、ItemとPost Itemは必ずしも一致するわけではありません\n    制限: カテゴリ区別が付けられたのは2014-08-03からであるため、それ以前のデータは含まれない\n    Postにはすべての記事は含まれるがPost Itemのデータは含まれていない\n    API: https://jser.info/public/data/post-details.json\n```\n\nプロダクト名の検索には[JSer.info Product Name API](https://github.com/jser/product-name)を利用する\n\n```bash\n$ curl \"https://jser-product-name.deno.dev/?url=https://deno.com/blog/v1.19\"\n{\"name\":\"Deno\",\"url\":\"https://deno.com\",\"releaseNoteProbability\":0.7619047619047619,\"releaseNoteVersion\":\"v1.19\"}\n$ curl \"https://jser-product-name.deno.dev/?url=https://example.com\"\nnull # status code is 400\n```\n\nデータ抽出のロジックは [@jser/stat](https://github.com/jser/dataset/tree/master/packages/@jser/stat) を利用する。\n\n```markdown\n### findItemsBetween(beginDate, endDate): JSerItem[]\n\nreturn JSerItems between two dates\n\n### getJSerWeeks(): JSerWeek[]\n\nreturn all JSerWeeks\n\n### findJSerWeeksBetween(beginDate, endDate):  JSerWeek[]\n\nreturn JSerWeeks between two dates\n\n### findJSerWeek(number): JSerWeek\n\nnumber start with 1.\n\nreturn JSerWeek at the number.\n\n### findWeekWithItem(itemObject): JSerWeek\n\nreturn JSerWeek contain the itemObject.\n\n### findItemWithURL(URL): JSerItem\n\nreturn JSerItem match the `URL`.\n```\n\n\n## Changelog\n\nSee [Releases page](https://github.com/jser/mcp/releases).\n\n## Running tests\n\nInstall devDependencies and Run `pnpm test`:\n\n    pnpm test\n\n## Contributing\n\nPull requests and stars are always welcome.\n\nFor bugs and feature requests, [please create an issue](https://github.com/jser/mcp/issues).\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b my-new-feature`\n3. Commit your changes: `git commit -am 'Add some feature'`\n4. Push to the branch: `git push origin my-new-feature`\n5. Submit a pull request :D\n\n## Author\n\n- azu: [GitHub](https://github.com/azu), [Twitter](https://twitter.com/azu_re)\n\n## License\n\nMIT © azu\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjser%2Fmcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjser%2Fmcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjser%2Fmcp/lists"}