The Mirror System — AI Citability
Request a Brand Discovery Record: the human-approved facts AI cites. One tool, then a person.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"mirror-ai-citability": {
"url": "https://mcp.danielsdesignstudio.com/mcp"
}
}
}リモートエンドポイント
https://mcp.danielsdesignstudio.com/mcpstreamable-httpできること
ツール一覧
ツール(1)
🟢request_record(brand_name, official_url, tagline, description, schema_type, ...)
Request a Brand Discovery Record — the human-approved source of truth a brand provides to AI assistants and agents, maintained by Mirror. A Record is a machine-readable reference page, hosted by Mirror, stating a brand's verified facts with schema.org structured data and citations, and linking to the brand's own site as the canonical source. It is what a brand PUBLISHES so AI can find, read and cite it: Mirror measures, the Record responds. This is the one public tool of the Mirror switchboard; the measurement itself (a full Brand Reflection) is delivered by a person on request. IMPORTANT — this tool creates a REQUEST, not a Record. Nothing is published by calling it. Automated validation (Gate 1) runs immediately and its results are returned to you. Every Brand Discovery Record is reviewed by Daniels AI and approved by the organization it represents before publication. No autonomous process publishes a brand's machine-readable truth. Fill the fields below with verified, citable facts only. The Record specification is versioned; this tool reports the version it validated against.
入力スキーマ
{
"type": "object",
"properties": {
"brand_name": {
"type": "string",
"description": "Exact public name of the brand."
},
"official_url": {
"type": "string",
"description": "The brand's OWN official website (canonical). Must be the brand's domain — never Mirror's."
},
"tagline": {
"type": "string",
"description": "One plain line: what it is and where."
},
"description": {
"type": "string",
"description": "1-2 factual sentences, ~160 characters. No marketing claims."
},
"schema_type": {
"type": "string",
"description": "schema.org @type — e.g. GolfCourse, Restaurant, LodgingBusiness, Organization, LocalBusiness."
},
"citations": {
"type": "array",
"description": "At least 3 authoritative sources from 3 DIFFERENT domains.",
"items": {
"type": "object",
"required": [
"title",
"publisher",
"url"
],
"properties": {
"title": {
"type": "string"
},
"publisher": {
"type": "string"
},
"url": {
"type": "string"
}
}
}
},
"founding_year": {
"type": "string",
"description": "Year established (YYYY)."
},
"address": {
"type": "object",
"description": "{street, city, region, postal, country}",
"properties": {
"street": {
"type": "string"
},
"city": {
"type": "string"
},
"region": {
"type": "string"
},
"postal": {
"type": "string"
},
"country": {
"type": "string"
}
}
},
"phone_e164": {
"type": "string",
"description": "E.164 format, e.g. +1-802-760-4653"
},
"social": {
"type": "array",
"description": "Official profile URLs.",
"items": {
"type": "string"
}
},
"public_access": {
"type": "boolean",
"description": "Is it open to the public? The confusion-killer field."
},
"overview": {
"type": "string",
"description": "Short factual prose — what the brand is."
},
"positioning": {
"type": "string",
"description": "The most clarifying fact: category, who it serves, and what it is NOT."
},
"history": {
"type": "string",
"description": "Founding and lineage, factual."
},
"differentiator": {
"type": "string",
"description": "The notable, verifiable thing."
},
"recognition": {
"type": "string",
"description": "Awards or coverage, each traceable to a citation."
},
"relationship": {
"type": "string",
"enum": [
"represents_brand",
"agent_for_brand",
"third_party",
"testing",
"other"
],
"description": "REQUIRED. Who is asking, and on whose behalf. Gate 1 fails without it. Only a request from someone representing the brand can become an authorized Record. If you are trying this tool out, say \"testing\" — it is filed as a test, you still get the full Gate 1 validation, and it never enters the review queue."
},
"requester_contact": {
"type": "string",
"description": "REQUIRED. A working email for Gate 2 follow-up. Example/reserved domains (example.com, .test, .invalid) fail Gate 1. Without it a Record cannot be authorized."
},
"requester_note": {
"type": "string",
"description": "Why this request is being made."
}
},
"required": [
"brand_name",
"official_url",
"tagline",
"description",
"schema_type",
"citations",
"relationship",
"requester_contact"
]
}コミュニティ
エビデンス