mcpField
T
teamctx

teamctx

本地服务
github.com/CloudCorpRecords记忆与知识01 周前更新

关于 teamctx

teamctx 是连接 ProductNow 托管式团队共享上下文的转发客户端,提供 CLI 和 stdio MCP 服务。它不自行托管服务,而是将文档搜索、阅读、写入和整理请求转发给 ProductNow。

主要功能

  1. 01搜索共享上下文和帮助内容
  2. 02阅读文档并浏览文件夹
  3. 03记录信息并创建或编辑文档
  4. 04移动、重命名、归档文档及添加评论
  5. 05管理文档版本和状态
  6. 06CLI 与 stdio MCP 服务

适用场景

  1. 01通过带引用的摘录查找工作区文档
  2. 02将团队决策或备注保存到共享上下文
  3. 03创建、编辑和整理文档
  4. 04查看文档版本及评论线程

MCP 相关

teamctx 将 CLI 或 MCP 工具调用转发到 ProductNow 托管的 Streamable HTTP MCP 端点,提供上游已公开完整规格的 16 个工具,并要求提供访问令牌。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-teamctx": {
"command": "npx",
"args": [
"-y",
"@reneturcios/teamctx"
]
}
}
}
启动命令npx -y @reneturcios/teamctx

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/teamctx0.1.0
ocighcr.io/cloudcorprecords/teamctx:0.1.0

工具

16

收录的工具列表 · 更新于 1 周前

参数类型必填说明
querystring否搜索查询文本。
folderIdstring否文件夹的 ID;省略时使用根目录。
resultTypeenum否将结果限制为文档或文件夹。documents | folders
searchScopeenum否搜索位置:共享工作区或 ProductNow 帮助。workspace | product_help
creatorNamesarray否仅包含由这些人员创建的项目。
updatedAfterstring否仅包含在此时间或之后更新的项目。
updatedBeforestring否仅包含在此时间或之前更新的项目。

详细介绍

teamctx

teamctx 是 ProductNow 共享团队上下文的转发客户端。真正的 ProductNow 服务托管在远程,不支持自托管:teamctx 接收用于搜索、读取、写入和整理工作区文档的 MCP 工具调用(或 CLI 调用),并将其转发到托管的 ProductNow MCP 端点,然后返回该服务返回的内容。一个二进制文件同时提供命令行界面和 stdio MCP 服务。

上游端点为 https://api.productnow-prod.com/mcp (Streamable HTTP),通过 Auth0 使用 OAuth 2.0 保护,所需作用域为 mcp:use。teamctx 本身不会执行 OAuth 流程:你需要通过 PRODUCTNOW_ACCESS_TOKEN 环境变量提供已有的访问令牌,teamctx 会在每次转发调用时将其作为 Bearer 凭据发送。如果该变量缺失或为空,teamctx 会在尝试任何请求之前报错并指出该变量名。

此软件包实现了 18 个已列出的上游工具中的 16 个——这是带标签的核心子集,公开文档为其提供了完整的 Input 表。由于没有发布完整的参数架构,有意省略了两个工具:curate_knowledge_pack 和 create_help_document。这些工具不会对外公布,也不会转发。16 个已实现工具的参数类型根据公开文档中的 Input 表推断(上游工具目录未发布 JSON-Schema 属性定义);名称、必填状态和枚举值与文档发布内容一致。

安装

npx @reneturcios/teamctx call search '{"query":"pricing"}'

或者运行容器镜像:

docker run -i ghcr.io/cloudcorprecords/teamctx

容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。

CLI

CLI 使用一个通用子命令,而不是为每个工具分别设置子命令,因为每个工具都接收一组 JSON 对象参数:

teamctx call <tool> [json-args]
teamctx call search '{"query":"pricing","resultType":"documents"}'
teamctx call fetch '{"documentId":"doc_123"}'
teamctx call fetch_folder '{}'
teamctx call remember '{"content":"We ship on Fridays."}'

teamctx --version

提供 json-args 时,它必须是单个 JSON 对象;无效 JSON、非对象值、未知工具或多余参数都属于用法错误(退出码为 2),并会在检查凭据之前被拒绝。运行时故障(包括缺少 PRODUCTNOW_ACCESS_TOKEN 或上游错误)会以退出码 1 结束。成功时以退出码 0 结束,并以 JSON 格式打印上游结果。

MCP 服务

一个二进制文件同时提供两种接口。mcp 子命令会启动 stdio MCP 服务:

npx -y @reneturcios/teamctx mcp

MCP 客户端配置:

{
  "mcpServers": {
    "teamctx": {
      "command": "npx",
      "args": ["-y", "@reneturcios/teamctx", "mcp"],
      "env": {
        "PRODUCTNOW_ACCESS_TOKEN": "<your ProductNow access token>"
      }
    }
  }
}
工具
工具必需输入功能说明
search—(搜索文件夹时需要 query)搜索共享上下文或 ProductNow 帮助内容,查找带有引用的证据摘录;也可搜索文件夹名称。
fetchdocumentId读取一份文档:全文、各章节、评论串、文件夹和规范 URL。
fetch_folder—列出文件夹或资料库根目录,也可选择以嵌套树形结构列出(deep)。
list_document_versionsdocumentId列出文档的所有版本,按从新到旧排序;可选按版本状态筛选。
get_statusdocumentId报告文档的草稿 Agent 当前是 running 还是 idle。
remembercontent将一条事实、决定或备注保存到合适的文档或文件夹中。
create_documentname、prompt创建文档,将其归入文件夹,并使用 AI 生成内容。
edit_documentdocumentId、message将编辑说明交给文档自己的编辑 Agent。
update_document_statusdocumentId、status使用动作动词提升当前草稿的状态:snapshot、review 或 publish。
create_foldername创建文件夹,也可将其置于某个父文件夹下。
moveids将多个文档和文件夹一次性移入同一文件夹或根目录。
renameid、name更改一个文档或文件夹的名称。
archiveids一次性归档多个文档和文件夹;不会删除任何内容。
comment_on_documentdocumentId、comment对文档当前的评审版本发表评论,也可将评论锚定到引用文本。
reply_to_threadthreadId、message回复现有评论串。
upload_mediafileName、mimeType分配一个签名上传 URL(有效期为 5 分钟),用于上传图像或视频媒体。

上游文档中记录了以下不太明显的规则: search 默认使用 workspace 范围和 documents 结果 类型;创建者和日期筛选条件按工具 架构中的说明组合。list_document_versions 按版本状态 (DRAFT … ARCHIVED)筛选,而 update_document_status 接受 动作动词(snapshot / review / publish)——不要混淆 两者。实际使用时,create_document 的 folderId 为必填项: 只有在资料库根目录中创建时才可省略。

开发

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch only)
npm run dev     # run the CLI from source via tsx

许可证

MIT — 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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