dsh-feed

dsh-feed

Provides aggregated plugin index data from GitHub and npm as an MCP server, enabling search, stats, and sync via natural language or commands.

Category
Visit Server

README

dsh-feed — 跨生态聚合底座("聚合的聚合")

不直接做 UI,做开放数据层:把 GitHub dsh-plugin topic 和 npm registry 归一化成一份开放 JSON 索引,交给任何 Agent / CLI / MCP / 未来 UI 消费。你的插件只做"同步 + 查询"——别人基于这份数据再建 UI。

为什么需要它

  • 现有市场各自抓数据、各自维护,闭源且重复。dsh-feed 成为数据源:同步一次,全生态可查。
  • 一个插件,三种消费面:
    • 模型工具feed_sync / feed_search / feed_stats
    • CLIdsh-feed sync|search|stats|mcp
    • MCP server(实验性):任何 MCP 客户端(Cursor、Claude Desktop…)都能查
  • 索引是开放 JSON 文件(默认 .dsh/dsh-feed.json),明文、可 diff、可被任何工具读。

安装

dsh plugin --profile <profile> add dsh-feed
# 或只用 CLI(npm 全局):npm i -g dsh-feed

用法

模型侧

工具 说明
feed_sync 拉取 GitHub topic + npm → 写索引(需网络)
feed_search 自然语言查索引(英文词 + 中文 2-gram)
feed_stats 索引统计:总数、来源、热门 topic、npm 覆盖

CLI

dsh-feed sync                      # 同步(可选 GITHUB_TOKEN 提升限额)
dsh-feed search "移动端 远程"      # 查询
dsh-feed stats
dsh-feed mcp                       # 极简 stdio MCP server(实验性)

MCP 配置示例(任意 MCP 客户端)

{ "mcpServers": { "dsh-feed": { "command": "dsh-feed", "args": ["mcp"] } } }

索引格式(开放数据层)

{
  "updated": "2026-08-16T...",
  "sources": { "github": 200, "npm": 180 },
  "count": 380,
  "plugins": [
    { "name": "owner/repo", "url": "...", "description": "...", "stars": 42, "topics": ["dsh-plugin", "notify"], "npmName": "dsh-xxx" }
  ]
}

设计

  • lib/sync.js — 抓取 + 归一化(GitHub search API + npm search API,可注入 token)。
  • lib/query.js — 纯查询逻辑(分词/评分/统计),零依赖可单测。
  • lib/index-store.js — 索引文件读写(相对路径 + 防逃逸校验)。
  • bin/dsh-feed.js — CLI + 极简 stdio MCP server(JSON-RPC 2.0)。
  • 安全:索引只写会话工作区内的 .dsh/;网络请求仅发生在 feed_sync(显式触发)。

Roadmap

  • 每小时定时同步(dsh-schedule 接入)。
  • Web API 只读端点 + 更完整的 MCP 工具(分页/过滤/详情)。
  • 与 dsh-need-finder / dsh-recipe 共享同一数据层(去重复抓取)。

测试

node test/feed.test.mjs

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured