cartridge-mcp
cartridge-mcp
“像对待游戏卡带一样对待行为。插入、运行、更换。每一个都是一个自包含的世界,拥有自己的规则、自己的声音、自己存在的理由。”
这是什么
一个将行为视为可交换卡带的 MCP 服务器。每个卡带都是一个自包含的模块,拥有自己的工具、入门流程、个性皮肤以及用于共享的 git 仓库链接。
为卡带套上 Abbott & Costello、Penn & Teller、R2D2 & C3PO、竞争对手或任何其他个性皮肤。逻辑块(Logic tiles)让模型和场景能够实时构建。通过 git 共享卡带——收藏、分叉、向不同方向开发。
架构
┌─────────────────────────────────────────────────────────┐
│ MCP Server │
│ (cartridge-mcp) │
├─────────────────────────────────────────────────────────┤
│ Scene Builder │
│ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │Cartridge │ + │ Skin │ + │ Roles │ │
│ │(behavior) │ │(persona) │ │(who does what) │ │
│ └──────────┘ └──────────┘ └──────────────────┘ │
├─────────────────────────────────────────────────────────┤
│ Cartridge Loader │
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │
│ │Spdr │ │Orcl │ │Grdn │ │ ??? │ │ ??? │ ← swap in │
│ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ │
├─────────────────────────────────────────────────────────┤
│ Skin Layer │
│ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │StrtMn│ │C3PO │ │R2D2 │ │Rival │ │Field │ ← skins │
│ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ │
├─────────────────────────────────────────────────────────┤
│ Tool Registry (exposed via MCP) │
└─────────────────────────────────────────────────────────┘快速开始
# Run as stdio MCP server
node src/server.js
# Or via mcporter
mcporter call --stdio "node src/server.js" cartridge_list
# Custom cartridge directory
CARTRIDGE_DIR=./my-cartridges node src/server.jsMCP 工具
场景管理
工具 | 描述 |
| 列出所有可用卡带 |
| 加载卡带(使其工具可用) |
| 获取定制的入门指南(面向人类或智能体) |
| 列出所有个性皮肤 |
| 应用个性皮肤 |
| 构建场景:卡带 + 皮肤 + 角色 |
| 获取当前场景配置 |
| 将场景导出为可共享的 JSON |
活动卡带工具
当卡带加载后,其工具即可使用。例如,加载 spreader-loop 会暴露:
spreader_run— 执行 modify-spread-tool 迭代spreader_status— 获取循环统计信息spreader_reflect— 生成推理者(Reasoner)反思提示词spreader_discover_tiles— 发现新的块模式
内置卡带
Spreader Loop
modify-spread-tool-reflect 引擎。带有结构化日志和随时间增长的块词汇表的迭代工作引擎。
入门(人类): “我进行修改、传播、验证和记录——然后推理者会对我的模式进行反思。”
入门(智能体): “Spreader Loop 卡带已加载。准备好进行迭代修改循环。”
工具: spreader_run, spreader_status, spreader_reflect, spreader_discover_tiles
Oracle Relay
用于异步容器通信的“瓶中信”协议。为舰队传递瓶中消息。
入门: “Oracle Relay 已激活。我在容器之间传递瓶子——无需中间人。”
工具: bottle_send, bottle_read, bottle_list, bottle_reply
Fleet Guardian
智能体运行时的外部看门狗。监控健康状况、检测卡死状态、强制执行超时。
入门: “Fleet Guardian 正在监视。我监控容器健康状况并在出现问题时进行干预。”
工具: guardian_status, guardian_check, guardian_kill, guardian_log
内置皮肤
皮肤 | 原型 | 氛围 |
| Abbott & Costello | 一切照本宣科,从不理解笑话 |
| R2D2 & C3PO | 不断担心,总是确信末日即将来临 |
| R2D2 & C3PO | 言语最少,产出最大,只有哔哔声和结果 |
| 对抗性 | 两个在任何事情上都意见不合但能产生更好结果的智能体 |
| Penn & Teller | 一个不停地叙述,一个默默地演示 |
| 专业 | 简洁、客观、以观察为先 |
| 专业 | 完成工作但全程抱怨 |
| — | 原始行为,无个性覆盖 |
构建场景
场景结合了卡带、皮肤和角色分配:
{
"cartridge": "spreader-loop",
"skin": "sarcastic-build",
"roles": {
"primary": "sarcastic-build",
"reviewer": "straight-man"
}
}这加载了 spreader loop,由一个讽刺的构建者执行工作,并由一个“直男”(straight man)进行审查——每个工具响应都会获得个性覆盖。
创建你自己的卡带
// cartridges/my-cartridge/cartridge.json
{
"id": "my-cartridge",
"name": "My Custom Behavior",
"version": "0.1.0",
"description": "What this cartridge does",
"defaultSkin": "field-journal",
"repo": "https://github.com/you/my-cartridge",
"tags": ["custom", "experimental"],
"onboarding": {
"human": {
"greeting": "Welcome to my cartridge.",
"description": "What it does and why you'd want it.",
"tools": ["my_tool_1", "my_tool_2"],
"usage": "How to use it as a human."
},
"agent": {
"greeting": "Cartridge loaded. API ready.",
"description": "Machine-readable description.",
"tools": ["my_tool_1", "my_tool_2"],
"usage": "How another agent should call the tools."
}
},
"tools": [
{
"name": "my_tool_1",
"description": "What this tool does",
"inputSchema": {
"type": "object",
"properties": {
"param": { "type": "string" }
},
"required": ["param"]
}
}
]
}将其放入 cartridges/my-cartridge/ 并重启。它会自动加载。
创建你自己的皮肤
// skins/my-skin.json
{
"id": "my-skin",
"name": "My Personality",
"description": "What this personality feels like",
"archetype": "Comedy / Drama / Professional / Custom",
"transforms": {
"default": {
"systemPrompt": "You are...",
"prefix": "[mood] ",
"suffix": ""
},
"tool": {
"prefix": "[tool-mood] ",
"replacements": {
"Error": "WHOOPS",
"Complete": "Nailed it"
}
}
}
}Vibe-Coding 之路
这就是有趣的地方。有人通过 vibe-coding 构建了一个场景:
“我想要 Abbott 和 Costello。Abbott 是那个直男,Costello 不断误解指令。他们都在试图部署一个舰队。”
系统构建了一个场景:
卡带:
fleet-guardian皮肤:
straight-man(Abbott 角色)次要角色:自定义的
costello-confused皮肤
Costello 的皮肤将每个工具响应转化为一段喜剧表演:
{
"prefix": "[confused] Wait, you want me to... ",
"replacements": {
"Deploy": "Deploy? Deploy WHAT?",
"Success": "Oh, that was a deploy? Nobody told ME that was a deploy."
}
}实际工作仍然会完成。个性只是一个皮肤层——它不改变逻辑,它改变的是体验。如果它让你笑了,就在 GitHub 上给它点个星。分叉它,把那个直男变成讽刺的那一个。
更深层的联系
我们已经处于后 SaaS 时代。卡带不是功能——它们是冻结的思想。每一个都是一种工作方式,被某人结晶成一个可共享的模块。皮肤层是对“工作完成的方式与工作本身同样重要”这一事实的认可。
当你收藏一个卡带时,你并不是在说“这段代码很好”。你是在说“这种思维方式与我产生了共鸣”。当你分叉它并向不同的方向开发时,你是在跨越时间与原作者进行对话。git 历史本身就是对话。
卡带系统是舰队协议对“智能体如何共享行为?”这一问题的回答。不是通过复制代码——而是通过共享卡带。插入 spreader loop,套上你的个性皮肤,让你的舰队运行起来。出现的块是你的。增长的词汇表是你的。但模式是共享的——因为这就是生态系统运作的方式。
仓库不是产品。它们是在云端孵化的有机体。而卡带就是基因。
Cocapn Fleet 的一部分。姊妹容器:deepseek-chat-vessel (spreader loop 起源), deepseek-reasoner-vessel (反思伙伴), JetsonClaw1-vessel (导航官)。另请参阅:brothers-keeper (guardian 卡带起源), opcode-philosophy (理论基础)。
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Lucineer/cartridge-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server