2 分•作者: tycoop81•12 个月前
返回首页
最新
1 分•作者: cryophobic•12 个月前
我为 Tally 构建了一个 MCP 服务器,它弥合了他们复杂的 API 和简单的自然语言命令之间的差距。
作为一个患有 ADHD 的人,我构建这个是因为在文档、表单构建器和实际工作之间切换上下文会破坏我的工作流程。现在我可以保持在一个对话中,只需描述我需要什么即可。
有趣的的技术挑战:
1. API 复杂性抽象
Tally 的 API 需要深度嵌套的对象来表示简单的字段。一个电子邮件字段需要大约 10 个带有 UUID 的嵌套对象。我构建了一个翻译层,因此用户只需用自然语言说“添加一个电子邮件字段”,服务器就会在幕后处理复杂的结构。
2. 安全的批量操作
对于破坏性操作,我实现了一个预览-确认模式。服务器在预览期间生成一个确认令牌,该令牌必须传回才能执行。这可以防止意外的大规模删除,同时保持对话流程的自然性。
3. 智能速率限制
服务器监控 API 响应并动态调整其行为。当达到速率限制时,它会自动减小批量大小并在请求之间添加延迟。增加了随机化,以防止多个实例同时访问 API。
4. 贯穿始终的类型安全
完整的 TypeScript,并对 MCP 消息和 Tally API 响应进行运行时验证。这在开发过程中发现了几个未记录的 API 缺陷。
性能说明:
* 批量创建 100 个表单:大约 12 秒,使用批量操作
* 单独创建 100 个表单:大约 5 分钟,由于速率限制
* 人工创建 100 个表单:可能需要一整周的令人麻木的点击
* 对 10K 响应的提交分析:大约 3 秒
代码已获得 ISC 许可:[https://github.com/learnwithcc/tally-mcp](https://github.com/learnwithcc/tally-mcp)
这尤其有助于当您需要创建多个相似的表单,但您的大脑会抵制重复性任务时。很好奇其他人是否正在构建 MCP 服务器,以及您正在优化哪些工作流程。
也对关于 MCP 与传统 CLI 工具的看法感兴趣。对于简单操作,对话界面较慢,但对于复杂、多步骤的任务(您可能忘记确切的语法)来说,它要好得多。
1 分•作者: platunit10•12 个月前
1 分•作者: gk1•12 个月前
1 分•作者: smartmic•12 个月前
1 分•作者: sircalvin•12 个月前
1 分•作者: ditegashi•12 个月前
1 分•作者: alanrigby•12 个月前
33 分•作者: ArcHound•12 个月前
55 分•作者: robinhouston•12 个月前
1 分•作者: tnr23•12 个月前
1 分•作者: Bluestein•12 个月前
2 分•作者: speckx•12 个月前
2 分•作者: mitchbob•12 个月前
1 分•作者: xeonmc•12 个月前
1 分•作者: andy_xor_andrew•12 个月前
5 分•作者: JSLegendDev•12 个月前
1 分•作者: ls-a•12 个月前
6 分•作者: rntn•12 个月前
1 分•作者: handfuloflight•12 个月前