AI编程协作服务器

CoChat MCP是一款连接AI编程代理与团队协作平台的服务,实现代码计划共享、多模型评审和项目知识持久化。

  • by CoChatAI
  • TypeScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 CoChatAI/mcp-cochat

使用说明

CoChat MCP

分享计划。获取反馈。船更快。

将您的编码代理连接到的MCP服务器 CoChat 因此,您的团队和其他AI模型可以在不离开终端的情况下查看您正在构建的内容。

问题

AI编码代理(Claude Code、OpenCode、Cursor、Codex)功能强大,但它们各自为政:

  • 你的团队看不到代理正在构建什么。 当Claude Code创建实施计划时,它就存在于您的本地会话中。除非你手动将其复制到某个地方,否则工程师无法对其进行审查、评论或发现问题。
  • 其他模型也无法对其进行审查。 也许你想让GPT-5.3来批评你的克劳德计划,或者让双子座来检查架构。今天,这意味着在聊天窗口之间进行复制粘贴。
  • 知识不会持久。 设计决策、架构选择和重要上下文都被困在单独的聊天会话中。下周,没有人记得你为什么选择PostgreSQL而不是MongoDB。

这个MCP服务器连接了两个世界。

运作原理

 Your Coding Agent                    CoChat (Team + AI Workspace)
 ──────────────────                   ────────────────────────────
                                     
 You: "Build a user dashboard"       
       │                              
       ▼                              
 Claude creates plan ─────────────▶  Plan appears as collaborative
 (auto-shared via MCP)                chat thread in project folder
                                            │
                                      ┌─────┼──────────┐
                                      ▼     ▼          ▼
                                    Alice  GPT-5.3    Gemini
                                    reviews reviews   checks
                                    tasks   arch.     security
                                      │     │          │
                                      └─────┼──────────┘
                                            ▼
 Agent pulls feedback ◀──────────────  "Use refresh token rotation"
 and adapts the plan                   "Add rate limiting to auth"
       │                              
       ▼                              
 Agent saves decisions ──────────────▶ Project memories stored
 as project memories                   (searchable by any model/person)
       │                              
       ▼                              
 Next session: any agent  ◀────────── Memories available in all
 recalls past decisions                CoChat conversations too

反馈循环

  1. 你编码 --您的代理创建实施计划
  2. 每个人都看到了 --该计划作为协作线程出现在CoChat中。工程师、GPT-5.3、Gemini——任何有权限的人都可以查看它
  3. 多角度审查 --人类发现了产品问题,不同的模型发现了架构盲点,另一个模型则指出了安全问题
  4. 你把它拉回来 --您的代理获取所有反馈并进行调整
  5. 知识化合物 --设计决策保存为项目记忆,任何人或模型都可以在未来的任何会话中搜索

这意味着您的Claude Code会话不是一个黑匣子。你的团队保持同步,其他模型提供第二意见,决策在会话中持续存在——没有站立、Slack线程或PR作为文档。

所得

  • 计划 --实施计划以协作聊天的形式共享。工程师和人工智能模型审查和评论。将反馈拉回到你的编码会话中。
  • 跨模型评审 --让GPT-5.3审查你的克劳德计划,反之亦然。CoChat支持多种AI模型,因此您可以对同一计划有不同的看法。
  • 项目记忆 --跨会话和模型持续存在的语义记忆。“我们为什么选择PostgreSQL?”任何人都可以在任何工具中回答。
  • 问 --从终端查询项目的知识库。获得基于团队实际决策的答案。
  • 自动化 --在不切换上下文的情况下触发CoChat自动化(计划任务、工作流)。
  • 自动范围界定 --一切都是按项目自动组织的(从git remote或目录名检测到)。无需手动设置。

快速开始

1.获取CoChat API密钥

注册地址: App.cochat.ai (或使用您的自托管实例),然后转到 设置>帐户>API密钥.

2.添加到您的编码代理

Claude Code
claude mcp add cochat \
  -e COCHAT_URL="https://app.cochat.ai" \
  -e COCHAT_API_KEY="your-api-key" \
  -- npx @cochatai/mcp-cochat

或者通过JSON:

claude mcp add-json cochat '{
  "type": "stdio",
  "command": "npx",
  "args": ["@cochatai/mcp-cochat"],
  "env": {
    "COCHAT_URL": "https://app.cochat.ai",
    "COCHAT_API_KEY": "your-api-key"
  }
}'

提示变为斜线命令: /mcp__cochat__plans-share, /mcp__cochat__memories-recall, /mcp__cochat__ask等等。

OpenCode

添加到您的 opencode.json (项目根或 ~/.config/opencode/config.json 全球):

{
  "mcp": {
    "cochat": {
      "type": "local",
      "command": ["npx", "@cochatai/mcp-cochat"],
      "environment": {
        "COCHAT_URL": "https://app.cochat.ai",
        "COCHAT_API_KEY": "your-api-key"
      }
    }
  }
}

Slash命令: /cochat:plans-share:mcp, /cochat:plans-pull:mcp, /cochat:memories-recall:mcp, /cochat:ask:mcp等等。

Cursor

添加 .cursor/mcp.json 在项目根目录中:

{
  "mcpServers": {
    "cochat": {
      "command": "npx",
      "args": ["@cochatai/mcp-cochat"],
      "env": {
        "COCHAT_URL": "https://app.cochat.ai",
        "COCHAT_API_KEY": "your-api-key"
      }
    }
  }
}

工具在代理模式下可用。使用 @cochat 在聊天中参考MCP。

Codex CLI

添加 ~/.codex/config.toml:

[mcp_servers.cochat]
command = "npx"
args = ["@cochatai/mcp-cochat"]

[mcp_servers.cochat.env]
COCHAT_URL = "https://app.cochat.ai"
COCHAT_API_KEY = "your-api-key"

或者通过CLI:

codex mcp add cochat \
  -e COCHAT_URL="https://app.cochat.ai" \
  -e COCHAT_API_KEY="your-api-key" \
  -- npx @cochatai/mcp-cochat
Kilo Code

通过Kilo Code的设置添加MCP服务器。使用标准MCP配置格式:

{
  "cochat": {
    "command": "npx",
    "args": ["@cochatai/mcp-cochat"],
    "env": {
      "COCHAT_URL": "https://app.cochat.ai",
      "COCHAT_API_KEY": "your-api-key"
    }
  }
}

3.开始使用它

当您的代理创建计划时,计划会自动共享。您还可以使用斜线命令:

> Plan a user authentication system with JWT

Claude creates plan and auto-shares to CoChat...

  Plan "JWT Authentication System" shared successfully.
  Chat URL: https://app.cochat.ai/c/abc123
  Project: your-org/your-repo
  Collaboration is enabled with write access via link.

现在在CoChat中,您的团队和其他AI模型可以查看它:

  • Alice(工程师)评论道:“使用刷新令牌轮换以获得更好的安全性”
  • GPT-5.3(通过CoChat)评论和标记:“考虑对令牌端点进行速率限制”
  • Bob将“创建登录端点”标记为已完成

回到你的终端:

> Pull feedback on the plan

Agent fetches from CoChat...

  Alice suggested using refresh token rotation.
  GPT-5.3 flagged: add rate limiting to the token endpoint.
  Bob marked "Create login endpoint" as completed.
  3 new feedback messages since you shared.

> Save the decision about refresh token rotation as a memory

  Memory added. Available in all CoChat conversations for this project.

配置

环境变量

变量 必填 描述
COCHAT_URL 是 您的CoChat实例的URL(例如。, https://app.cochat.ai)
COCHAT_API_KEY 是 您的CoChat API密钥。在CoChat中生成一个:设置>帐户>API密钥
COCHAT_AUTO_SHARE 否 控制自动共享行为(见下文)
COCHAT_LOG_LEVEL 否 日志详细程度: debug, info (默认), warn, error

自动共享行为(COCHAT_AUTO_SHARE)

控制代理如何主动共享计划和保存内存:

价值 计划 记忆 描述
off (默认) 代理建议共享,等待您 仅根据请求 您保持控制。创建计划后,代理人说“想让我分享这个计划吗?”。
plan 自动共享 仅根据请求 计划一经创建就会推送到CoChat。这对那些总是想要知名度的团队来说是件好事。
all 自动共享 自动保存 完全自动化。计划被共享,设计决策被保存为项目记忆,无需询问。

示例——添加到MCP配置中以启用自动计划共享:

"env": {
  "COCHAT_URL": "https://app.cochat.ai",
  "COCHAT_API_KEY": "your-api-key",
  "COCHAT_AUTO_SHARE": "plan"
}

启发式(交互式设置)

如果未设置环境变量,并且您的MCP客户端支持 引出,服务器将提示您在首次使用时输入CoChat URL和API密钥。配置被持久化为 ~/.config/mcp-cochat/config.json.

本地状态

服务器将项目映射和跟踪计划存储在 ~/.config/mcp-cochat/store.json。这将您的本地项目目录映射到CoChat文件夹,以便正确确定计划和内存的范围。

项目检测

服务器会自动识别您的项目:

  1. Git远程 --解析 git remote get-url origin (例如。, anomalyco/my-project)
  2. MCP根 --使用客户端报告的项目目录(如果可用)
  3. 目录名 --回落到 parent/folder (例如。, playground/tictactoe)

无需手动设置项目。首次使用时会延迟创建CoChat文件夹。

工具

计划

工具 说明
plans_share 在CoChat中以协作聊天的形式分享实施计划。代理创建计划时自动调用。
plans_pull 从CoChat获取最新的计划状态和工程师反馈。
plans_update 将更新后的计划推送到现有的CoChat聊天线程。
plans_list 列出按项目分组的所有共享计划,并附上反馈计数。

项目

工具 说明
projects_add 为当前代码库添加一个CoChat项目。自动检测git remote中的名称。
projects_get 获取当前项目的元数据、系统提示和文件计数。
projects_set_context 设置项目系统提示,将其注入此项目的所有CoChat聊天中。

回忆

工具 说明
memories_query 语义搜索项目记忆,按相关性排序。
memories_add 将设计决策或重要上下文存储为项目记忆。
memories_list 列出当前项目的所有最近记忆。
memories_delete 按ID删除特定内存

自动化

工具 说明
automations_list 列出当前项目的自动化。
automations_trigger 按ID手动触发自动化
automations_runs 获取自动化的最近运行历史记录。

问

工具 说明
cochat_ask 向CoChat提问。使用项目的知识库和记忆获取AI答案。

提示(Slash命令)

提示 描述
plans-share 与团队分享当前计划。指示AI包含完整的设计上下文。
plans-pull 从最近的共享计划中提取并总结反馈。
memories-recall 在项目记忆中搜索与当前任务相关的上下文。
memories-save 将对话中的重要决定保存为项目记忆。
automations-run 列出并运行项目自动化。
ask 向CoChat询问有关该项目的问题。

这些看起来如何取决于你的客户:

客户端 格式 示例
OpenCode /server:prompt:mcp /cochat:plans-share:mcp
克劳德代码 /mcp__server__prompt /mcp__cochat__plans-share
光标 变化 在代理模式下可用
Codex CLI 基于工具 可通过工具访问
基洛代码 变化 可通过MCP访问

资源

URI模式 描述
cochat://plan/{chat_id} 共享计划的当前状态。拥有MCP资源订阅的客户端会收到更改通知(每10秒轮询一次)。

发展

从源头构建

git clone https://github.com/CoChatAI/mcp-cochat.git
cd mcp-cochat
npm install
npm run build
npm test

运行测试

npm test           # Run once
npm run test:watch # Watch mode

使用本地构建

将MCP客户端指向本地构建,而不是npx:

OpenCode:

{
  "mcp": {
    "cochat": {
      "type": "local",
      "command": ["node", "/path/to/mcp-cochat/dist/index.js"],
      "environment": {
        "COCHAT_URL": "https://app.cochat.ai",
        "COCHAT_API_KEY": "your-api-key"
      }
    }
  }
}

克劳德代码:

claude mcp add cochat \
  -e COCHAT_URL="https://app.cochat.ai" \
  -e COCHAT_API_KEY="your-api-key" \
  -- node /path/to/mcp-cochat/dist/index.js

调试

服务器登录到stderr(MCP使用stdout进行JSON-RPC)。集 COCHAT_LOG_LEVEL=debug 用于详细输出,包括所有API请求。

在Claude Code中,stderr日志出现在 ~/.claude/logs/。在OpenCode中,它们出现在终端中。

项目结构

src/
├── index.ts                    # Entry point (stdio transport)
├── server.ts                   # MCP server (tool/prompt/resource registration)
├── cochat-client.ts            # HTTP client for CoChat REST API
├── config.ts                   # Configuration and local state management
├── project.ts                  # Git remote detection, project name resolution
├── logger.ts                   # Stderr logger (debug/info/warn/error)
├── plan-format.ts              # Plan <-> markdown serialization
├── schemas.ts                  # Shared Zod schemas
├── zod-to-json-schema.ts       # Lightweight Zod to JSON Schema converter
├── tools/
│   ├── plans-share.ts          # Share plan as collaborative chat
│   ├── plans-pull.ts           # Fetch plan state + feedback
│   ├── plans-update.ts         # Push updated plan
│   ├── plans-list.ts           # List tracked plans by project
│   ├── projects-add.ts         # Find/create project folder
│   ├── projects-get.ts         # Get project metadata
│   ├── projects-set-context.ts # Set project system prompt
│   ├── memories-query.ts       # Semantic search memories
│   ├── memories-add.ts         # Add project memory
│   ├── memories-list.ts        # List project memories
│   ├── memories-delete.ts      # Delete memory
│   ├── automations-list.ts     # List project automations
│   ├── automations-trigger.ts  # Trigger automation
│   ├── automations-runs.ts     # Get automation run history
│   └── cochat-ask.ts           # Ask CoChat a question
└── resources/
    └── plan-resource.ts        # Subscribable plan resources

兼容性

功能 OpenCode 克劳德代码 Codex CLI 游标 千码
工具(16) 是 是
提示(6) 是 是 变化 变化 不同
资源 是 是 变化 变化 不同
资源订阅 是 可能 不可能 不可能性 不可能
启发 不同 不同 不可能 不可能

所有16个工具均可在每个兼容MCP的客户端上运行。提示和资源取决于客户的MCP规范支持。

许可证

麻省理工学院