TeamShared

io.github.xhad由 GitHub 账号 xhad 发布v0.9.1更新于 Nov 2, 2026

Shared memory for coding agents. Stop re-explaining your codebase every session.

已验证Streamable HTTP可网页运行知识与记忆开发者工具

概览

AI 生成的概览

托管式共享记忆 MCP 服务器,让编码助手跨会话记住并复用团队对代码库的知识。

可以做什么
  • 为代码仓库召回与保存记忆,包括 memory_recall、memory_remember、memory_session_* 等会话级记忆工具。
  • 通过 org_list 与 org_bind 列出组织并把仓库绑定到某个组织。
  • 借助客户端钩子把 Agent 对话、失败的测试/检查/命令输出以及压缩前摘要写入 TeamShared。
  • 在会话开始和出错后注入召回内容,减少重复解释代码库。
适用场景
适合在 Cursor、Claude Code 或 Codex 上协作同一批仓库的团队,希望助手在会话之间保留共享上下文。也适合需要把多个机器人限定在单一组织内的场景。
运行要求
远程 MCP 端点 teamshared.com/mcp,无需本地安装包。需要账号,通过 OAuth Connect 以邮箱加一次性验证码登录。可选 TEAMSHARED_TOKEN(tsk_ 密钥)用于捕获钩子或手动 bearer 令牌配置。需要安装对应客户端插件或手动注册 MCP,并按需写入仓库绑定文件。
安装前请注意
对话记录、提示词、回复和失败命令输出会发送到第三方托管服务 TeamShared;虽说明会做脱敏,内容仍会离开本机。TEAMSHARED_TOKEN 属于机密,不可提交到仓库。信任钩子后会自动写入数据,组织绑定也会在仓库中写入文件。不要在插件之外再注册第二个 TeamShared 服务器。

安装

在 SourceWeft 中

  1. 打开 控制台中的 TeamShared,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.xhad%2Fteamshared/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "teamshared": {
      "type": "http",
      "url": "https://teamshared.com/mcp"
    }
  }
}

README

teamshared (Cursor, Claude Code, and Codex plugins)

Registers the teamshared MCP server. The Cursor plugin also ships the recall-first memory rule and Cursor hooks that capture Agent Chat into TeamShared (sessionStart, beforeSubmitPrompt, afterAgentResponse, stop, sessionEnd) plus postToolUse (failed test/lint/shell), postToolUseFailure (read-only recall), and preCompact. The Cursor plugin still has no skills, slash commands, or extra agents.

This repo also ships a Claude Code marketplace plugin under claude/ (remote MCP via Claude Code's native /mcp OAuth, TEAMSHARED_TOKEN for the optional capture hooks, protocol 1.31.0, SessionStart injection, and official Claude Code capture hooks).

The native Codex package under plugins/teamshared/ uses the server's MCP OAuth discovery flow and treats Codex as a first-class client: protocol 1.31.0, SessionStart injection, and official Codex capture hooks. A manual Codex TOML setup remains available under install/codex/ (TEAMSHARED_TOKEN; do not mix).

Hosted install is teamshared.com/#connect. The public plugin / marketplace source is this repo (teamshared-ai/teamshared-plugin). The remote MCP endpoint is https://teamshared.com/mcp.

One Connect, one org per repo. Install the plugin once and connect once. From chat, call org_list / org_bind(slug=...). CLI teamshared org bind <slug> is an optional fallback that writes .teamshared/org. Do not add a second TeamShared server. Unbound /mcp keeps working — it stays on the org chosen at Connect time. Agent-facing copy: AGENTS.md.

ComponentPurpose
mcp.jsonRegisters https://teamshared.com/mcp (URL only; Cursor OAuth Connect)
rules/teamshared.mdcLean always-on fetch/store loop (alwaysApply); tool encyclopedia lives in memory_tools_catalog
hooks/Cursor hooks: Agent Chat capture plus postToolUse (failed test/lint/shell), postToolUseFailure (read-only recall), and preCompact
claude/Claude Code plugin (remote MCP via native /mcp OAuth + protocol 1.31.0 + capture hooks needing TEAMSHARED_TOKEN)
.claude-plugin/marketplace.jsonClaude Code marketplace catalog (/plugin marketplace add teamshared-ai/teamshared-plugin)
.agents/plugins/marketplace.jsonCodex marketplace catalog (codex plugin marketplace add teamshared-ai/teamshared-plugin)
plugins/teamshared/Native Codex plugin (OAuth MCP + protocol 1.31.0 + official capture hooks)
clients/Copy-paste protocol + MCP examples for non-Cursor harnesses (not loaded by Cursor)

Install

From git marketplace (recommended)

  1. Settings → Plugins → Add marketplace → paste https://github.com/teamshared-ai/teamshared-plugin
  2. Run /add-plugin teamshared or enable teamshared under Settings → Plugins
  3. Settings → Tools & MCP → teamshared → Connect (email + one-time code, same as the console)

Cloud and Grok Bot agents inherit that account-level Connect. Installing the plugin registers https://teamshared.com/mcp — you only click Connect. Do not paste a URL or token into the plugin mcp.json. Then bind the repo (teamshared org bind <slug>); do not add a second TeamShared server.

See MARKETPLACE.md for the official Marketplace publish checklist.

Claude Code (marketplace)

/plugin marketplace add teamshared-ai/teamshared-plugin/plugin install teamshared@teamshared/reload-plugins/mcp

In /mcp, select teamshared and choose Authenticate — Claude Code's own native OAuth flow, same email/OTP login as the web console, token stored in your system keychain. Confirm tools appear under /mcp as plugin:teamshared:teamshared connected.

The chat-capture hooks are a separate subprocess with no access to that keychain, so if you also want them capturing chat automatically, mint a tsk_ org key and export it — never commit it:

bash
export TEAMSHARED_TOKEN=tsk_...   # mint under https://teamshared.com/app/keys

Without it the hooks just no-op; the MCP connection and every-turn workflow work fine either way. From chat, call org_bind(slug=...) (CLI teamshared org bind <slug> is optional) so capture follows the org; do not add a project .mcp.json TeamShared server. Unbound /mcp keeps working. SessionStart injects protocol 1.31.0; /teamshared:status checks health + version. Details: claude/README.md.

Codex (native plugin marketplace)

The native Codex package uses TeamShared's MCP OAuth discovery flow, so it does not require TEAMSHARED_TOKEN or store an authorization header. The first browser open is the Codex host (system default browser). TeamShared only serves /oauth/authorize and the redirect; the post-OTP finish page uses a single handoff. ChatGPT’s in-app @Browser is Computer Use, not MCP Authenticate — there is no API to force Connect there. To skip the browser, use install/codex/ + TEAMSHARED_TOKEN instead of this plugin. Details: #46 and plugins/teamshared/README.md.

bash
codex plugin marketplace add teamshared-ai/teamshared-plugincodex plugin add teamshared@teamshared

Restart the Codex app, start a new task, and connect TeamShared when prompted. Then review and trust plugin hooks with /hooks so capture writes run. From chat, call org_bind(slug=...) (CLI teamshared org bind <slug> is optional); do not add a second [mcp_servers.teamshared] next to the plugin. Unbound /mcp keeps working. SessionStart injects protocol 1.31.0; $status checks health + version. The package lives under plugins/teamshared/ and is cataloged by .agents/plugins/marketplace.json. Details: plugins/teamshared/README.md.

cursor.directory listing

Submit this repo at cursor.directory/plugins/new:

https://github.com/teamshared-ai/teamshared-plugin

Do not submit the old xhad/teamshared-cursor redirect. Root plugin.json and .mcp.json are the Open Plugins / directory discovery files; Cursor install still uses .cursor-plugin/ and mcp.json.

Ready-to-paste listing description:

TeamShared is hosted MCP plus the recall-first memory rule and Cursorhooks that capture Agent Chat (plus failed test/lint/shell + preCompact).No skills, slash commands, or extra agents.
Install in Cursor:1. Settings → Plugins → Add marketplace2. Paste https://github.com/teamshared-ai/teamshared-plugin3. /add-plugin teamshared4. Settings → Tools & MCP → teamshared → Connect (email + one-time code)
Cloud and Grok Bot agents inherit that Connect.Bind each repo with teamshared org bind; do not add a second server.

From this repo (folder or symlink)

Add plugins from folder needs a marketplace catalog in the selected directory. Select this repo root (it ships .cursor-plugin/marketplace.json with "source": "./").

Then enable the plugin, reload the window, and Connect.

For local iteration without the folder picker:

bash
ln -sf "$(pwd)" ~/.cursor/plugins/local/teamshared

Setup

  1. Connect with email/OTP — Settings → Tools & MCP → teamshared → Connect. Cursor opens a browser; sign in with the same email + one-time code as the web console (/app). The plugin already shipped the server URL; do not add headers or a tsk_* token to the plugin mcp.json.
  2. Bind the repo — teamshared org bind <slug> writes .teamshared/org ({"v":1,"slug"}). Commit that file. Capture follows it. Do not add a second TeamShared server in .cursor/mcp.json, project .mcp.json, or Codex config.toml.
  3. Cursor Cloud / Grok Bot — they inherit that account-level Cursor Connect. After the one-time Connect, every cloud agent for that user gets TeamShared. Bind still lives in the checkout (.teamshared/org); Cloud does not take a second MCP URL from repo config. Unbound /mcp keeps working (Connect-time org).
  4. Developer: Reload Window — confirm Settings → MCP shows teamshared enabled.

If you previously added https://teamshared.com/mcp by hand, remove that manual entry so you do not get two teamshared servers.

Bots that must stay in one org use a seat key — teamshared token mint scoped to that org, or mint under /app/keys — on the MCP headers (Authorization: Bearer tsk_…). Not in the plugin mcp.json. Unbound /mcp keeps working for interactive Connect.

What you get

  • MCP tools: memory_recall, memory_remember, memory_session_*, etc. (registered by mcp.json when the plugin is installed).
  • Rule: injects the recall-first protocol on every agent turn, and points teammates to the web console (/app) for human actions.
  • Cursor hooks: Agent Chat turns are appended to TeamShared in near-real-time without waiting for the agent to call memory_session_ensure / context_commit. sessionStart maps conversation_id onto a working session and, after a successful ensure with auto_recall=true, injects a capped Cursor additional_context block (linked soul, a short playbook header when present, and compact auto_recall bullets — not full memory bodies or transcripts). Explicit memory_recall remains preferred for keyword work. Fail-open on MCP/auth errors. beforeSubmitPrompt and afterAgentResponse append redacted user/assistant text; sessionEnd closes and distills. stop only notes aborted/error loops (it fires after every turn, so it does not distill). postToolUse still appends a short episodic fact when a Shell test/lint/command fails (command + error tail, secrets stripped). On Cursor postToolUseFailure and on that failed postToolUse, hooks also call remote memory_recall with a tight query (tool name + truncated error, k=3, verbose=false) and inject compact hits as additional_context — same pattern as SessionStart auto_recall. Skip when recall is empty or MCP has no token. That recall path never writes (context_commit). Fail-open if MCP is unreachable. preCompact writes a short session summary. All reuse the existing Connect session — no tsk_ in mcp.json. Cloud agents may skip sessionStart / sessionEnd; prompt/response hooks still capture turns. Agents still recall first and may commit curated facts; hooks store the transcript.

Bind a repo to an org

One TeamShared server stays on https://teamshared.com/mcp. The repo file chooses the org; capture follows it. Do not add a second TeamShared server.

bash
teamshared org bind sapien --token "$TEAMSHARED_TOKEN"teamshared org statusteamshared org unbind

bind checks membership, then writes only .teamshared/org:

json
{"v":1,"slug":"sapien"}

The derived URL https://teamshared.com/o/{slug}/mcp is never stored. Commit the file so every harness in the checkout sees the same org. status and unbind work offline. Missing or invalid file → unbound /mcp (Connect-time org). That is supported; binding is not required.

HarnessConnect onceBindDo not
CursorSettings → Tools & MCP → teamshared → Connect.teamshared/org; hooks POST to the org URL with the same Connect token.cursor/mcp.json / project MCP twin
Cursor CloudInherited account ConnectSame checkout file; hooks follow itRepo MCP URL as a Cloud bind path
Claude Code/mcp → AuthenticateSame file; hooks use an org-scoped TEAMSHARED_TOKENProject .mcp.json TeamShared server
CodexPlugin OAuth (or manual tsk_ — not both)Same file[mcp_servers.teamshared] next to the plugin

Bots that must stay in one org: teamshared token mint <agent> (org-scoped seat key) or /app/keys. Still one server.

The Cursor plugin still has no skills, slash commands, or extra agents. The Claude Code package ships protocol 1.31.0 (teamshared-memory), /teamshared:status, and official Claude Code capture hooks. The Codex package ships the same 1.31.0 loop plus official Codex hooks (SessionStart, UserPromptSubmit, Stop, Interrupt, SessionEnd, PostToolUse on failed Bash, PreCompact). SessionEnd closes through one bounded commit; Interrupt covers Cursor abort parity. Codex has no StopFailure or PostToolUseFailure.

Other clients

See clients/ for Hermes, Claude Desktop, and protocol markdown. Claude Code and Codex should use their marketplace plugins above unless you are debugging a manual client configuration.

Codex (manual TOML alternative)

For manual MCP registration without the native plugin, Codex uses TOML rather than Cursor's JSON mcp.json. Mint a tsk_ key at teamshared.com/app/keys, export it, then register the hosted MCP (Codex sends Authorization: Bearer tsk_…):

bash
export TEAMSHARED_TOKEN=tsk_...   # from /app/keys — never commit thiscodex mcp add teamshared \  --url https://teamshared.com/mcp \  --bearer-token-env-var TEAMSHARED_TOKEN

Or merge install/codex/mcp.toml into project-local .codex/config.toml and run Codex from that trusted repo root. Full steps: install/codex/README.md.

Use either the native marketplace plugin or the manual TOML entry, not both. The manual path is the seat-key path for bots that must stay in one org (teamshared token mint scoped to that org) and the reliable way to skip the OAuth browser. Do not add a second TeamShared server next to the plugin. Bind the checkout with teamshared org bind <slug> either way; unbound /mcp keeps working.

Cursor desktop, Cursor Cloud, and Grok Bot still use Connect — do not add this tsk_ block to the plugin mcp.json.

License

MIT — see LICENSE.

来源:README.md,提交 1513dbd

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

1
  1. v0.9.1最新Sep 16, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分