@cyanheads/shift-mcp-server
Lightweight coordination layer for multiple AI agents working on the same codebase. STDIO & Streamable HTTP
2 Tools · 1 Resource
______________________________________________________________________
工具
用于多代理协调的两种工具:
| 工具名称 | 描述 |
|---|---|
shift_check_in | 注册或更新工作会话。返回工作者ID、协调指令和活动对等体。 |
shift_check_out | 结束工作会议。从活动工作者列表中删除。 |
shift_check_in
注册新的worker或更新现有会话。在每届工作会议开始时召集。
- 接受当前工作的要点和正在修改的可选文件路径
- 返回一个6个字符的worker ID、协调协议和完整的活动workers表
- 传递一个现有的worker ID来更新会话(补丁语义——保留省略的字段)
- 错误响应包括活动workers表,以便代理可以自我识别或重新开始
______________________________________________________________________
shift_check_out
结束工作会话并从活动工作人员列表中删除。
- 接受员工ID和已完成工作的可选摘要
- Idempotent--如果工作者ID不存在或已签出,则静默成功
资源
| URI | 描述 |
|---|---|
shift://status | 所有当前活动的具有注册表、声明文件和时间戳的worker。 |
特性
- 声明性工具定义——每个工具一个文件,框架处理注册和验证
- 跨所有工具的统一错误处理
- 具有请求范围上下文的结构化日志记录
- 从同一代码库本地运行(stdio/HTTP)
具体协调:
- 内存中的工作进程存储——无数据库,无文件系统写入,重启时清除
- 在每次入住时注入协调协议,以便代理知道如何行事
- 主动工作人员表随每一个态势感知响应返回
- 会话更新上的补丁语义——只有提供的字段会更改
入门指南
MCP客户端配置
添加到您的MCP客户端配置中(例如。, claude_desktop_config.json):
{
"mcpServers": {
"shift": {
"type": "stdio",
"command": "bunx",
"args": ["@cyanheads/shift-mcp-server@latest"],
"env": {
"MCP_TRANSPORT_TYPE": "stdio"
}
}
}
}先决条件
- Bun v1.2.0 或更高
安装
git clone https://github.com/cyanheads/shift-mcp-server.git
cd shift-mcp-server
bun install配置
不需要特定于服务器的环境变量。框架默认值:
| 变量 | 描述 | 默认值 |
|---|---|---|
MCP_TRANSPORT_TYPE | 运输: stdio 或 http. | stdio |
MCP_HTTP_PORT | HTTP服务器的端口。 | 3010 |
MCP_HTTP_HOST | HTTP服务器的主机名。 | 127.0.0.1 |
MCP_LOG_LEVEL | 日志级别(RFC 5424)。 | info |
运行服务器
本地开发
bun run build
bun run start:stdio # or start:http带手表的开发模式:
bun run dev:stdio # or dev:http检查和测试:
bun run devcheck # Lints, formats, type-checks
bun test # Runs test suite码头工人
docker build -t shift-mcp-server .
docker run -p 3010:3010 shift-mcp-server项目结构
| 目录 | 目的 |
|---|---|
src/index.ts | 入口点——向注册工具和资源 createApp(). |
src/mcp-server/tools/definitions/ | 工具定义(check-in.tool.ts, check-out.tool.ts). |
src/mcp-server/tools/definitions/worker-store.ts | 内存工作进程存储和格式化实用程序。 |
src/mcp-server/resources/definitions/ | 资源定义(status.resource.ts). |
开发指南
看 CLAUDE.md 了解开发指南和架构规则。简短版本:
- 处理程序抛出,框架捕获——否
try/catch工具逻辑 - 使用
ctx.log用于请求范围的日志记录 - 在中注册新工具和资源
src/index.ts
贡献
欢迎问题和拉取请求。提交前运行检查:
bun run devcheck
bun test许可证
Apache-2.0--参见 许可证 了解详情。
