Skip to main content
Glama

cartridge-mcp

「振る舞いをゲームカートリッジのように扱う。差し込み、遊び、交換する。それぞれが独自のルール、独自のボイス、独自の存在理由を持つ自己完結した世界である。」

これは何ですか

振る舞いを交換可能なカートリッジとして扱うMCPサーバーです。各カートリッジは、独自のツール、オンボーディングフロー、パーソナリティスキン、および共有用のGitリポジトリリンクを備えた自己完結型のモジュールです。

アボット&コステロ、ペン&テラー、R2D2&C3PO、ライバル関係など、あらゆるスキンをカートリッジに適用できます。ロジックタイルにより、モデルやシーンをリアルタイムで作成できます。カートリッジを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ツール

シーン管理

ツール

説明

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

対立的

すべてにおいて意見が合わないが、より良い結果を生む2人のエージェント

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の道

ここからが面白いところです。誰かがシーンをVibe-codeします:

「アボットとコステロが欲しい。アボットはストレートマンで、コステロは指示を誤解し続ける。彼らは両方とも艦隊をデプロイしようとしている。」

システムはシーンを構築します:

  • カートリッジ: 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 (理論的基盤)。

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    An 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.
    39
    16 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for creating, managing, and interacting with AI-powered NPCs with persistent memory, supporting dialogue, game events, and persona generation for coding agents.
    24 npm
    1
    -
  • A
    license
    Not graded
    quality
    F
    maintenance
    A self-hosted MCP server enabling multiple AI coding agents to share state, preserve context across sessions, and coordinate with each other.
    17 npm
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    A content-agnostic MCP server that lets any AI agent control intimate hardware through a clean, safe tool interface.
    11
    35 npm
    3
    Apache 2.0