mcpField
S
Stringer Grounded Synthesizer

Stringer Grounded Synthesizer

远程服务
synthesis.getstringer.app搜索与检索05 周前更新

关于 Stringer Grounded Synthesizer

Stringer Grounded Synthesizer 是研究服务的参考实现,可从经核实的公开来源提取引文并附上出处,适合需要有来源依据的综合结果的调用方。若内容无法满足核验要求,它会拒绝生成。

主要功能

  1. 01带出处的摘录式引文
  2. 02简要和深入综合模式
  3. 03基于多个来源进行核验
  4. 04无法依据来源时拒绝生成
  5. 05可注入研究提供方

适用场景

  1. 01生成带来源的主题简报
  2. 02请求跨来源的深入综合
  3. 03在本地测试依据核验和拒答行为

MCP 相关

通过 Streamable HTTP 提供 `synthesize_intelligence` 工具。MCP 客户端可向托管服务请求有来源依据的综合结果。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://synthesis.getstringer.app/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

1
参数类型必填说明
depthenum否研究深度:'brief'($0.10,至少 2 个来源)或 'deep'($0.25,至少 3 个来源)。默认值为 'brief'。brief | deep
topicstring是要综合分析的主题、实体或研究查询。
source_urlsarray否调用方提供的公共来源 URL。Brief 要求至少 2 个不同且经过验证的 URL;deep 要求至少 3 个。
domains_filterarray否用于筛选发现结果的可选域名列表。

详细介绍

Grounded Synthesizer(参考实现)

这是 Stringer Grounded Synthesizer 的可运行参考实现。它是一项研究服务,可从经过验证的公开来源中返回带引文的摘录式引文,并拒绝无法依据来源证实的主题。它复现了托管服务 synthesis.getstringer.app 上调用方可观察到的接口,不会隐藏调用方能看到的任何内容。

边界规则与 Worker 标头中所述的一致:未经身份验证的调用方能从外部观察到的行为,都属于此处的范围。需要 Bearer 令牌的管理统计路由、Durable Object 漏斗计数器、调用方哈希和服务提供商成本价目表均不在范围内。

参考实现的运行环境

Node.js 20 或更高版本。该 Worker 无依赖项,无需 API 密钥或外部状态即可运行,因为默认研究服务提供商是由固定样例数据支撑的存根。这样设计正是为了让任何人都能克隆代码库,端到端观察依据来源生成结果和拒绝行为,而无需持有任何付费密钥。

git clone <this repository>
cd synthesizer-public
node --test test_discovery.mjs test_worker.mjs

若要在本地将其作为 Worker 运行,请使用 Wrangler 4(npx wrangler dev)。无需设置密钥;参考实现的免费额度在进程内保存,并已在 wrangler.toml 中说明。

托管端点(本文档所述的服务)

  • MCP:https://synthesis.getstringer.app/mcp
  • MCP 工具:synthesize_intelligence
  • REST:POST https://synthesis.getstringer.app/v1/synthesize
  • REST 别名:POST https://synthesis.getstringer.app/v1/execute
  • 发现:/.well-known/mcp.json、/server.json、/llms.txt、/llms-full.txt、/robots.txt、/sitemap.xml

前 3 次调用完全免费,无需注册,也无需声明标头。额度不会重置。此后,简要合成费用为 0.10 美元,深度合成费用为 0.25 美元,均通过 Base 上的 x402 v2 USDC(eip155:8453)支付。额度用尽后,未付款的调用会返回 HTTP 402,并在 PAYMENT-REQUIRED 中提供接受的支付要求,在 X-402-Price-USD 中提供对应档位的价格。

依据来源生成的约定

  • 简要合成至少需要 2 个不同的已验证来源。
  • 深度合成至少需要 3 个不同的已验证来源。
  • 每项声明都是摘录式引文,并附有来源 URL 和字符偏移量。
  • GROUNDED:引文核验通过。
  • REFUSED_UNVERIFIED_CLAIMS:已验证来源少于所需数量,或引文未能通过逐字核验。
  • SOURCE_EXTRACTION_FAILED:无法获取或提取指定来源。

拒绝本身就是产品的全部声明。测试框架会先让依据来源生成的情形和拒绝情形各自测试失败,再让其通过,因此任何一条路径都不可能在测试从未失败过的情况下通过。

将存根替换为真实服务提供商

研究服务提供商是一个可注入的接口。synthesizeGroundedReport 接受 provider 参数,fetch 处理程序则读取 env.researchProvider。默认值为 createFixtureProvider(),它会搜索由 3 份来源文档组成的固定语料库,且不会发起网络调用。

真实服务提供商需实现相同的两个方法:

{
  async search(query, numResults, domainsFilter) {
    // Return [{ url, title }] from your search backend.
  },
  async extract(url) {
    // Return { ok: true, document: { url, title, markdown, via } } on success, or
    // { ok: false, source_url: url, stage, reason } on failure.
  },
}

可通过在 Worker 环境中导出服务提供商来接入,例如使用 Exa 搜索密钥和 Firecrawl 抓取密钥,并将它们作为 Worker 密钥保存。参考实现绝不将服务提供商的单位成本硬编码,也绝不提及托管服务内部的利润细节;读者只需更改此接口即可。

REST

curl -i https://synthesis.getstringer.app/v1/synthesize \
  -H 'Content-Type: application/json' \
  --data '{"topic":"Base network USDC settlement","depth":"brief"}'

免费响应会附带 X-Stringer-Access-Tier: free 和 X-Stringer-Free-Remaining。第 4 次调用会返回 HTTP 402。完整流程请参阅 openapi.json 和 RECIPES.md。

MCP

通过 https://synthesis.getstringer.app/mcp 使用 Streamable HTTP。客户端必须在 Accept 中同时发送 application/json 和 text/event-stream。服务器为 synthesize_intelligence 实现了 initialize、ping、tools/list 和 tools/call。

测试

node --test test_discovery.mjs test_worker.mjs
python3 -m py_compile client_sdk.py

许可证

MIT。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。