Skip to main content
Glama
jser

JSer.info MCP Server

Official
by jser

@jser/mcp

An MCP Server for JSer.info

Usage

How to use with VSCode

In VSCode, you can use the JSer.info MCP in one of two ways:

You can add a remote server in one of the following ways:

Method 1: Add from command line
code --add-mcp '{"name":"jser-info-mcp","url":"https://mcp.jser.info/mcp"}'
Method 2: Add to settings.json

Add the following to your VSCode settings.json:

"mcp": {
  "servers": {
    "jser-info-mcp": {
      "url": "https://mcp.jser.info/mcp"
    }
  }
}

This will automatically enable the JSer.info MCP.

When using a local server

  1. Start @jser/mcp in the terminal

    npx @jser/mcp
  2. Open the VSCode command palette ( Cmd+Shift+P or Ctrl+Shift+P ) and run "MCP: Add Server..."

  3. Enter the server URL http://localhost:14561/mcp to connect.

Available features

Once connected, the following tools will be available:

  • jser_search_items : Search items by title, description, URL, and tags (multiple keywords can be ORed)

  • jser_search_posts : Search posts by title, description, URL, tags

  • jser_product_name : Get the product name from the URL

  • jser_week : Get the JSer week from a number

  • jser_weeks : Get all JSer weeks

  • jser_weeks_between : Get the number of JSer weeks between two dates

  • jser_week_with_item_url : Get the JSer week with an item

  • jser_item_with_item_url : Get a JSer item from a URL

Available tools

The following tools are available in JSer.info MCP:

jser_search_items

Search for items by title, description, URL, and tags. Multiple keywords separated by spaces can be ORed.

Parameters:

  • query : Search query (1-100 characters). Multiple keywords separated by spaces are ORed.

  • limit : Maximum number of results to return (1-100, default: 10)

  • offset : the offset of the result (greater than or equal to 0, default: 0)

  • order : sort order

    • desc : Newest first (default)

    • asc : Oldest first

Returns:

  • An array of items

    • title : The title of the item.

    • url : The URL of the item.

    • content : Item description

    • tags : An array of tags

    • date : Date and time of registration

    • relatedLinks : An array of related links

jser_search_posts

Search posts by title, description, URL, and tags.

Parameters:

  • query : Search query (1-100 characters)

  • limit : Maximum number of results to return (1-100, default: 10)

  • offset : the offset of the result (greater than or equal to 0, default: 0)

  • sort : sort order

    • relevance : relevance (default)

    • date : By date

  • order : sort order

    • desc : Newest/Most relevant (default)

    • asc : Oldest first/Least relevant

Returns:

  • An array of posts

    • title : The title of the post

    • url : The URL of the post

    • content : Post content

    • tags : An array of tags

    • date : Post date and time

jser_product_name

Get the product name from the URL.

Parameters:

  • url : Product URL (required)

Returns:

  • Product Information Object

    • name : Product name

    • url : Product URL

    • releaseNoteProbability : Probability that it is a release note

    • releaseNoteVersion : Release note version information (if applicable)

    • releaseNoteURL : The URL of the release notes (if applicable)

jser_week

Get JSer week from number.

Parameters:

  • number : JSer week number (required)

Returns:

  • JSer Week Object

    • number : JSer week number

    • startDate : start date

    • endDate : End date

    • items : The list of items for that week

    • posts : List of posts for the week

jser_weeks

Get all JSer weeks.

Returns:

  • An array of JSer week objects

    • number : JSer week number

    • startDate : start date

    • endDate : End date

    • items : The list of items for that week

    • posts : List of posts for the week

jser_weeks_between

Gets the JSer week for the specified period.

Parameters:

  • beginDate : The start date of the period (required)

  • endDate : End date of the period (required)

Returns:

  • An array of JSer week objects

    • number : JSer week number

    • startDate : start date

    • endDate : End date

    • items : The list of items for that week

    • posts : List of posts for the week

    • itemsCount : Number of items

    • postsCount : Number of posts

jser_week_with_item_url

Gets the JSer week that contains the item for the specified URL.

Parameters:

  • item_url : Item URL (required)

Returns:

  • JSer Week Object

    • number : JSer week number

    • startDate : start date

    • endDate : End date

    • items : The list of items for that week

    • posts : List of posts for the week

jser_item_with_item_url

Gets the item at the specified URL.

Parameters:

  • url : The URL of the item (required)

Returns:

  • Item object

    • title : Title

    • url : URL

    • description : Description

    • tags : An array of tags

    • date : date

    • relatedLinks : An array of related links

Related MCP server: Documentation Search MCP Server

Source

Use @jser/data-fetcher to get data

  • The interval for data acquisition is to re-acquire data one minute after the last execution.

  • In other words, cached data is used for one minute.

Use DataSets for searches

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

Use the JSer.info Product Name API to search for product names

$ 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

The data extraction logic uses @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`.

Changelog

See Releases page .

Running tests

Install devDependencies and Run pnpm test :

pnpm test

Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, please create an issue .

  1. Fork it!

  2. Create your feature branch: git checkout -b my-new-feature

  3. Commit your changes: git commit -am 'Add some feature'

  4. Push to the branch: git push origin my-new-feature

  5. Submit a pull request :D

Author

License

MIT © azu

Related MCP Connectors

Related MCP Servers