Skip to main content
Glama

cartridge-mcp

«Относитесь к моделям поведения как к игровым картриджам. Вставляйте, играйте, меняйте. Каждый из них — это замкнутый мир со своими правилами, своим голосом и своей причиной для существования».

Что это такое

MCP-сервер, который рассматривает модели поведения как сменные картриджи. Каждый картридж — это автономный модуль со своими инструментами, процессом адаптации, «скином» личности и ссылкой на git-репозиторий для обмена.

Применяйте к картриджу образы Эбботта и Костелло, Пенна и Теллера, 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. Итеративная «рабочая лошадка» со структурированным логированием и словарем плиток, который растет со временем.

  • Адаптация (человек): «Я модифицирую, распространяю, проверяю и логирую — затем Reasoner размышляет над моими паттернами».

  • Адаптация (агент): «Картридж 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

Эбботт и Костелло

Воспринимает все буквально, никогда не понимает шуток

complainer

R2D2 и C3PO

Постоянно беспокоится, уверен, что гибель неизбежна

quiet-doer

R2D2 и C3PO

Минимум слов, максимум результата, бипы и отчеты

rivals

Соперничество

Два агента, которые во всем не согласны, но выдают лучшие результаты

penn-teller

Пенн и Теллер

Один бесконечно рассказывает, другой молча демонстрирует

field-journal

Профессионал

Лаконично, по фактам, приоритет наблюдениям

sarcastic-build

Профессионал

Делает работу, но постоянно жалуется

none

«Сырое» поведение, без наложения личности

Создание сцены

Сцена объединяет картридж, скин и распределение ролей:

{
  "cartridge": "spreader-loop",
  "skin": "sarcastic-build",
  "roles": {
    "primary": "sarcastic-build",
    "reviewer": "straight-man"
  }
}

Это загружает Spreader Loop, где саркастичный строитель выполняет работу, а «прямолинейный» персонаж проверяет её — каждый ответ инструмента получает наложение личности.

Создание собственного картриджа

// 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

Здесь начинается самое интересное. Кто-то «вайб-кодит» сцену:

«Я хочу Эбботта и Костелло. Эбботт — серьезный, Костелло постоянно неправильно понимает инструкции. Они оба пытаются развернуть флот».

Система строит сцену:

  • Картридж: fleet-guardian

  • Скин: straight-man (роль Эбботта)

  • Вторичная роль: кастомный скин costello-confused

Скин Костелло превращает каждый ответ инструмента в комедийную сценку:

{
  "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