dsh-toolkit

dsh-toolkit

Exposes 20 deterministic tools for finance, data, content, and lifestyle tasks via MCP, A2A, and REST interfaces, enabling automation and multi-agent workflows.

Category
Visit Server

README

DSH Plugin Toolkit

5 层突破基础设施 + 插件循环开发流水线。核心零运行时依赖;Bridge 层基于官方 @modelcontextprotocol/sdk。

五层架构(v2)

层 目录 说明
L1 MCP Bridge src/bridge/ 官方 MCP SDK McpServer.registerTool + StdioServerTransport,原生兼容 Claude/Cursor 等所有 MCP 客户端;server-lite.ts 保留无依赖手写版
L2 A2A Cards src/a2a/ 对齐 Google A2A Protocol v1.0 规范;dsh a2a serve 基于 @a2a-js/sdk 起真实 A2A Server(JSON-RPC + REST,技能级路由)
L3 Loop Engineering src/loop/ 6 验证器 + 三维启发式自批判 + 线性回退重试(有单元测试覆盖)
L4 Cost Governance src/cost/ 三层预算状态机 OK→WARNING→CRITICAL→EXCEEDED,超限抛 CostExceededError 阻断
L5 Multi-Agent Demo src/demo/、src/agents/ 种子 PRNG 确定性编排,4 阶段并行调度

插件发现三级降级:完整 cordis.yml → 仅运行时数量(count-only) → 源码正则提取(regex)。 所有工具共享统一契约:MCP 入参 { input_data: string }。

快速开始

npm install
npm run build          # 编译核心 + 全部插件

npx dsh list           # 列出发现的插件与工具
npm test               # 单元测试 (node:test, 9 cases)
npx dsh bridge         # 启动官方 SDK MCP stdio 服务器
npx dsh a2a gen        # 生成 a2a-cards/*.agent-card.json (A2A v1.0)
npx dsh a2a serve      # 启动真实 A2A v1.0 服务器 (:41241)
npx dsh llm models     # 列出本地 Ollama 模型(免费推理)
npx dsh llm ask "..."  # 本地 LLM 生成 + L3 验证循环
npx dsh demo carbon [--llm]  # L5 多Agent Demo(--llm 用本地 Ollama 真实合成)
npx dsh serve [port]   # REST 网关: POST /invoke,API-Key 计费 + 限流 (:8787)
npx dsh registry gen   # 市场目录: registry.json + index.html

内置插件(20 个)

财务:invoice-calc / loan-calc / invest-growth / salary-tax / fx-rates 数据与开发:csv-stats / json-format / regex-lab / codec-kit / text-diff / date-math 内容与营销:seo-audit / text-summary / readability / markdown-report 生活工具:health-metrics / unit-convert / color-kit / pass-forge 垂直行业:carbon-baseline

循环开发新插件

npx dsh scaffold my-tool   # 生成 plugins/dsh-tool-my-tool/
npm run build              # 编译后即刻被 Bridge/A2A/Demo 发现
npx dsh list               # 验证

在生成的 src/index.ts 中实现 handler:入参 input_data: string, 返回字符串。输出末尾包含免责声明即可通过全部验证器。

预算配置

项目根目录放置 dsh.budget.json:

{ "monthly": 5000000, "user": 200000, "plugin": 50000 }

不配置则不限制(仅追踪用量)。

发布路径

  • MCP 市场:npm pack 后以 stdio 方式接入 Claude Desktop / Cursor 等 MCP 客户端(入口 dist/bridge/server.js,官方 SDK 实现);可用 npx @modelcontextprotocol/inspector node dist/bridge/server.js 调试
  • Koishi 插件市场:npx dsh pack <plugin> 生成符合市场准入规范的发布包(koishi-plugin-* 命名、peerDependencies.koishi、koishi 元数据字段),cd publish/<name> && npm publish 即上架
  • A2A 注册中心:a2a-cards/ 直接兼容 Google A2A v1.0 规范,可用官方 @a2a-js/sdk ClientFactory 消费

CI

.github/workflows/ci.yml:build → 单元测试 → 发现/A2A/pack 冒烟 → MCP 协议冒烟 → 确定性校验。

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
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
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
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