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.

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

-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • An MCP server that gives your AI access to the source code and docs of all public github repos

  • A MCP server built for developers enabling Git based project management with project and personal…

  • Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/863683348/dsh-feed'

If you have feedback or need assistance with the MCP directory API, please join our Discord server