cartridge-mcp
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
Управление сценами
Инструмент | Описание |
| Список всех доступных картриджей |
| Загрузить картридж (делает его инструменты доступными) |
| Получить индивидуальную адаптацию (для человека или агента) |
| Список всех скинов личности |
| Применить скин личности |
| Создать сцену: картридж + скин + роли |
| Получить текущую конфигурацию сцены |
| Экспортировать сцену в виде JSON для обмена |
Инструменты активного картриджа
Когда картридж загружен, его инструменты становятся доступными. Например, загрузка spreader-loop открывает:
spreader_run— выполнить итерацию modify-spread-toolspreader_status— получить статистику циклаspreader_reflect— сгенерировать промпт для рефлексии Reasonerspreader_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
Встроенные скины
Скин | Архетип | Атмосфера |
| Эбботт и Костелло | Воспринимает все буквально, никогда не понимает шуток |
| R2D2 и C3PO | Постоянно беспокоится, уверен, что гибель неизбежна |
| R2D2 и C3PO | Минимум слов, максимум результата, бипы и отчеты |
| Соперничество | Два агента, которые во всем не согласны, но выдают лучшие результаты |
| Пенн и Теллер | Один бесконечно рассказывает, другой молча демонстрирует |
| Профессионал | Лаконично, по фактам, приоритет наблюдениям |
| Профессионал | Делает работу, но постоянно жалуется |
| — | «Сырое» поведение, без наложения личности |
Создание сцены
Сцена объединяет картридж, скин и распределение ролей:
{
"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 (теоретический фундамент).
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