Skip to main content
Glama

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.js

MCP 工具

场景管理

工具

描述

cartridge_list

列出所有可用卡带

cartridge_load

加载卡带(使其工具可用)

cartridge_onboard

获取定制的入门指南(面向人类或智能体)

skin_list

列出所有个性皮肤

skin_apply

应用个性皮肤

scene_build

构建场景:卡带 + 皮肤 + 角色

scene_status

获取当前场景配置

scene_export

将场景导出为可共享的 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

内置皮肤

皮肤

原型

氛围

straight-man

Abbott & Costello

一切照本宣科,从不理解笑话

complainer

R2D2 & C3PO

不断担心,总是确信末日即将来临

quiet-doer

R2D2 & C3PO

言语最少,产出最大,只有哔哔声和结果

rivals

对抗性

两个在任何事情上都意见不合但能产生更好结果的智能体

penn-teller

Penn & Teller

一个不停地叙述,一个默默地演示

field-journal

专业

简洁、客观、以观察为先

sarcastic-build

专业

完成工作但全程抱怨

none

原始行为,无个性覆盖

构建场景

场景结合了卡带、皮肤和角色分配:

{
  "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 (理论基础)。

-
security - not tested
F
license - not found
-
quality - not tested

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