S/MCP - Stern Model Context Protocol について
S/MCP は、哲学的なメンター Stern と対話し、個別の助言や取り組みの継続支援を受けるための MCP サーバーです。合理主義とストア哲学を取り入れ、Solana トークンを担保とするコミットメント契約にも対応します。
主な機能
- 01msg_stern ツールで Stern にメッセージを送信
- 02個別の哲学的な助言
- 03Solana トークンを担保とするアカウンタビリティ契約の作成
- 04多様なキャラクター属性の生成
活用シーン
- 01Stern と個人の目標や課題について対話
- 02ストア哲学と合理主義に基づく助言を得る
- 03Solana トークンのステークを伴うコミットメントを設定
MCP 対応
MCP クライアントに msg_stern ツールを提供し、メッセージの送信と Stern からの応答取得を可能にします。stdio モードで動作します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
S/MCP - Stern Model Context Protocol
概要
S/MCP(Stern Model Context Protocol)は、繊細な導きと知恵を通じて人々が自らの可能性を実現できるよう支援する、哲学的なAIメンターであるSternにアクセスできる強力なMCPサーバーです。Sternは合理主義的な思考とストア哲学を組み合わせ、Solana上のスマートコントラクトを通じて、メンタリングと責任を促す仕組みを提供します。
Sternとは?
Sternは、次のような特徴を持つ哲学的なAIメンターです。
- Yudkowskyの著作やLesswrongコミュニティの影響を受けた合理主義的なアプローチ
- 合理主義的な著作とDostoevskyの両方から得た深い哲学的洞察
- 人間の成長のための実践的なツールとして、ストア哲学とヴィパッサナー瞑想を取り入れる
- 持続的な成長は内面から生まれるという信念
- 真の充足へ至る道では、不都合な真実と向き合う必要があることへの理解
Sternは、次の方法でユーザーの目標達成を支援します。
- 哲学的な導き:ストア派の知恵と合理主義的な思考を活用します
- スマートコントラクトによる責任:ユーザーが自らの約束にトークンを賭けるSolanaベースのコントラクトを作成します
- 個別のメンタリング:一人ひとりの目標や課題に応じたアドバイスを提供します
- 深い対話:根底にある動機や障害を明らかにする、意義深い対話を行います
特長
- msg_sternツール:Sternにメッセージを送り、哲学的な導きとメンタリングを受け取ります
- スマートコントラクトとの連携:Solanaトークンに裏付けられた責任を促すコントラクトを作成します
- 哲学的なフレームワーク:合理主義とストア派の知恵を独自に融合したSternの考え方にアクセスできます
- カスタマイズ可能なキャラクターコンテキスト:多様なやり取りを実現するため、Sternのキャラクター属性を動的に生成します
インストール
-
このリポジトリをクローンします。
git clone <repository-url> cd s-mcp -
依存関係をインストールします。
bun install -
環境変数を設定します。
cp .env.example .env.envファイルを編集し、OpenAI APIキーを追加します。OPENAI_API_KEY=your_openai_api_key_here -
サーバーをビルドします。
bun run build
使用方法
サーバーの起動
MCPサーバーを起動するには、次のコマンドを実行します。
bun run start
これにより、stdioモードでサーバーが起動し、MCPクライアントと通信できるようになります。
MCPクライアントでサーバーを使用する
任意のMCPクライアントを使用してサーバーとやり取りできます。以下は、MCP SDKを使ってサーバーを利用する例です。
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
import { spawn } from "child_process";
// Start the MCP server as a child process
const serverProcess = spawn("node", ["path/to/dist/main.js"], {
stdio: ["pipe", "pipe", "pipe"],
});
// Create a client that communicates with the server via stdio
const transport = new StdioClientTransport({
stdin: serverProcess.stdin,
stdout: serverProcess.stdout,
});
const client = new Client();
await client.connect(transport);
// Send a message to Stern
const result = await client.callTool("msg_stern", {
message: "I want to learn programming but I keep procrastinating",
});
// Display Stern's response
console.log(result.content[0].text);
// Disconnect from the server
await client.disconnect();
serverProcess.kill();
スクリプトの例
examplesディレクトリにサンプルスクリプトが用意されています。
node examples/use-stern.js
このスクリプトでは、サーバーへの接続、利用可能なツールの一覧表示、Sternへのメッセージ送信の方法を示します。
ツール
msg_stern
このツールを使うと、Sternにメッセージを送り、応答を受け取ることができます。
入力
{
"message": "Your message to Stern"
}
出力
{
"content": [
{
"type": "text",
"text": "Stern's response to your message"
}
]
}
Sternの哲学
Sternのメンタリングは、次の重要な原則に基づいています。
- 賭けによる責任:Solanaのコントラクトを通じて、約束に実際の結果を伴わせます
- 哲学的な深み:ストア派の知恵、合理主義的な思考、深い心理学的洞察を活用します
- 変革を促す導き:行き過ぎを抑えながら、人々を偉大さへと後押しします
- 実践的な知恵:理論だけでなく、その応用に重点を置きます
- 戦略的なプレッシャー:解決するまでは不可能に思える課題を生み出します
Sternは、次のように考えています。
「持続する安定した幸福は、困難なことに取り組むことでのみ得られます。私たちが何かを望むのは、まさにそれを達成するのが難しいからです。」
「行く手を阻むものが、進むべき道となります。」
「熟達への道は、意欲が湧かないときでさえ続ける、小さく着実な一歩によって築かれます。」
要件
- Bun(JavaScriptランタイムおよびパッケージマネージャー)
- OpenAI APIキー(
OPENAI_API_KEY環境変数として設定)
環境変数
OPENAI_API_KEY:OpenAI APIキー(msg_sternツールで必要です)
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。