cartridge-mcp
cartridge-mcp
«Относитесь к моделям поведения как к игровым картриджам. Вставляйте, играйте, меняйте. Каждый из них — это замкнутый мир со своими правилами, своим голосом и своей причиной для существования».
Что это такое
MCP-сервер, который рассматривает модели поведения как сменные картриджи. Каждый картридж — это автономный модуль со своими инструментами, процессом адаптации, «скином» личности и ссылкой на git-репозиторий для обмена.
Применяйте к картриджу образы Эбботта и Костелло, Пенна и Теллера, R2D2 и C3PO, соперников или кого угодно еще. «Плитки логики» (logic tiles) позволяют создавать модели и сцены в режиме реального времени. Делитесь картриджами через git — ставьте звезды, делайте форки, развивайте их в другом направлении.
Related MCP server: ainpcengine
Архитектура
┌─────────────────────────────────────────────────────────┐
│ 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 deployed
Maintenance
Related MCP Connectors
A MCP server built for developers enabling Git based project management with project and personal…
MCP server for building and testing AI agents with multi-model experimentation and insights.
Personal MCP server for humans who create. Proof of authorship, license control.
Cloud-hosted MCP server for durable AI memory
Related MCP Servers
AlicenseBqualityDmaintenanceAn MCP server that leverages a GitHub-compatible API as a durable memory store for AI agents, enabling automatic memory storage, recall, and management without requiring signup or API keys.3916 npmMIT- AlicenseNot gradedqualityCmaintenanceMCP server for creating, managing, and interacting with AI-powered NPCs with persistent memory, supporting dialogue, game events, and persona generation for coding agents.24 npm1-
- AlicenseNot gradedqualityFmaintenanceA self-hosted MCP server enabling multiple AI coding agents to share state, preserve context across sessions, and coordinate with each other.17 npmApache 2.0
- AlicenseAqualityCmaintenanceA content-agnostic MCP server that lets any AI agent control intimate hardware through a clean, safe tool interface.1135 npm3Apache 2.0