mcpField
@
@jser/mcp

@jser/mcp

本地服务
github.com/jser开发工具2277 周前更新

关于 @jser/mcp

@jser/mcp 是 JSer.info 的 MCP 服务,让 AI 客户端可以检索 JSer 的收录条目、投稿、周刊信息。适合需要查询 JS 相关资讯的开发者,可通过远程服务或本地进程接入。

主要功能

  1. 01检索收录条目与投稿
  2. 02按 URL 获取产品名称与版本信息
  3. 03按编号或日期范围查询 JSer 周刊
  4. 04按 URL 查找所在周刊或条目

适用场景

  1. 01在 VSCode 中通过 MCP 查询 JSer 收录的工具与文章
  2. 02查找某个产品的发布说明及版本信息
  3. 03按日期范围汇总一段时间内的 JSer 周刊内容

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 jser_search_items、jser_search_posts 等 8 个工具。可通过远程服务 https://mcp.jser.info/mcp 或本地 npx 启动后接入。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"jser": {
"command": "npx",
"args": [
"-y",
"@jser/mcp"
]
}
}
}
启动命令npx -y @jser/mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@jser/mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

@jser/mcp

JSer.info 的 MCP 服务

使用方法

在 VSCode 中使用

在 VSCode 中,可以通过以下任一方式使用 JSer.info MCP:

使用远程服务(推荐)

可以通过以下任一方式添加远程服务:

方法 1:从命令行添加
code --add-mcp '{"name":"jser-info-mcp","url":"https://mcp.jser.info/mcp"}'
方法 2:添加到 settings.json

在 VSCode 的 settings.json 中添加以下设置:

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

这样即可自动使用 JSer.info MCP。

使用本地服务
  1. 在终端中启动 @jser/mcp

    npx @jser/mcp
    
  2. 打开 VSCode 的命令面板(Cmd+Shift+P 或 Ctrl+Shift+P),运行「MCP: Add Server...」

  3. 在服务 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 提供以下工具。

jser_search_items

按标题、说明、URL、标签搜索条目。多个以空格分隔的关键词将进行 OR 搜索。

参数:

  • query:搜索查询(1-100 个字符)。多个以空格分隔的关键词将进行 OR 搜索
  • limit:返回结果的最大数量(1-100,默认值:10)
  • offset:结果偏移量(大于等于 0,默认值:0)
  • order:排序顺序
    • desc:从新到旧(默认)
    • asc:从旧到新

返回值:

  • 条目数组
    • title:条目标题
    • url:条目 URL
    • content:条目说明
    • tags:标签数组
    • date:登记日期
    • relatedLinks:相关链接数组
jser_search_posts

按标题、说明、URL、标签搜索帖子。

参数:

  • query:搜索查询(1-100 个字符)
  • limit:返回结果的最大数量(1-100,默认值:10)
  • offset:结果偏移量(大于等于 0,默认值:0)
  • sort:排序方式
    • relevance:按相关度排序(默认)
    • date:按日期排序
  • order:排序顺序
    • desc:从新到旧/相关度从高到低(默认)
    • asc:从旧到新/相关度从低到高

返回值:

  • 帖子数组
    • title:帖子标题
    • url:帖子 URL
    • content:帖子内容
    • tags:标签数组
    • date:发布日期
jser_product_name

根据 URL 获取产品名称。

参数:

  • url:产品 URL(必填)

返回值:

  • 产品信息对象
    • name:产品名称
    • url:产品 URL
    • releaseNoteProbability:属于发行说明的概率
    • releaseNoteVersion:发行说明的版本信息(如适用)
    • releaseNoteURL:发行说明的 URL(如适用)
jser_week

根据编号获取 JSer 周。

参数:

  • number:JSer 周编号(必填)

返回值:

  • JSer 周对象
    • number:JSer 周编号
    • startDate:开始日期
    • endDate:结束日期
    • items:该周的条目列表
    • posts:该周的帖子列表
jser_weeks

获取所有 JSer 周。

返回值:

  • JSer 周对象数组
    • number:JSer 周编号
    • startDate:开始日期
    • endDate:结束日期
    • items:该周的条目列表
    • posts:该周的帖子列表
jser_weeks_between

获取指定时间段内的 JSer 周。

参数:

  • beginDate:时间段的开始日期(必填)
  • endDate:时间段的结束日期(必填)

返回值:

  • JSer 周对象数组
    • number:JSer 周编号
    • startDate:开始日期
    • endDate:结束日期
    • items:该周的条目列表
    • posts:该周的帖子列表
    • itemsCount:条目数量
    • postsCount:帖子数量
jser_week_with_item_url

获取包含指定 URL 条目的 JSer 周。

参数:

  • item_url:条目 URL(必填)

返回值:

  • JSer 周对象
    • number:JSer 周编号
    • startDate:开始日期
    • endDate:结束日期
    • items:该周的条目列表
    • posts:该周的帖子列表
jser_item_with_item_url

获取指定 URL 的条目。

参数:

  • url:条目 URL(必填)

返回值:

  • 条目对象
    • title:标题
    • url:URL
    • description:说明
    • tags:标签数组
    • date:日期
    • relatedLinks:相关链接数组

源码

数据获取使用 @jser/data-fetcher

  • 自上次执行经过 1 分钟后会重新获取数据
  • 也就是说,1 分钟内会使用缓存数据

搜索使用 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`.

更新日志

请参阅 Releases 页面。

运行测试

安装 devDependencies 并运行 pnpm test:

pnpm test

贡献

欢迎提交拉取请求和点亮星标。

如有错误或功能请求,请创建一个议题。

  1. Fork 项目!
  2. 创建功能分支:git checkout -b my-new-feature
  3. 提交更改:git commit -am 'Add some feature'
  4. 推送到分支:git push origin my-new-feature
  5. 提交拉取请求 :D

作者

许可证

MIT © azu

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。