mcpField
P
ParseStream

ParseStream

远程服务
parsestream.com商业与营销06 周前更新

关于 ParseStream

ParseStream 是供团队监测 Reddit、X、LinkedIn、Quora 和 Hacker News 品牌提及的远程 MCP 服务。它评估相关性和购买意向、读取提及详情并起草回复供人工审核;不能发布内容或联系他人。

主要功能

  1. 01监测五个平台的品牌提及
  2. 02评估相关性与购买意向
  3. 03读取提及的完整详情
  4. 04起草回复供人工审核
  5. 05API 密钥按品牌限定访问

适用场景

  1. 01查看每周品牌提及
  2. 02识别显示购买意向的提及
  3. 03为选定帖子准备回复草稿

MCP 相关

通过无状态 Streamable HTTP,向 MCP 客户端提供品牌提及搜索、详情读取和回复起草工具。该服务不提供发布帖子或联系他人的工具。

配置

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

服务地址https://mcp.parsestream.com/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 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://mcp.parsestream.com/mcp需要授权

工具

详细介绍

ParseStream MCP 服务

添加到 Cursor 添加到 VS Code 许可证:MIT

ParseStream 会监控 Reddit、X、LinkedIn、Quora 和 Hacker News,查找对你品牌的提及,为每条提及评估相关性和购买意向,并生成回复草稿。本服务将这些功能交给你的 AI 助手:你可以询问本周大家对你的品牌有何评价、哪些提及听起来像是有人在寻找工具、调出某条提及的完整内容,并获取一份草稿,由你编辑后自行发送。

本服务无法发布任何内容。它没有任何工具可以向 Reddit、X、LinkedIn、Quora 或 Hacker News 发布内容,也无法联系任何人。

这是一个远程服务——无需在本地安装或运行任何内容,只需一个 URL 和一个 API 密钥。

端点https://mcp.parsestream.com/mcp(也可通过 https://parsestream.com/api/mcp 访问)
传输方式Streamable HTTP,无状态——无需维持会话
身份验证Authorization: Bearer ps_live_...
范围每个密钥对应一个品牌,根据密钥本身确定
速率限制每个密钥每分钟 100 个请求
历史记录滚动 30 天窗口

先获取 API 密钥

在 ParseStream 中,前往 品牌设置 → API 密钥,并创建一个密钥。密钥以 ps_live_ 开头,且只会显示一次,因此请直接将其复制到客户端配置中。

一个密钥仅对应一个品牌——服务只根据密钥确定你能访问谁的数据,不会读取参数。要连接第二个品牌,请创建第二个密钥,并使用不同的名称将其添加为第二个 MCP 服务。在品牌设置中撤销密钥后,MCP 访问权限会立即被切断。

这是 Mentions REST API 使用的同一个密钥,两者共用同一配额:每个密钥每分钟 100 个请求。每次 JSON-RPC 调用都会计入配额,包括客户端连接时获取的 tools/list。超出限制后,你会收到带有 Retry-After 标头的 429 响应。

安装

在与你的工具对应的配置块中,将 ps_live_xxxxxxxxxxxxxxxx 替换为你自己的密钥,然后重启客户端。这些客户端都可以通过环境变量读取密钥,而不必将密钥保存在文件中——请参阅 在不暴露密钥的情况下连接。如果这些文件位于代码仓库中,请先阅读该部分。

Claude Code
claude mcp add --transport http parsestream https://mcp.parsestream.com/mcp \
  --header "Authorization: Bearer ps_live_xxxxxxxxxxxxxxxx" \
  -s local

警告

请保留 -s local。-s project 作用域会将密钥以明文写入仓库根目录下的 .mcp.json——这个文件本来是要提交并与团队共享的。有效的 ParseStream 密钥会进入 git 历史记录;如果仓库是公开的,任何克隆仓库的人都能获得它。-s local(默认值)会将密钥存储在仓库外、你自己的用户配置中,并将其限定在此项目内;-s user 也会这样存储,但会让所有项目都能使用该服务。两者都不会在工作树中写入任何内容。如果团队确实需要共享 .mcp.json,请在其中放入变量,而不是密钥——见下文。

通过 claude mcp list 验证,或者直接问助手 “我连接的是哪个 ParseStream 品牌?”——它应该会说出你的品牌,并列出你跟踪的关键词。

Claude Code 也可以将此仓库安装为插件,为你设置好服务,并从环境变量而不是配置文件中读取密钥:

/plugin marketplace add parsestream/parsestream-mcp
/plugin install parsestream@parsestream

然后在 shell 配置文件中导出 PARSESTREAM_API_KEY=ps_live_...。

Cursor

~/.cursor/mcp.json(或项目内的 .cursor/mcp.json——注意事项同上,请勿提交):

{
  "mcpServers": {
    "parsestream": {
      "url": "https://mcp.parsestream.com/mcp",
      "headers": {
        "Authorization": "Bearer ps_live_xxxxxxxxxxxxxxxx"
      }
    }
  }
}

顶部的 Add to Cursor 徽章会为你写入此文件,并填入占位密钥——之后请在 Cursor 的 MCP 设置中打开该条目,并粘贴你的真实密钥。

VS Code(GitHub Copilot)

.vscode/mcp.json——请注意,顶层键是 servers,而不是 mcpServers。VS Code 在这里与众不同:

{
  "servers": {
    "parsestream": {
      "type": "http",
      "url": "https://mcp.parsestream.com/mcp",
      "headers": {
        "Authorization": "Bearer ps_live_xxxxxxxxxxxxxxxx"
      }
    }
  }
}

.vscode/mcp.json 通常会被提交,因此请优先使用 VS Code 的 inputs 机制,或你的用户级 mcp.json(在命令面板中选择 MCP: Open User Configuration),而不是将有效密钥粘贴到受版本控制的文件中。

Codex CLI

~/.codex/config.toml。Codex 可以从环境变量读取密钥,这样密钥就完全不会进入配置文件:

[mcp_servers.parsestream]
url = "https://mcp.parsestream.com/mcp"
bearer_token_env_var = "PARSESTREAM_API_KEY"

然后在 shell 配置文件中执行 export PARSESTREAM_API_KEY="ps_live_xxxxxxxxxxxxxxxx"。如果你更想直接写入密钥,请使用 http_headers——注意,键名是 http_headers,不是 headers:

[mcp_servers.parsestream]
url = "https://mcp.parsestream.com/mcp"
http_headers = { Authorization = "Bearer ps_live_xxxxxxxxxxxxxxxx" }
Grok

Grok 没有可供列出服务的连接器目录,但 Grok 支持自带 MCP 服务:在 grok.com/connectors 添加自定义连接器,URL 为 https://mcp.parsestream.com/mcp,并设置 Authorization 请求头,值为 Bearer ps_live_...。

Grok 的终端 Agent 会读取 Claude Code 的 MCP 配置,因此如果你已运行上面的 claude mcp add 命令,这里就已经连接好了。

Claude Desktop 和 claude.ai

目前还不支持。Anthropic 连接器目录的收录计划尚未推出,因此 Claude 应用中没有一键安装选项。Claude Code 目前即可使用,也是最快的体验方式。

在不暴露密钥的情况下连接

只有一条规则:密钥应放在环境变量中,或放在主目录下的文件中,绝不要放在你会提交的文件里。 ~/.claude.json、~/.cursor/mcp.json 和 ~/.codex/config.toml 都位于仓库之外,将密钥存放在其中是安全的。.mcp.json、.cursor/mcp.json 和 .vscode/mcp.json 是这些文件的项目级版本,三者的用途都是与团队共享——Claude Code 和 VS Code 的文档甚至会直接建议你提交它们。密钥就是在这些地方泄露的。

下面列出的每种客户端都可以从环境变量中读取密钥。各客户端的语法有所不同,这正是本节要提供四段代码,而不是一段的原因。只需导出一次:

export PARSESTREAM_API_KEY="ps_live_xxxxxxxxxxxxxxxx"
Codex CLI

Codex 是四种客户端中唯一存储变量名称而不是变量值的,因此任何类似密钥的内容都不会写入文件:

[mcp_servers.parsestream]
url = "https://mcp.parsestream.com/mcp"
bearer_token_env_var = "PARSESTREAM_API_KEY"

或者,不修改文件:

codex mcp add parsestream --url https://mcp.parsestream.com/mcp \
  --bearer-token-env-var PARSESTREAM_API_KEY

该配置文件只包含变量名称和 URL,可以直接安全提交。这正是理想的设计;相比之下,其他三种方式都只是权宜之计。

Claude Code

-s local(默认值)和 -s user 都会写入主目录中的 ~/.claude.json。不会有任何内容写入工作树,也无需进一步操作——上方安装部分中的 claude mcp add 命令本身就是安全的。

如果需要将条目限定在项目范围内并与他人共享,请使用变量。Claude Code 会在 command、args、env、url 和 headers 中展开 ${VAR} 和 ${VAR:-default},因此已提交的 .mcp.json 可以包含此引用:

{
  "mcpServers": {
    "parsestream": {
      "type": "http",
      "url": "https://mcp.parsestream.com/mcp",
      "headers": {
        "Authorization": "Bearer ${PARSESTREAM_API_KEY}"
      }
    }
  }
}

这正是插件提供的内容,因此插件无需你自行准备配置文件。

重要

**如果变量未设置,Claude Code 不会报错——而是直接发送字面文本。**服务器会识别这种情况并说明原因,在 401 的 error_description 中指出变量名称:

未展开的变量,并非错误密钥:你的 MCP 客户端发送了引用
`${PARSESTREAM_API_KEY}`,而非它所代表的值,这意味着客户端运行环境中未设置
PARSESTREAM_API_KEY。请在 shell 配置文件中导出
PARSESTREAM_API_KEY=ps_live_...,然后完全重启客户端,使其继承该值。

仅在交互式 shell 中执行的导出操作,或从桌面而非终端启动的客户端,都会导致这种情况。

${input:...} 提示是 VS Code 的功能;Claude Code 不支持它,使用该提示的配置也会发送字面文本。

Cursor

原理相同,写法不同:Cursor 使用 ${env:NAME},而非 ${NAME}。这些文件看起来相似,但不能互换;在此处粘贴 Claude Code 配置会原样发送占位符。

{
  "mcpServers": {
    "parsestream": {
      "url": "https://mcp.parsestream.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:PARSESTREAM_API_KEY}"
      }
    }
  }
}

Cursor 会在 command、args、env、url 和 headers 中展开它。如果配置仅供你自己使用,请将其保存在 ~/.cursor/mcp.json 中;${env:...} 这种写法可确保项目级 .cursor/mcp.json 安全地提交。

VS Code (GitHub Copilot)

.vscode/mcp.json 的设计用途是提交到版本库,因此在其中直接写入密钥,与使用 -s project 是同样的错误。请使用 ${env:VAR},或将 envFile 指向一个被 git 忽略的 .env 文件:

{
  "servers": {
    "parsestream": {
      "type": "http",
      "url": "https://mcp.parsestream.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:PARSESTREAM_API_KEY}"
      }
    }
  }
}

VS Code 还提供 inputs 机制,可提示输入一次并记住答案——在顶层设置 {"type": "promptString", "id": "parsestream-key", "password": true},然后通过 ${input:parsestream-key} 引用。文档中的示例将其放在 env 块中;没有文档示例展示在 HTTP headers 块中使用 ${input:},因此请将这种组合视为未经测试。对于此服务,建议优先使用 ${env:...} 或 envFile。VS Code 对保存方式的描述仅为“安全存储”,并未承诺使用 OS 密钥链。

密钥管理器

以下两种方式都可以与上面的配置搭配使用:它们会填充环境变量,由客户端读取,不会更改任何文件。

  • 1Password CLI — 将 PARSESTREAM_API_KEY 保存为 op:// 引用,并通过它启动客户端:op run -- claude。密钥仅在该进程运行期间存在。在 Claude Code 自身的配置中解析 op:// 是一项尚未实现的请求,目前无法使用。
  • direnv — 创建一个被 git 忽略的 .envrc,其中包含 export PARSESTREAM_API_KEY=ps_live_...,然后运行 direnv allow。进入该目录时,密钥会存在于环境变量中;离开后则不会存在。
如果你已经提交了密钥

撤销它。品牌设置 → API 密钥,删除该密钥、生成一个新密钥,并更新你的环境变量。先做这些再处理其他事——重写 Git 历史记录无法消除已泄露的密钥,只会让它更难在自己的仓库中被找到。请假设任何推送到公共远程仓库的内容都会在几分钟内被抓取。

撤销操作的成本本来就很低:密钥仅限于单个品牌,每个品牌最多可持有十个有效密钥,撤销后会立即切断 MCP 和 REST 访问。没有理由继续使用已泄露的密钥。

计划中:OAuth

真正的解决方案不是使用密钥。OAuth 支持已列入路线图——客户端可通过浏览器授权页面获取限定范围的令牌,不会在任何地方写入长期有效的凭据,这一节也就没有存在的必要了。目前尚未发布;在此之前,请使用环境变量。

工具

共有 7 个工具。只有 draft_reply 会产生费用。

工具功能访问权限费用
get_brand_context完整工作区信息:品牌资料和竞争对手、每个已跟踪关键词及其 ID 和监控平台,以及积分余额和是否可以起草回复读取免费
search_mentions搜索所有 5 个平台上的提及。可按时间范围、平台、意图、相关性评分、关键词、subreddit、提及类型或状态筛选。每页最多 30 条读取免费
get_mention单条提及的完整信息:未截断的正文、父帖子标题、点赞数、subreddit 规模,以及是否已有回复草稿读取免费
draft_reply为一条提及生成回复草稿,并保存到草稿队列。可选择语气和长度,或使用品牌已保存的默认设置写入草稿5 个积分
mark_mention_replied设置或清除一条提及的已回复标记——与 Web 应用中的切换开关相同写入标记免费
highlight_mention为一条提及加星标或取消星标,以便在聊天结束后仍保留在精选列表中写入标记免费
get_brand_details品牌名称、描述和网站,仅此而已。读取一条已索引的记录,几毫秒内即可返回读取免费

关于这张表,有两点需要说明。

get_brand_details 看起来应该和 get_brand_context 放在一起,但实际上列在最后。这是有意安排的:tools/list 按固定顺序提供服务,因此不同请求的响应逐字节一致,客户端也可以缓存工具列表区块。新工具只会追加,绝不会插入,因为插入会使每个客户端从该位置开始的缓存失效。

这两个写入标记的工具只会编辑 ParseStream 自己记录的提及信息。它们不会更改平台上的帖子或评论,也不会通知任何人。

工作流程

实际会话如下。由助手选择工具;你只需正常对话。

**你:**这周有什么值得回复的吗?

  1. get_brand_details——我在为谁工作。名称、描述和网站,几毫秒内返回。
  2. 使用 timeframe: "7d"、intents: ["BUY_INTENT", "PRODUCT_QUESTION"]、relevanceMin: 4、statuses: ["new"] 调用 search_mentions——这两个意图标签表示有人正在积极寻找解决方案,只保留确信度高的关键词匹配,不包含已处理的内容。
  3. 对看起来最合适的两条调用 get_mention。搜索结果足以进行初步筛选;点赞数、互动机会标记,以及“是否已有回复草稿”等信息只有在这里才会返回。
  4. 使用 approach: "value_first" 和 replyLength: "short" 调用 draft_reply。费用为 5 个积分,需要 5–20 秒,并会返回文本。
  5. 你打开 parsestream.com/replies,阅读草稿、进行编辑,然后自行发布。
  6. 调用 mark_mention_replied——该帖子串就不会再出现在 statuses: ["new"] 中。

批量起草前先调用 get_brand_context,助手就会告诉你准确的积分余额、重置日期,以及该账户是否可以起草回复。

容易踩坑的地方
  • 两种时间。 timeframe/from/to 按检测时间截取时间窗口,但结果按发布时间排序。一条一周前发布、但一小时前才检测到的提及,会落在 1d 窗口内,并排到最后一页。因此,只有在将某个时间窗口翻页至末尾(pagination.hasNext 为 false)后,推进 from 游标才安全。
  • 空值表示“全部”。 每个列表筛选条件——platforms、intents、statuses、keywordIds、subreddits、mentionTypes——在省略或为空时都表示“不缩小范围”,绝不表示“没有”。
  • intents 会排除未标记的提及。 六种标签分别是 BUY_INTENT、PRODUCT_QUESTION、COMPETITOR_COMPLAINT、PAIN_POINT、TESTIMONIAL 和 PROMOTIONAL。意图标记是按账户选择启用的,因此任何非空的 intents 列表都会排除标记器从未分类的提及——即使列出全部六种也不例外;这表示“已标记为任意类型”,而不是“不筛选”。
  • statuses: ["new"] 表示未处理。 它会排除已加星标的提及以及已回复的提及,因此给提及加星标会将其移出新提及队列。
  • keywordIds 会静默失败。 未识别的 ID 会从筛选条件中丢弃,而不是被拒绝,因此拼写错误会静默缩小搜索范围,不会报错。
  • 30 天,每页 30 条。 历史记录最多为 30 天;请求更早的记录会返回明确错误,而不是空结果。更大的 perPage 会被限制为 30,而非拒绝请求。

此服务无法执行的操作

值得明确说明,因为助手有时会声称可以做到:

  • 它绝不会发布内容。 没有任何工具会向 Reddit、X、LinkedIn、Quora 或 Hacker News 发布内容。它最多只能在你的草稿队列中写入草稿。
  • 它绝不会联系任何人。 不会发送私信、电子邮件,也不会向提及内容的作者发送通知。
  • 它只会访问你自己品牌的记录。 品牌由 API 密钥决定,而不是由工具参数指定,因此从设计上就不可能跨租户访问。属于其他品牌的提及会显示为未找到,与从未存在过的 ID 完全相同。
  • 它不会删除任何内容。 唯一的写入操作是创建一条回复草稿,以及更改你自己提及记录上的两个布尔标记。
  • draft_reply 返回的是草稿,而不是回复。 用户需前往 parsestream.com/replies 打开草稿、阅读、编辑并发送。如果你的助手声称自己发布了内容,那它并没有发布。

读取功能适用于任何套餐。draft_reply 需要有效订阅或试用,并且至少有 5 个额度——与应用中的 建议回复 按钮使用相同的限制。

故障排除

没有显示任何工具。 几乎总是请求头的问题。它必须准确写为 Authorization: Bearer ps_live_...,包括单词 Bearer。

401 Unauthorized。 查看 error_description。如果配置引用了一个尚未替换的 环境变量,服务端会说明这一点并指出变量名称——设置该变量并重启客户端;请参阅 在不暴露密钥的情况下连接。其他 401 都表示密钥确实输入错误或已撤销,请在品牌设置 → API 密钥下创建一个新密钥。

搜索结果为空。 先询问品牌背景信息——关键词可能已暂停, 或者未在你所询问的平台上受到监控。get_brand_context 会返回已暂停的关键词,而不是将其隐藏, 正是为了让你能查明这一点。

拒绝起草内容。 没有有效订阅,或余额低于 5 个积分。 get_brand_context 返回的 plan.canDraftReplies 字段可以直接说明这一点。无论哪种情况,读取功能都仍可正常使用。

429 Too Many Requests。 每个密钥每分钟限 100 次,与 REST API 共用限额,且每次 JSON-RPC 调用都会计入。 等待 Retry-After 指定的时间,或为每个客户端使用单独的密钥。

若要完全排除客户端的影响,请直接调用服务。Streamable HTTP 要求在 Accept 中包含两种内容类型:

curl -sS -X POST https://mcp.parsestream.com/mcp \
  -H "Authorization: Bearer ps_live_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

移除 Authorization 请求头后,你应该会收到一个 401,其 error_description 会准确说明服务端需要什么——这是确认你连接到的是 ParseStream 而非代理的一种快捷方式。

链接

许可证

MIT — 请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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