attest-mcp-remote について
attest-mcp-remoteは、Spazio Genesiのデジタル作品認証サービス向けのホスト型MCPサーバーです。ファイルを転送せずに、フィンガープリントの検証や認証の作成ができます。
主な機能
- 01サービスとBitcoinアンカーの状態確認
- 02認証署名の検証
- 03フィンガープリントによる証明書検索
- 04ブラウザーのデバイスフローで認証
- 05フィンガープリントの認証とPDF証明書の作成
活用シーン
- 01フィンガープリントのOpenTimestamps証明を確認
- 02署名済み認証の検証
- 03作品のフィンガープリントにサーバー時刻を記録
- 04PDF証明書の作成と取得
MCP 対応
Streamable HTTP経由でMCPクライアントに8つのツールを提供します。ツールはSHA-256フィンガープリントを扱うため、ファイルはサーバーに送信されません。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://attest-mcp-remote.it-e3f.workers.dev/mcpclaude mcp add --transport http spazio-genesi-attest-mcp-remote https://attest-mcp-remote.it-e3f.workers.dev/mcp{"mcpServers":{"spazio-genesi-attest-mcp-remote":{"type":"http","url":"https://attest-mcp-remote.it-e3f.workers.dev/mcp"}}}Cursor で開く{"servers":{"spazio-genesi-attest-mcp-remote":{"type":"http","url":"https://attest-mcp-remote.it-e3f.workers.dev/mcp"}}}VS Code で開く{"mcpServers":{"spazio-genesi-attest-mcp-remote":{"type":"http","url":"https://attest-mcp-remote.it-e3f.workers.dev/mcp"}}}{"mcpServers":{"spazio-genesi-attest-mcp-remote":{"serverUrl":"https://attest-mcp-remote.it-e3f.workers.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
8このツールにパラメーターはありません。
詳細
attest-mcp-remote
公式 MCP Registry に
io.github.SPAZIO-GENESI/attest-mcp-remote として掲載されています。
Spazio Genesi デジタルワーク証明サービス向けのリモート MCP サーバー(Streamable HTTP)です。インストール不要: MCP クライアントに URL をコネクターとして追加すれば、検証と証明を開始できます。
設計上、ファイルが転送されることはありません。 MCP にはクライアントからサーバーへの信頼できるファイル転送手段がなく、このサービスもそのような手段を必要としていません。すべてのツールは作品の SHA-256 フィンガープリントを使って動作します。コードを実行できるエージェントはローカルでフィンガープリントを計算するため(sha256sum <file>)、ファイルが保存されているマシンから外に出ることはなく、このサーバーを経由することもありません。ローカルファイルを扱うツールには stdio パッケージ
@spazio-genesi/attest-mcpを、利用者の方にはウェブサイト(ブラウザー内でハッシュを計算し、完全なプライバシーを確保)または Telegram ボット @SGAttestBot をご利用ください。
ステータス
本番稼働中です。 https://attest-mcp-remote.it-e3f.workers.dev/mcp で稼働しています。
8 つのツールすべてを実装し、本番環境に対してエンドツーエンドでテストおよび検証済みです。claude.ai からの実際のインストール不要の実行(URL でコネクターを設定し、利用者が Turnstile の承認を行い、証明書 PDF を発行してアーカイブ)も含まれます。
ツール
| ツール | 認証 | 機能 |
|---|---|---|
service_status | 不要 | Worker/アーカイブ/署名者/Bitcoin アンカーの状態を確認 |
check_anchor | 不要 | フィンガープリントの OpenTimestamps 証明を検索 |
verify_attestation | 不要 | 証明のサーバー HMAC 署名を検証 |
lookup_certificate | 不要 | フィンガープリントのアーカイブを検索し、恒久リンクを取得 |
authorize | デバイスフローを開始 | 利用者がブラウザーで一度承認(ボット対策チェック) |
complete_authorization | デバイスフロー | 24 時間有効なセッショントークンを取得(セッション状態に保持され、応答に含めて返すことはありません) |
attest_hash | セッショントークンまたは API キーヘッダー | フィンガープリントをサーバー署名付きタイムスタンプに紐付け |
create_certificate_pdf | セッションに紐付け | 証明書 PDF を生成してアーカイブし、恒久リンクを返す |
認証情報:上記の設定不要なデバイスフローを使うか、接続時に
Authorization: Bearer sg_k_… ヘッダーを指定します(例:Claude Code の場合:
claude mcp add --transport http attest <url> --header "Authorization: Bearer sg_k_…")。
セルフサービスキー:https://imgauth.spaziogenesi.org/developer/keys
開発
npm install
npm run dev # wrangler dev (default port 8787)
node test/smoke.mjs http://127.0.0.1:8787
test/smoke.mjs は Streamable HTTP トランスポートを使って、実際の公開本番データ(読み取り専用)に対するエンドツーエンドの処理(initialize →
tools/list → tools/call)を実行します。
test/smoke-auth.mjs は認証情報を使うフローをテストします。こちらはローカル専用のテスト用ハーネスです。ユーザー承認の手順はローカルの D1 に直接書き込んでシミュレートするため、独立した imgauth wrangler dev(専用の --persist-to
状態を使い、SIGNER_URL を空にする)が必要です。詳しくはファイルの冒頭のコメントを参照してください。
⚠️ バージョンを更新する場合
このサーバーは、ウェブインターフェースが公開するMCP Server Cardでも案内されており、そこにはこのサーバーの名前、バージョン、エンドポイントが記載されています。
https://attestazione.spaziogenesi.org/.well-known/mcp/server-card.json
→ ファイル:imgauthweb/.well-known/mcp/server-card.json
このファイルはこのリポジトリから生成されないため、ここでバージョンを更新すると、気付かないうちに内容が古くなります。package.json と
server.json の version を変更した場合は、カード内の serverInfo.version も更新してください。同じリリース日に更新する必要があります。(バージョンを誤って記載したカードを公開するのは、更新されていない openapi.json を残すのと同種の問題です。誤った情報を記載した仕様書は、仕様書がないよりも悪いものです。)
セキュリティ
脆弱性の報告 → /sicurezza/
(責任ある開示ポリシー、および善意の調査に対するセーフハーバー)。このリポジトリには独自の security.txt はありません(静的アセットを持たない Worker のため)が、このポリシーは workers.dev サービスを含むプロジェクト全体を対象としています。
ライセンス
MIT — © Spazio Genesi ETS。本ソフトウェアは公開されている imgauth API の純粋なクライアントであり、独自の API コントラクトは定義していません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。