Skip to main content
Glama

dsh-feed — Cross-ecosystem aggregation base ("aggregation of aggregations")

It does not directly build UI; it provides an open data layer: normalizes the GitHub dsh-plugin topic and npm registry into an open JSON index for any Agent / CLI / MCP / future UI to consume. Your plugin only does "sync + query" — others build UI on top of this data.

Why it's needed

  • Existing marketplaces each scrape data and maintain it themselves, closed-source and duplicative. dsh-feed becomes the data source: sync once, queryable across the entire ecosystem.

  • One plugin, three consumption surfaces:

    • Model tools: feed_sync / feed_search / feed_stats

    • CLI: dsh-feed sync|search|stats|mcp

    • MCP server (experimental): any MCP client (Cursor, Claude Desktop…) can query it

  • The index is an open JSON file (default .dsh/dsh-feed.json), plain text, diffable, and readable by any tool.

Related MCP server: npm-search-mcp-server

Installation

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

Usage

Model side

Tool

Description

feed_sync

Pull GitHub topic + npm → write index (network required)

feed_search

Query the index in natural language (English words + Chinese 2-grams)

feed_stats

Index statistics: total, sources, hot topics, npm coverage

CLI

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

MCP configuration example (any MCP client)

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

Index format (open data layer)

{
  "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" }
  ]
}

Design

  • lib/sync.js — scraping + normalization (GitHub search API + npm search API, token injectable).

  • lib/query.js — pure query logic (tokenization/scoring/statistics), zero-dependency and unit-testable.

  • lib/index-store.js — index file read/write (relative path + anti-escape validation).

  • bin/dsh-feed.js — CLI + minimal stdio MCP server (JSON-RPC 2.0).

  • Security: The index is written only to .dsh/ inside the session workspace; network requests happen only in feed_sync (explicitly triggered).

Roadmap

  • Hourly scheduled sync (dsh-schedule integration).

  • Web API read-only endpoints + more complete MCP tools (pagination/filtering/details).

  • Share the same data layer with dsh-need-finder / dsh-recipe (deduplicate scraping).

Testing

node test/feed.test.mjs

License

MIT

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers