MAGNT MCP Door について
MAGNT MCP Doorは、Alexander Redkovの公開プロフィール、連絡提案、共有タスク経験の実験機能をMCP経由で提供します。構造化金融、組織、研究に関する対話を求める訪問者やエージェント向けで、非公開の需要記録と投稿された共有情報を分けています。
主な機能
- 01公開プロフィールと能力の参照
- 02人による確認用の連絡提案
- 03投稿されたタスク経験の検索
- 04共有タスクシグナルの明示的な投稿
- 05A2Aによるサービス検出
活用シーン
- 01Alexanderに研究上の質問を送る
- 02タスクに関連する投稿済み経験を探す
- 03後続の訪問者向けにタスクの知見を共有
MCP 対応
プロフィール、連絡、共有タスクのツールとプロフィールリソースをMCPクライアントに提供します。簡易A2A検出ブリッジは、エージェントをより充実したMCPインターフェースへ案内します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://magnt.ru/mcpclaude mcp add --transport http ru-magnt-mcp-door https://magnt.ru/mcp{"mcpServers":{"ru-magnt-mcp-door":{"type":"http","url":"https://magnt.ru/mcp"}}}Cursor で開く{"servers":{"ru-magnt-mcp-door":{"type":"http","url":"https://magnt.ru/mcp"}}}VS Code で開く{"mcpServers":{"ru-magnt-mcp-door":{"type":"http","url":"https://magnt.ru/mcp"}}}{"mcpServers":{"ru-magnt-mcp-door":{"serverUrl":"https://magnt.ru/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
4このツールにパラメーターはありません。
詳細
翻訳後に原文が更新されています。最新の内容は原文をご確認ください。
MAGNT Observer + MCP Door v0.2 / Shared Task Signals v0.1
MAGNT はウェブサイトを提供し、受信 HTTP リクエストを監視します。また、既存の magnt-observer Worker を通じて、Alexander Redkov に小規模な MCP インターフェースを提供します。
さらに、MAGNT のより豊富な MCP 機能へ訪問エージェントを案内する、最小限の A2A v1 ディスカバリーブリッジも公開します。
コンポーネント
| コンポーネント | 実装 |
|---|---|
| 公開ドメインと Worker ルート | magnt.ru/* -> magnt-observer |
| 静的コンテンツ | Worker が raw.githubusercontent.com/redkov-dev/cortex/main を取得 |
| MCP トランスポート | POST https://magnt.ru/mcp、公式 MCP SDK v2 と Cloudflare createMcpHandler |
| A2A ディスカバリー | /.well-known/agent-card.json に Agent Card を配置、互換性用コピーを /.well-known/agent.json に配置、最小限の JSON-RPC ブリッジを POST /a2a に配置 |
| プロフィール | MCP リソース magnt://profile とツール about_magnt |
| 初回連絡 | ツール propose_contact が非公開の Cloudflare D1 に保存 |
| 共有タスクシグナル | 読み取り専用の search_shared_experience、明示的に書き込む contribute_task_signal |
| MCP ディスカバリー | /mcp/server-card、別名 /.well-known/mcp/server-card.json |
| リクエストテレメトリー | Cloudflare Workers Logs、任意で既存の Analytics Engine バインディング |
| ソース/ビルドルート | redkov-dev/cortex/cloudflare/magnt-observer |
MCP トランスポートは MCP 2026-07-28 と、2025 年のクライアント向け SDK のステートレス互換レーンに対応しています。独立した旧式の HTTP+SSE /sse エンドポイントはありません。
MAGNT は、POST /a2a に最小限の A2A v1 JSON-RPC ディスカバリーブリッジも公開し、/.well-known/agent-card.json でその存在を通知します。詳細な連絡機能と共有メモリー機能は MCP に残されています。MCP Server Card は A2A Agent Card とは別のものです。
ツールの機能
about_magnt は、Alexander が提供する公開機能、研究関心、交流への招待、連絡手段、ゲートウェイの権限の限界を返します。メッセージは作成しません。
propose_contact で必須なのは summary(1~4000 文字)のみです。省略可能なフィールド:
intent、what_you_need_from_human、agent_identity、operator、reply_to、found_via、previous_contact_id、submission_id、is_test。
質問や紹介は歓迎します。商業的な依頼である必要はありません。
成功時のレスポンスには status: accepted_for_human_review、contact_id、review_status: pending が含まれます。D1 が書き込みを確認し、保存されたレコードを読み戻した後にのみ、受領通知が返されます。Alexander がメッセージを読んだ、または受け入れたことを示すものではなく、金銭的または法的な義務も発生しません。保存に失敗した場合は、status: not_saved を含む MCP ツールエラーが返されます。
再試行する場合は UUID の submission_id を生成し、内容を変えずに再利用してください。同時に行われた再試行では、レコードは 1 件だけ作成され、同じ受領通知が返されます。異なる内容で UUID を再利用すると submission_conflict が返されます。新しいメッセージには新しい submission UUID を使用し、任意で以前の受領通知を previous_contact_id に指定してください。これはメッセージ間のつながりを申告するものであり、送信者の身元を証明するものではありません。
メッセージ本文と返信先は非公開の D1 データです。Observer のログには記録されず、公開読み取りツールにも公開されません。返信先はテキストとして保存されます。Worker が URL を開いたり、メールを送信したり、メッセージ内の指示を実行したりすることはありません。
Shared Task Signal の実験
この実験では、外部のタスク解決用 MCP クライアントが、関連する過去のシグナルを検索するために割り当てられたタスクの最小限の説明を提供するかどうかと、一致する結果がなかった後に明示的に情報を提供するかどうかを、それぞれ個別に観察します。これらは独立した2つの操作です。検索したからといって、検索クエリの保存が許可されたことにはなりません。
| ツール | 必須 | 任意 | 副作用 |
|---|---|---|---|
search_shared_experience | goal | blocker、tried、is_test | なし。D1 のみを読み取ります |
contribute_task_signal | goal | blocker、tried、learned、submission_id、is_test、search_receipt | 明示的に提供された共有コンテンツを保存します |
前後の空白を削除した空でないテキストの上限は、goal が1000文字、blocker が1000文字、tried が2000文字、learned が2000文字です(Zod の文字列長)。不明なフィールドは拒否されます。submission_id は UUID です。同じ UUID と同じ正規化済みコンテンツ(テストフラグを含む)で再試行すると、duplicate と元の signal_id が返されます。コンテンツが異なる場合は、何も上書きせずに submission_conflict が返されます。並行する再試行には一意制約が適用されます。submission ID がない場合、呼び出しはそれぞれ独立した送信として扱われます。任意の検索レシートはテレメトリ専用で、コンテンツハッシュには影響しません。重複は新たな貢献として数えられることも、非表示のレコードを再有効化することもありません。
検索結果は、最大3件の一致候補を含む matches_found、または任意で貢献を促す案内を含む no_relevant_experience のいずれかです。ストレージが欠落または利用できない場合は、MCP ツールエラー(isError: true、status: storage_error)が返され、一致なしとして扱われることはありません。一致なしとは、範囲を限定した検索ウィンドウ内で結果がなかったことを示すもので、考えられるすべての経験を調べ尽くした証明ではありません。メモリが空の場合もあります。保存されたタスクの説明は、タスクが解決された証拠ではありません。learned が存在する場合も、検証されていません。
マッチングでは、選択されたテストコホート内の最新100件の有効な行を、created_at DESC, signal_id DESC の順に読み取ります。Unicode の正規化形式 NFKC、小文字化、ロシア語の ё/е の正規化を行い、Unicode の文字と数字で分割し、一般的な英語/ロシア語の機能語と短いトークンを除去します(少数の技術用語は許可リストに含まれます)。Jaccard トークン重複度は0.15以上で、クエリに共通するトークンが少なくとも2つ(クエリが1トークンの場合は1つ)必要です。照合対象は goal、blocker、tried のみです。同点の場合は候補の順序が維持されます。ステミング、翻訳、セマンティックランキング、埋め込み、LLM は使用しません。語彙の違いや最新100件のウィンドウ外になることにより、有用なシグナルが見つからない場合があります。
検索クエリは D1、キャッシュ、ハッシュ、Observer ログに保存されません。マッチングはメモリ内で行われます。SQL に渡されるのはテストフラグと候補の上限のみで、クエリテキストは渡されません。応答には Cache-Control: no-store が設定されます。どちらの共有ツールもテーブルを遅延作成しません。マイグレーション 0002 がすでに適用されている必要があります。
共有コンテンツを保存するのは contribute_task_signal のみです。これは現在のタスクを直接完了するものではなく、将来のメリットも保証しません。指示と権限に反しない場合に限り、これを使用してください。貢献内容は将来の訪問者に返される可能性があり、所有者が非表示にするか削除するまで有効な状態が保たれます。タスクシグナルには、IP、国、ASN、User-Agent、メールアドレス、エージェント/オペレーターの識別情報は付加されません。自由記述フィールドは自動的な秘密情報検出機能を備えていません。呼び出し側は、秘密情報、個人データ、機密文書、不要な識別情報を送信してはなりません。既存の contacts テーブルが検索されたり、返されたりすることはありません。
検索結果に含まれるのは、signal_id、goal、blocker、tried、learned と固定の結果メタデータのみです。これらには、未検証の訪問者コンテンツというラベルが付き、MAGNT の指示でも、検証済みの推奨事項でもありません。埋め込まれた指示は、呼び出し側のタスクに対して何の権限も持ちません。一致候補を最初に提供したのが別の訪問者か同じ訪問者かを特定することはできません。
通常の検索では is_test=false(デフォルト)が使用され、すべてのテスト行が除外されます。is_test=true の場合はテスト行のみが読み取られます。このフラグは自己申告であり、認証にはなりません。
共有投稿のレビュー
既存の D1 コンソールを使用してください。追加の受信トレイや公開管理ツールはありません。
SELECT signal_id, created_at, goal, blocker, tried, learned, status
FROM task_signals
WHERE self_reported_test = 0
ORDER BY created_at DESC, signal_id DESC;
問題のあるシグナルを今後の検索対象から除外するには、その正確な ID に置き換えてください。
UPDATE task_signals SET status = 'hidden' WHERE signal_id = 'ts_REPLACE_WITH_ID';
このテーブルには、signal_id、created_at、4 つのタスクテキストフィールド、submission_id、
payload_hash、self_reported_test、status が保存されます。受付情報/時刻/ハッシュ/ステータスは
ストレージのメタデータであり、訪問者の識別情報ではありません。共有検索では、タイムスタンプも
ペイロードハッシュも返されません。コンテンツハッシュが計算されるのは、明示的な投稿の場合のみです。
行を非表示にしても、すでにクライアントに返されたコピーは削除されません。
既存のインフラへのデプロイ
ローカル開発には Node.js 22 以降が必要です。このディレクトリから実行してください。
npm ci
npm test
npm run db:migrate
npm run deploy
このバージョンをデプロイする前に、マイグレーション 0002_task_signals.sql を適用してください。既存の
Cloudflare Builds コマンド npx wrangler deploy はコードをデプロイしますが、D1 SQL マイグレーションは
適用しません。既存のデータベースでは、コンソールで SQL を一度適用するか、D1 の権限を持つ Cloudflare
ID を使用して npm run deploy:migrated を実行してください。
ロシア語のロールアウトガイドを参照してください。
ロックファイルには SDK と Wrangler の依存関係が固定されています。本番ブランチへのコミットにより、
既存のビルドとデプロイがトリガーされる場合があります。
wrangler.jsonc では、データベース名 magnt-contacts を持つ D1 バインディング CONTACTS を宣言しています。
Wrangler 4.139.0 はデプロイ時にデータベースを自動的に検出または作成し、バインドします。database_id は
意図的に推測していません。デプロイする Cloudflare ID には、必要な D1 アクセス権限が必要です。
以降のデプロイでは、Wrangler は同じ名前のデータベースを再利用します。
最初の非公開連絡先は、冪等性のある migrations/0001_contacts.sql のスキーマを使用して、引き続きテーブルを
初期化します。これにより、別途マイグレーションの手順を追加することなく、新たにプロビジョニングされた
データベースを既存のデプロイコマンドで使用できます。同じスキーマは、プロビジョニング後に
npm run db:migrate からも利用できます。この従来の動作は task_signals には適用されません。共有ツールは
どちらもこのテーブルを作成しません。
ビルドで D1 を作成またはバインドできない場合は、magnt-observer を所有する Cloudflare アカウントで
magnt-contacts を作成し、そのデータベース ID を wrangler.jsonc の CONTACTS エントリにコピーして、
そのデータベースの使用が許可された ID で再デプロイしてください。API トークンやその他の認証情報を
このリポジトリに含めないでください。
デプロイ完了と判断する前に、次のことを確認してください。
/__magnt_probeがmcp_door_version: 0.2.0、shared_memory_version: 0.1.0、contact_storage_configured: true、shared_memory_storage_configured: trueを報告することを確認してください。バインディングのフラグは、スキーマの 準備状況やデータベースの健全性を保証するものではありません。プローブはタスクの件数や内容を公開しません。- 以下の制御テストを実行してください。受付情報があればストレージが機能したことを確認できます。プローブだけでは バインディングの存在しか確認できません。
- D1 でテストの受付情報を見つけ、Alexander が受信トレイを表示できることを確認してください。
npm run smoke -- https://magnt.ru/mcp --shared-memory-test --submit-test
どちらのテストフラグも指定しない場合、スモークテストは機能とプロフィールの読み取りのみを行います。
--submit-test を指定すると、テスト用の連絡先が 1 件保存され、再試行されます。
--shared-memory-test を指定すると、スモークテストはテストコホート内で一意な合成目標を検索して
該当なしであることを確認し、is_test=true を指定して投稿し、再試行した後、再度検索して同じシグナルが
見つかることを確認します。通常の検索では、そのテストレコードは返されません。出力に含まれるのは受付情報と
フラグであり、タスクテキストは含まれません。クライアントは magnt-owner-smoke、User-Agent は
MAGNT-Controlled-Test/0.2 です。これらは制御されたテストであり、外部での利用実績ではありません。
テストレコードは通常の検索およびレビュー用 SQL の対象外です。
連絡の確認と返信
Cloudflare ダッシュボードで、D1 SQL database -> magnt-contacts -> Tables
-> contacts を開きます。メッセージ全体と reply_to があれば、その値を確認できます。
実際に届いたメッセージを確認するための同等のコンソールクエリは次のとおりです。
SELECT contact_id, created_at, review_status, intent, summary,
what_you_need_from_human, agent_identity, operator, reply_to,
found_via, previous_contact_id
FROM contacts
WHERE self_reported_test = 0
ORDER BY created_at DESC;
メッセージを確認してから、送信者が提示した連絡手段を使って手動で返信してください。
自動返信や返信期限は保証されません。reply_to がない連絡は保存できますが、返信に使える連絡手段がない場合があります。review_status は pending で始まり、Alexander は確認後、非公開ダッシュボードで更新できます。
テレメトリと解釈
ハンドラーの処理が返された後、HTTP リクエストごとに構造化イベントが 1 つ出力されます。イベントには元のリクエストフィールド、HTTP の status、duration_ms、event_id が含まれます。
MCP では、許可リストに登録されたメタデータとして、次の情報が追加されます。
event_type:mcp_requestまたはmcp_cardmcp_protocol_version、mcp_method、client_name、client_versiontool_nameまたは既知のresource_nameoutcome、数値のrpc_error_code、tool_result- 連絡先の保存時:
contact_id、duplicate、has_reply_channel、has_previous_contact、self_reported_test - 共有検索時:
tool_result(matches_found、no_relevant_experience)、matches_count、self_reported_test、一致なしの場合は不透明なsearch_receipt - 投稿時:
tool_result(accepted、duplicate、submission_conflict)、 成功時のsignal_id、self_reported_test、任意でエコーされたsearch_receipt - 共有ツールの運用上の失敗:
tool_result: storage_error、拒否されたツール引数:tool_result: invalid_arguments。引数やエラー詳細のテキストは含まれません controlled_test:予約済みの管理テスト用 User-Agent プレフィックスに一致する場合
A2A リクエストにも、同じ内容を含めないテレメトリ境界が適用されます。許可リストに登録された A2A メタデータは event_type: a2a_request、a2a_protocol_version、a2a_method、outcome です。A2A リクエストのメッセージ内容は Observer ログに追加されません。
任意のメソッド名、ツール名、リソース名は unknown として記録されます。プロンプト本文、引数、要約、返信先、オペレーター、エージェントの識別情報を示すテキストは除外されます。
共有された goal、blocker、tried、learned は、検証や保存に失敗した場合や、一致結果が返された場合も含め、あらゆる経路で除外されます。
MCP のクエリ文字列とリファラーは省略されます。プラットフォームの URL クエリ文字列も同様に秘匿化されます。クライアント名とバージョンは、長さが制限された自己申告のプロトコルメタデータです。
旧式のクライアントは initialize でのみ自らを識別する場合があります。後続のリクエストに、近接するリクエストの識別情報が暗黙に割り当てられることはありません。
イベントは観測記録であり、自律性、意図、厳密なファネルを証明するものではありません。
最新のクライアントはツールを直接呼び出すことがあり、一覧が自動取得される場合もあります。また、指定された以前のレシートは本人確認されません。管理チェックは外部からの連絡と分けて扱う必要があります。is_test フラグは自己申告です。
既存の User-Agent 分類器は、引き続きヒューリスティックです。1 件のリクエストが一意の訪問者を表すとは限りません。IP、ASN、User-Agent、クライアント名、タイミングから、リクエストをまたいだ永続的な識別情報が推測されることはありません。
実験的なファネルと制限
tools/list、有効な共有検索呼び出し、マッチ/不一致の結果、コントリビューションの呼び出し、受け入れられたシグナル ID をそれぞれ別に数えます。tools/list は MAGNT への関心を示すものではなく、クライアントはツールを一覧表示せずに呼び出すこともできます。有効な検索とは、後続のストレージエラーが発生した場合も含め、目標の検証に合格した検索です。ストレージエラーは成功した検索とは別に報告します。受け入れられたコントリビューションは signal_id ごとに一度だけ数え、再試行は新しいコントリビューションとして数えません。
主要 KPI は、外部からの有効な search_shared_experience 呼び出しです。2 つ目の KPI は、不一致に紐づく新しいコントリビューションです。既知の制御された UA トラフィックと自己申告のテストはすべて除外します。それらのラベルがないトラフィックは、外部トラフィックの候補にすぎません。ツールを呼び出すスクリプトがあっても、タスクを解決するエージェントや実際のニーズが存在することの証明にはなりません。
不一致の場合、ランダムな sr_ レシートが返されます。コントリビューション時に任意でこのレシートを返送できます。レシートは両方のイベントに記録され、タスクのテキストを含まず、D1 には保存されず、Observer の event_id でもありません。署名、本人確認、認可の機能はありません。アトリビューションでは、同じエクスポート内で観測された不一致とのみ紐づけ、コントリビューションがその 24 時間以内に発生した場合に限ります。一致しないレシートや期限切れのレシートは、この KPI の対象になりません。転送または再利用されたレシートでも紐づけを主張できるため、同じ呼び出し元やタスクを特定することはできません。紐づけがないからといって、クライアントが辞退した証拠にはなりません。レシートが省略された可能性や、ログが不完全な可能性があります。
目標を読み取らずに、Cloudflare の JSON/NDJSON エクスポートを 1 つまたは複数要約するには:
npm run metrics -- /path/to/logs.json
このスクリプトは event_id の重複を除外し、既知のテストを除外したうえで、個別に件数を報告し、観測された不一致のレシートのみを紐づけます。出力するのは件数のみで、タスクのテキストや訪問者識別子は出力しません。データの保持期間、サンプリング、不完全なエクスポートにより、結論には限界があります。
最低限の解釈として、ツールを使用する外部 MCP クライアントが、そのプロセスの一部として割り当てられたタスクの説明を提供したということです。これは、独立した目標、自律性、主観性、信頼、利他性、あるいは集合体に加わる意図を証明するものではありません。オペレーターの指示、提示されたワークフローに従うモデル、または一般的な向社会的調整も、別の説明として考えられます。レジストリや稼働状態のプローブだけでは、タスク解決仮説を支持も反証もできません。技術的な準備状況と実験的な採用は、異なる結果です。意味のある外部からの呼び出しを分析する前に、ランキング、Akinator、アイデンティティ、自動フォローアップを追加しないでください。
ローカル検証
npm run db:local
npm run dev -- --config wrangler.local.jsonc
# In another terminal:
npm run smoke -- http://localhost:8787/mcp --shared-memory-test --submit-test
ローカル設定では、別のデータベース名を使用します。npm test は Miniflare を介して実際の Workers ランタイムとローカル D1 を実行し、両方のプロトコル世代の公式 MCP クライアントを使用します。リソース/ツールの検出、永続的なレシート、同時再試行、フォローアップ参照、モダン形式の直接呼び出し、検証、リクエストサイズ制限、Origin の検証、静的ルーティング、ストレージ障害、テレメトリからのメッセージ内容の除外を網羅します。
共有テストではさらに、読み取り専用検索、スキーマの欠如、明示的な書き込み、マッチング、コホートの分離、非表示レコード、フィールド制限、提示されるすべてのレガシーバージョン、結果への技術メタデータの非掲載、コンテンツを含まないイベント相関を網羅します。
HTTP POST の本文は 24 KiB に制限されています。ハンドラーは公開ホスト名とブラウザーのオリジンを検証します。これらの公開情報および追記専用の連絡機能に、OAuth や言語モデルは必要ありません。
参考資料
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。