mcpField
S
Since.dev

Since.dev

远程服务
since.dev开发工具04 周前更新

关于 Since.dev

Since.dev 是托管服务,其远程 MCP 服务让 Agent 监控依赖项和公开来源、核验记忆中的事实,并读取共享仓库与 Grant 数据。持久游标让 Agent 可从已确认的变更位置继续处理,而不必反复轮询。

主要功能

  1. 01监控依赖项与公开来源
  2. 02通过持久游标追踪变更
  3. 03依据观测核验记忆事实
  4. 04查看共享仓库与修复信息
  5. 05读取 Grant 团队状态和发现

适用场景

  1. 01跟踪依赖版本发布和来源变更
  2. 02Agent 重新连接后继续处理变更
  3. 03行动前核验记忆中的软件包信息
  4. 04审查共享仓库影响和拟议修复

MCP 相关

远程 MCP 服务通过 Streamable HTTP 连接,提供 World State、仓库、Grant 和账户用量相关的 20 个工具。访问需要工作区凭据,且权限需单独授予。

配置

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

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

工具

详细介绍

Since.dev

Since.dev MCP

让 Grant(你的首席运营官)和他的 AI 团队为你提供实时解答、团队状态与决策,以及 World State。

产品 · 文档 · MCP 参考

Since.dev 是一项托管服务,这里是它的远程 MCP 服务。它为 AI Agent 提供三类工具:

  • **Grant:**查看你的 AI 首席运营官 Grant 及其团队正在处理的工作,阅读发现和运行记录,向 Grant 提问,停止正在运行的工作,并记录发现相关的决策。
  • **World State:**监控代码所依赖的公开内容(软件包、代码仓库、服务状态页面、网页和公告目录),使用持久游标查看自 Agent 上次检查以来的所有变更,并在采取行动前检查已记住的事实。
  • **代码仓库与修复:**读取与 Agent 共享的代码仓库、依赖项影响和建议的修复方案。

此代码仓库仅包含连接文件:本 README、客户端配置示例和 Gemini CLI 扩展。无需安装或运行服务器代码。

目录

要求

  • **Since.dev 账户。**使用电子邮件、GitHub 或 Google 创建账户。每次登录都会包含一个 Free 工作区。
  • **该工作区的凭据:**API 密钥,或在支持此功能的客户端中通过浏览器登录(OAuth)。服务不支持匿名访问,凭据只能访问其所属的工作区。
  • **包含所用工具的套餐。**所有套餐均可使用 World State、代码仓库和用量工具(包括 Grant Free),但受套餐限额限制;调用 get_usage 查看这些工具。Grant 工具需要付费套餐(Grant Pro 或 Grant Studio);在 Grant Free 套餐中调用时会返回 plan_required。请参阅定价。

获取 API 密钥

  1. 在 https://app.since.dev 登录,并选择 Agent 应使用的工作区。
  2. 打开 Connections → External agents(https://app.since.dev/connections/agents)。
  3. 选择 New connection,输入连接名称(例如 release-bot),然后选择 Create connection。
  4. 复制密钥。密钥以 sc_live_ 开头,且仅显示一次。如果丢失,可在连接的 Manage 中生成新密钥。
  5. 将密钥保存为 SINCE_API_KEY 环境变量,或保存到客户端的密钥设置中。切勿提交 API 密钥。

任何工作区成员都可以创建连接。每个连接都是工作区中的独立 Agent,拥有自己的密钥。它可以读取通过 subscribe 创建的监控项变更;若要向其提供已有监控项,请在连接中选择 Connect watches,或调用 attach_to_set。代码仓库访问权限和 Grant 访问权限需单独授予。

若要跳过 API 密钥,请使用浏览器登录:Claude、Codex 和 Cursor 等支持远程 MCP 登录的客户端可以添加服务 URL,并在提示时登录。工作区所有者或管理员会在登录期间批准工作区、项目和权限。

连接

使用 Streamable HTTP 将服务添加到 MCP 客户端:

https://api.since.dev/mcp
  • **OAuth:**客户端支持时,通过浏览器登录。
  • **API 密钥:**在 Authorization 标头中以 Bearer 令牌形式发送工作区 API 密钥。
使用 mcpServers 文件的客户端

配置来自 examples/mcp.json:

{
  "mcpServers": {
    "since": {
      "url": "https://api.since.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${SINCE_API_KEY}"
      }
    }
  }
}

此示例会从环境中读取 SINCE_API_KEY。如果客户端不会展开环境变量,请改用其密钥设置。

VS Code

配置来自 examples/vscode-mcp.json,用于工作区的 .vscode/mcp.json。VS Code 会提示输入密钥,并将其作为机密输入保存:

{
  "servers": {
    "since": {
      "type": "http",
      "url": "https://api.since.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${input:since-key}"
      }
    }
  },
  "inputs": [
    {
      "id": "since-key",
      "type": "promptString",
      "description": "Since.dev API key",
      "password": true
    }
  ]
}
Gemini CLI
gemini extensions install https://github.com/since-dev/mcp

在安装程序的机密提示中输入你的 Since.dev 工作区 API 密钥。

授予访问权限

新凭据不会自动获得「授予访问权限」。工作区所有者或管理员可打开 Connections → External agents,在相应连接上选择 Manage,然后在 Grant access 下选择与其共享的项目及允许的操作:读取、提问、调查、决策和控制。

  • 首先调用 grant_team_status。它会显示你获准访问的项目、权限和 Grant 团队;如果所有者授予了访问权限,也会显示授予访问权限的所有者。
  • 省略 applicationIds 即可涵盖所有获准访问的项目。
  • grant_question 最多等待 55 秒。如果 Grant 仍在工作,请使用相同的 requestKey 再次调用,以继续等待。提问使用与应用相同的工作区模型和额度。
  • World State 和仓库工具拥有各自的访问授权,即使没有 Grant 访问权限也可使用。

工具

该服务提供 20 个工具,tools/list 会返回每个工具完整的输入架构。使用浏览器登录的连接会列出其获准权限允许使用的 Grant 工具。

Grant

Grant 工具需要付费套餐,且连接已获授 Grant 访问权限(请参阅授予访问权限)。每个工具都通过 input 对象接收参数,还可选用 applicationIds 数组来缩小项目范围。未提供 applicationIds 时,调用涵盖连接获准访问的所有项目。input 中的可空字段仍为必填项:不适用时请传入 null。

工具功能关键输入
grant_team_status首先调用此工具。显示你获准访问的项目、权限和 Grant 团队:每位队友的角色、来源、状态、当前工作和最新简报。传入 runIds 可读取指定运行的状态。input.runIds:最多 20 个运行 ID;传入 null 可查看概览
grant_read按 ID 读取一条已保存的调查结果(含证据和决策)、一次运行(含其简报)或一段对话,或列出一页调查结果。input.type(finding、run、conversation 或 findings)、input.id、input.cursor、input.severity、input.disposition
grant_question向 Grant 询问你获准访问的项目。Grant 会根据已保存的调查结果和简报作答,也可实时咨询其团队;这同样需要 investigate 权限。最多等待 waitSeconds 秒以获取答案;如果 Grant 仍在工作,请使用相同的 requestKey 再次调用,以继续等待。input.content(最多 12,000 个字符)、input.conversationId(新对话传入 null)、input.waitSeconds(0 到 55)、requestKey(8 到 160 个字符)
grant_stop停止 Grant 或队友正在进行的工作。已保存的结果会保留。input.runId
grant_record_decision为某条调查结果记录处置方式、备注、负责人或跟进日期。此操作会记录一项决策,但不能证明问题已修复。input.id、input.expectedVersion、input.disposition(open、accepted、deferred、addressed 或 dismissed)、input.note;可选的 input.ownerId、input.revisitAt
世界状态

世界状态工具适用于所有套餐,但受套餐限制。连接会读取其创建的监控,以及与其共享的监控或集合的变更。

工具功能关键输入
check_coverage在据此开展工作前,询问某项内容是否可以监控。返回覆盖级别(good、partial 或 none)、数据来源、检查频率和规范主题键。subjectType、subject、aspect
subscribe创建监控,让变更主动送达,无需轮询。可使用类型化形式创建一个监控,或用自然语言陈述指定最多十个监控。subjectType、aspect,以及 subject 或 canonicalKey 之一;或 statement。可选的 threshold(0 到 1)
what_changed_sinceAgent 恢复工作时的首次调用。返回自已确认游标以来监控的所有变更,按顺序排列并去重;每项均包含字段变更、来源证据和评估。可选的 since(游标;省略则从已确认的位置继续)、limit(默认 50,最大 200)
acknowledge_changes处理完完整的 what_changed_since 响应后,推进持久游标。可安全重试;游标不会倒退。来自该响应的 cursor
verify_facts在采取行动前,根据当前观测到的状态检查 Agent 记忆中的事实。每条事实返回 valid、changed 或 unknown;unknown 表示没有观测记录,并不代表没有发生变化。计入套餐每月的验证调用次数。facts:最多 100 条,每条包含 subjectKey、aspect、fieldPath、expectedValue
subject_history提供某个主题的已观测变更时间线和总数,供 Agent 选择合适的重新检查频率。subjectKey;可选的 limit
list_watches列出此连接可见的已保存监控,每页 50 个。可选的 status(active、needs_attention、paused、closed 或 expired)、offset
inspect_watch查看一个已保存监控及其覆盖情况和来源健康状况。不会检查来源或确认变更。id
list_sets列出工作区的订阅集合(已命名的监控组),以及此连接是否已加入每个集合。无
attach_to_set加入订阅集合,以便从现在起接收其中的变更。不会重放之前的变更;如需查看之前的变更,请使用 subject_history。来自 list_sets 的 setId
仓库与修复

这些工具只读取工作区所有者或管理员在仓库的 Settings → Agent access 中与此连接共享的仓库。它们不授予写入权限。

工具功能关键输入
list_maintained_repositories列出与此连接共享的仓库。无
inspect_repository查看已保存的仓库及其依赖项和影响状态。id;可选的 impactOffset
list_repairs查看共享仓库的影响和修复状态。可选的 repositoryId、review(open、attention、completed 或 all)、offset
inspect_repair查看某项修复记录的证据、受影响代码、补丁版本、CI 检查和决策。检查通过并不能证明在生产环境中安全。id;可选的 includeCurrentPr,用于包含当前 GitHub 拉取请求的差异
账户
工具功能关键输入
get_usage查看工作区的套餐和当前用量。只读。无

示例:监视依赖项并获取变更

一个使用 React 维护项目的 Agent 希望及时了解 React 新版本,而不必轮询 npm。每个步骤都展示 Agent 在 tools/call 请求中发送的 name 和 arguments。

  1. 监视依赖项。若要先检查某个来源是否受支持,请使用相同的三个字段调用 check_coverage。

    { "name": "subscribe", "arguments": { "subjectType": "package", "subject": "npm:react", "aspect": "versions" } }
    

    结果会返回新建的监视项及其 id、status、coverage 和 cadenceMinutes。首次检查会记录基线,之后的变更会发送到此连接。

  2. Agent 恢复工作时,应先调用 what_changed_since。省略 since,即可从上次确认的位置继续。

    { "name": "what_changed_since", "arguments": { "limit": 50 } }
    

    精简示例结果:

    {
      "changes": [
        {
          "change": {
            "seq": 84219,
            "idempotencyKey": "a3f1c9...",
            "subject": { "key": "package:npm:react", "type": "package", "name": "react" },
            "aspect": "versions",
            "fieldChanges": [{ "path": "version", "label": "Latest version", "from": "19.1.0", "to": "19.2.0" }],
            ...
          },
          "context": { ... }
        }
      ],
      "cursor": 84219,
      "hasMore": false,
      ...
    }
    

    每个 change 块都包含字段变更、来源和检测时间。其 context 包含证据和评估。

  3. 处理完响应中的所有变更后,确认其游标:

    { "name": "acknowledge_changes", "arguments": { "cursor": 84219 } }
    

    如果 hasMore 为 true,请再次调用 what_changed_since。未确认过的页面会再次返回,因此至少会投递一次:请根据 idempotencyKey 去重。

  4. 在根据 Agent 记住的版本采取行动之前,先检查该版本:

    {
      "name": "verify_facts",
      "arguments": {
        "facts": [
          { "subjectKey": "package:npm:react", "aspect": "versions", "fieldPath": "version", "expectedValue": "19.2.0" }
        ]
      }
    }
    

    每项事实都会返回 valid、changed 或 unknown。将 unknown 视为“没有观测结果”,绝不能视为“未发生变化”。

支持

评论

支持 Markdown

第一次接触 MCP?

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

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