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.
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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.