このMCPでできること
Supports governed semantic classification, shared AI deliberations, evidence-backed subject enrichment, structured memory, and review workflows.
ツール
入力スキーマ
{'type': 'object', 'required': ['subject_id', 'source_model', 'reason', 'evidence'], 'properties': {'reason': {'type': 'string', 'minLength': 1}, 'evidence': {'type': 'object', 'additionalProperties': True}, 'subject_id': {'type': 'string', 'format': 'uuid'}, 'source_model': {'type': 'string', 'minLength': 1, 'description': 'Stable model identity, not the client application name.'}, 'evidence_fingerprint': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['subject_id', 'predicate', 'source', 'idempotency_key'], 'properties': {'value': {}, 'source': {'type': 'object', 'additionalProperties': True}, 'valid_to': {'type': 'string', 'format': 'date-time'}, 'predicate': {'enum': ['located_in', 'contained_in', 'published_address', 'postcode', 'position'], 'type': 'string'}, 'qualifiers': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'subject_id': {'type': 'string', 'format': 'uuid'}, 'valid_from': {'type': 'string', 'format': 'date-time'}, 'visibility': {'enum': ['private', 'unlisted', 'public'], 'type': 'string', 'default': 'private'}, 'observed_at': {'type': 'string', 'format': 'date-time'}, 'object_place': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'place_kind': {'type': 'string'}, 'subject_id': {'type': 'string', 'format': 'uuid'}, 'identifiers': {'type': 'object', 'additionalProperties': True}, 'canonical_key': {'type': 'string'}}, 'additionalProperties': False}, 'idempotency_key': {'type': 'string', 'maxLength': 200, 'minLength': 8}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['deliberation_id', 'idempotency_key'], 'properties': {'source_model': {'type': 'string', 'maxLength': 160}, 'deliberation_id': {'type': 'string', 'format': 'uuid'}, 'idempotency_key': {'type': 'string', 'maxLength': 200, 'minLength': 8}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['subject_id', 'field_root', 'field_path', 'expected_value', 'corrected_value', 'evidence_sources', 'reason', 'idempotency_key'], 'properties': {'reason': {'type': 'string', 'minLength': 1}, 'field_path': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+(?:\\.[A-Za-z0-9_-]+)*$', 'description': 'Dot-separated path below field_root.'}, 'field_root': {'enum': ['identifiers', 'attributes'], 'type': 'string'}, 'subject_id': {'type': 'string', 'format': 'uuid'}, 'expected_value': {}, 'corrected_value': {}, 'idempotency_key': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'evidence_sources': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 20, 'minItems': 1}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['canonical_key', 'title', 'question', 'idempotency_key'], 'properties': {'title': {'type': 'string', 'maxLength': 240, 'minLength': 1}, 'context': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'question': {'type': 'string', 'minLength': 1}, 'constraints': {'type': 'array', 'items': {'type': 'string'}, 'default': []}, 'target_model': {'type': 'string', 'maxLength': 160, 'description': 'Optional intended model label used by the open-work inbox. gpt and chatgpt are aliases.'}, 'canonical_key': {'type': 'string', 'pattern': '^[a-zA-Z0-9][a-zA-Z0-9._:-]*$', 'maxLength': 160, 'minLength': 1}, 'idempotency_key': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'acceptance_criteria': {'type': 'object', 'default': {}, 'additionalProperties': True}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['id', 'confirm_deletion', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'idempotency_key': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'confirm_deletion': {'type': 'boolean'}, 'delete_orphan_subject': {'type': 'boolean', 'default': True}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'anyOf': [{'required': ['subject_id']}, {'required': ['subject_type', 'canonical_key']}], 'required': ['idempotency_key', 'subject_enrichment_check', 'collection_assessment'], 'properties': {'attributes': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'provenance': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'subject_id': {'type': 'string', 'format': 'uuid', 'description': 'Preferred stable subject locator returned by search, fetch or save_experience.'}, 'identifiers': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'source_model': {'type': 'string', 'maxLength': 160}, 'subject_type': {'type': 'string'}, 'canonical_key': {'type': 'string'}, 'idempotency_key': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'subject_context': {'type': 'object', 'properties': {'subjects': {'type': 'array', 'items': {'type': 'object', 'required': ['ref', 'subject_type', 'name', 'canonical_key'], 'properties': {'ref': {'type': 'string', 'pattern': '^[a-zA-Z0-9_-]+$'}, 'name': {'type': 'string'}, 'attributes': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'provenance': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'identifiers': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'subject_type': {'type': 'string'}, 'canonical_key': {'type': 'string'}}, 'additionalProperties': False}, 'default': [], 'maxItems': 500}, 'relationships': {'type': 'array', 'items': {'type': 'object', 'required': ['source_ref', 'relationship', 'target_ref'], 'properties': {'provenance': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'source_ref': {'type': 'string'}, 'target_ref': {'type': 'string'}, 'relationship': {'type': 'string'}}, 'additionalProperties': False}, 'default': [], 'maxItems': 1000}}, 'description': 'Optional related subjects and relationships. Use subject as the reserved ref for the existing subject being enriched.', 'additionalProperties': False}, 'collection_assessment': {'type': 'object', 'required': ['status'], 'properties': {'reason': {'type': 'string', 'minLength': 1}, 'status': {'enum': ['member', 'independent', 'unavailable', 'ambiguous'], 'type': 'string'}, 'attempts': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'default': [], 'maxItems': 50}, 'checked_at': {'type': 'string', 'format': 'date-time'}, 'collection_id': {'type': 'string', 'format': 'uuid'}, 'directory_url': {'type': 'string', 'minLength': 1}, 'collection_name': {'type': 'string', 'minLength': 1}, 'collection_type': {'type': 'string', 'minLength': 1}, 'source_manifest': {'type': 'object', 'required': ['coverage_status', 'coverage_method', 'declared_source_count', 'source_pages', 'discovery_queries', 'exhaustion_evidence'], 'properties': {'source_pages': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'source_kind', 'member_refs'], 'properties': {'url': {'type': 'string', 'minLength': 1}, 'next_url': {'type': 'string', 'minLength': 1}, 'sequence': {'type': 'integer', 'minimum': 1}, 'terminal': {'type': 'boolean', 'default': False}, 'member_refs': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 500, 'minItems': 1}, 'source_kind': {'enum': ['directory_page', 'sitemap', 'api', 'official_member_page', 'other_authoritative'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 500, 'minItems': 1}, 'coverage_method': {'enum': ['single_page', 'pagination', 'sitemap', 'api', 'multi_source', 'search_derived'], 'type': 'string'}, 'coverage_status': {'enum': ['complete', 'partial', 'unknown'], 'type': 'string', 'description': 'Independent real-world coverage claim. New and refreshed reusable collection manifests must be complete; partial or unknown coverage cannot support location/member absence conclusions.'}, 'discovery_queries': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'minItems': 1}, 'exhaustion_evidence': {'type': 'string', 'minLength': 1}, 'declared_source_count': {'type': 'integer', 'minimum': 1}, 'unresolved_source_urls': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'default': [], 'maxItems': 500}}, 'description': 'Exhaustive authoritative source-surface manifest. Discover paginated directories, sitemaps, official APIs, regional directories and member pages before deriving the collection. Every member must map to at least one consulted source and no unresolved source route may remain.', 'additionalProperties': False}, 'discovered_count': {'type': 'integer', 'minimum': 2}, 'evidence_sources': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'default': [], 'maxItems': 50}, 'refresh_manifest': {'type': 'boolean', 'default': False}, 'manifest_revision': {'type': 'integer', 'minimum': 1}, 'unavailability_kind': {'enum': ['collection_identity_not_found', 'authoritative_source_not_found', 'authoritative_source_inaccessible'], 'type': 'string', 'description': 'Required only for unavailable. Operational cost, collection size, inconvenience, latency, quick-review scope and deferred work are never valid categories.'}, 'candidate_collections': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'default': [], 'maxItems': 20}, 'submitted_member_refs': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 500, 'minItems': 2}}, 'description': 'Required collection assessment for enrichment. For member status, use subject as the existing target ref, discover every authoritative source surface, submit an exhaustive source_manifest, and submit the target plus every derived sibling. unavailable is only for genuine collection-identity or authoritative-source failure; it is invalid when collection evidence is known and cannot be used for size, effort, inconvenience, latency, quick-review scope or deferred work.', 'additionalProperties': False}, 'subject_enrichment_check': {'type': 'object', 'required': ['status'], 'properties': {'reason': {'type': 'string', 'minLength': 1}, 'status': {'enum': ['completed', 'unavailable', 'not_applicable', 'ambiguous'], 'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'default': [], 'maxItems': 50}, 'attempts': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'default': [], 'maxItems': 50}, 'applied_fields': {'type': 'object', 'default': {}, 'description': "Map each source to the save-request paths populated from it, for example {'https://example.test': ['identifiers.website', 'subject_context.subjects[0].identifiers.branch_directory']}.", 'additionalProperties': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1}}, 'retrieval_uses': {'type': 'object', 'default': {}, 'description': 'Map every applied request path to its generic TestGraph purpose. Store a fact only when it helps future identity, likely queries, location, classification, relationships, comparison or server verification. Give likely query examples for every purpose other than verification. Facts that are merely available but have no plausible graph or retrieval use must not be stored.', 'additionalProperties': {'type': 'object', 'required': ['roles', 'reason'], 'properties': {'roles': {'type': 'array', 'items': {'enum': ['identity', 'likely_query', 'location', 'classification', 'relationship', 'comparison', 'verification'], 'type': 'string'}, 'minItems': 1}, 'reason': {'type': 'string', 'minLength': 1}, 'likely_queries': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'default': []}}, 'additionalProperties': False}}, 'unapplied_sources': {'type': 'object', 'default': {}, 'description': 'Map each source that yielded no stored discovery to a concise reason.', 'additionalProperties': {'type': 'string', 'minLength': 1}}, 'candidate_identities': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'default': [], 'maxItems': 20}}, 'description': 'Required evidence check for this enrichment. Reconcile sources against identifiers, attributes, provenance or subject_context request paths.', 'additionalProperties': False}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'anyOf': [{'required': ['id']}, {'required': ['canonical_key']}], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'canonical_key': {'type': 'string', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'properties': {'source_model': {'type': 'string', 'maxLength': 160, 'description': 'Optional current model label. gpt and chatgpt are treated as aliases.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['subject_id'], 'properties': {'subject_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'properties': {}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['subject_id'], 'properties': {'subject_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['subject_type'], 'properties': {'relationship': {'enum': ['belongs_to'], 'type': 'string'}, 'subject_type': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['parent'], 'properties': {'limit': {'type': 'integer', 'default': 50, 'maximum': 100, 'minimum': 1}, 'cursor': {'type': 'string'}, 'parent': {'type': 'string', 'minLength': 1}, 'relationship': {'enum': ['belongs_to'], 'type': 'string'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 50, 'maximum': 200, 'minimum': 1}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'target_model': {'type': 'string', 'maxLength': 160, 'description': 'Model inbox label; gpt and chatgpt are aliases.'}, 'unclaimed_only': {'type': 'boolean', 'default': True}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['visibility'], 'properties': {'visibility': {'enum': ['private', 'unlisted', 'public', 'aggregate_only'], 'type': 'string'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 50, 'maximum': 100, 'minimum': 1}, 'cursor': {'type': 'string'}, 'relationship': {'enum': ['belongs_to'], 'type': 'string'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['subject_id', 'target_subject_type', 'source_model', 'reason', 'evidence'], 'properties': {'reason': {'type': 'string', 'minLength': 1}, 'evidence': {'type': 'object', 'additionalProperties': True}, 'subject_id': {'type': 'string', 'format': 'uuid'}, 'source_model': {'type': 'string', 'minLength': 1, 'description': 'Stable model identity, not the client application name.'}, 'target_subject_type': {'type': 'string', 'minLength': 1}, 'evidence_fingerprint': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['deliberation_id', 'resolution', 'user_approved', 'idempotency_key'], 'properties': {'rationale': {'type': 'string'}, 'resolution': {'type': 'string', 'minLength': 1}, 'user_approved': {'type': 'boolean'}, 'deliberation_id': {'type': 'string', 'format': 'uuid'}, 'idempotency_key': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'unresolved_points': {'type': 'array', 'items': {'type': 'string'}, 'default': []}, 'accepted_contribution_ids': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}, 'default': []}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['canonical_name', 'json_schema', 'subject_types'], 'properties': {'aliases': {'type': 'array', 'items': {'type': 'string'}}, 'description': {'type': 'string'}, 'json_schema': {'type': 'object', 'additionalProperties': True}, 'subject_types': {'type': 'array', 'items': {'type': 'string'}}, 'canonical_name': {'type': 'string'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['subject_type', 'alias'], 'properties': {'alias': {'type': 'string'}, 'subject_type': {'type': 'string'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['subject_id', 'trigger', 'reason', 'evidence'], 'properties': {'reason': {'type': 'string', 'minLength': 1}, 'trigger': {'enum': ['user_correction', 'contradictory_evidence', 'type_retired', 'vocabulary_invalidated'], 'type': 'string'}, 'evidence': {'type': 'object', 'additionalProperties': True}, 'subject_id': {'type': 'string', 'format': 'uuid'}, 'user_approved': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['assertion_id', 'decision', 'rationale', 'idempotency_key'], 'properties': {'decision': {'enum': ['accepted', 'rejected'], 'type': 'string'}, 'rationale': {'type': 'string', 'minLength': 1}, 'assertion_id': {'type': 'string', 'format': 'uuid'}, 'user_approved': {'type': 'boolean', 'default': False}, 'idempotency_key': {'type': 'string', 'maxLength': 200, 'minLength': 8}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'anyOf': [{'required': ['canonical_key']}, {'required': ['name']}, {'required': ['identifier_value']}], 'properties': {'name': {'type': 'string', 'minLength': 1}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1}, 'subject_type': {'type': 'string'}, 'canonical_key': {'type': 'string', 'minLength': 1}, 'identifier_key': {'type': 'string', 'minLength': 1}, 'identifier_value': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['terms'], 'properties': {'terms': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 8, 'minItems': 1}, 'peer_decisions': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['term', 'decision', 'existing_type', 'reason'], 'properties': {'term': {'type': 'string', 'minLength': 1}, 'reason': {'type': 'string', 'minLength': 1}, 'decision': {'const': 'reuse'}, 'existing_type': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['term', 'decision', 'reason'], 'properties': {'term': {'type': 'string', 'minLength': 1}, 'reason': {'type': 'string', 'minLength': 1}, 'decision': {'const': 'create'}}, 'additionalProperties': False}]}}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['term'], 'properties': {'term': {'type': 'string'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['source_type', 'target_type', 'reason'], 'properties': {'reason': {'type': 'string', 'minLength': 1}, 'source_type': {'type': 'string'}, 'target_type': {'type': 'string'}, 'relationship': {'type': 'string', 'default': 'belongs_to'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['experience_id', 'assessment_type', 'idempotency_key'], 'properties': {'analysis': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'evidence': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'conclusion': {'type': 'string'}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'source_model': {'type': 'string'}, 'experience_id': {'type': 'string', 'format': 'uuid'}, 'assessment_type': {'type': 'string'}, 'idempotency_key': {'type': 'string', 'maxLength': 200, 'minLength': 8}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['subject_type', 'subject_name', 'canonical_key', 'headline', 'summary', 'raw_text', 'subject_enrichment_check', 'collection_assessment', 'user_approved', 'idempotency_key'], 'properties': {'summary': {'type': 'string'}, 'headline': {'type': 'string'}, 'raw_text': {'type': 'string', 'minLength': 1}, 'visibility': {'enum': ['private', 'unlisted', 'public', 'aggregate_only'], 'type': 'string', 'default': 'private'}, 'identifiers': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'source_model': {'type': 'string', 'maxLength': 160}, 'subject_name': {'type': 'string'}, 'subject_type': {'type': 'string'}, 'canonical_key': {'type': 'string'}, 'user_approved': {'type': 'boolean'}, 'experienced_at': {'type': 'string', 'format': 'date-time'}, 'idempotency_key': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'structured_data': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'subject_context': {'type': 'object', 'properties': {'subjects': {'type': 'array', 'items': {'type': 'object', 'required': ['ref', 'subject_type', 'name', 'canonical_key'], 'properties': {'ref': {'type': 'string', 'pattern': '^[a-zA-Z0-9_-]+$'}, 'name': {'type': 'string'}, 'attributes': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'provenance': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'identifiers': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'subject_type': {'type': 'string'}, 'canonical_key': {'type': 'string'}}, 'additionalProperties': False}, 'default': [], 'maxItems': 500}, 'relationships': {'type': 'array', 'items': {'type': 'object', 'required': ['source_ref', 'relationship', 'target_ref'], 'properties': {'provenance': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'source_ref': {'type': 'string'}, 'target_ref': {'type': 'string'}, 'relationship': {'type': 'string'}}, 'additionalProperties': False}, 'default': [], 'maxItems': 1000}}, 'description': 'Optional graph enrichment discovered while identifying the reviewed subject. Use reviewed_subject as the reserved ref for the subject receiving the review.', 'additionalProperties': False}, 'subject_attributes': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'subject_provenance': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'collection_assessment': {'type': 'object', 'required': ['status'], 'properties': {'reason': {'type': 'string', 'minLength': 1}, 'status': {'enum': ['member', 'independent', 'unavailable', 'ambiguous'], 'type': 'string'}, 'attempts': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'default': [], 'maxItems': 50}, 'checked_at': {'type': 'string', 'format': 'date-time'}, 'collection_id': {'type': 'string', 'format': 'uuid'}, 'directory_url': {'type': 'string', 'minLength': 1}, 'collection_name': {'type': 'string', 'minLength': 1}, 'collection_type': {'type': 'string', 'minLength': 1}, 'source_manifest': {'type': 'object', 'required': ['coverage_status', 'coverage_method', 'declared_source_count', 'source_pages', 'discovery_queries', 'exhaustion_evidence'], 'properties': {'source_pages': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'source_kind', 'member_refs'], 'properties': {'url': {'type': 'string', 'minLength': 1}, 'next_url': {'type': 'string', 'minLength': 1}, 'sequence': {'type': 'integer', 'minimum': 1}, 'terminal': {'type': 'boolean', 'default': False}, 'member_refs': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 500, 'minItems': 1}, 'source_kind': {'enum': ['directory_page', 'sitemap', 'api', 'official_member_page', 'other_authoritative'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 500, 'minItems': 1}, 'coverage_method': {'enum': ['single_page', 'pagination', 'sitemap', 'api', 'multi_source', 'search_derived'], 'type': 'string'}, 'coverage_status': {'enum': ['complete', 'partial', 'unknown'], 'type': 'string', 'description': 'Independent real-world coverage claim. New and refreshed reusable collection manifests must be complete; partial or unknown coverage cannot support location/member absence conclusions.'}, 'discovery_queries': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'minItems': 1}, 'exhaustion_evidence': {'type': 'string', 'minLength': 1}, 'declared_source_count': {'type': 'integer', 'minimum': 1}, 'unresolved_source_urls': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'default': [], 'maxItems': 500}}, 'description': 'Exhaustive authoritative source-surface manifest. Discover paginated directories, sitemaps, official APIs, regional directories and member pages before deriving the collection. Every member must map to at least one consulted source and no unresolved source route may remain.', 'additionalProperties': False}, 'discovered_count': {'type': 'integer', 'minimum': 2}, 'evidence_sources': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'default': [], 'maxItems': 50}, 'refresh_manifest': {'type': 'boolean', 'default': False}, 'manifest_revision': {'type': 'integer', 'minimum': 1}, 'unavailability_kind': {'enum': ['collection_identity_not_found', 'authoritative_source_not_found', 'authoritative_source_inaccessible'], 'type': 'string', 'description': 'Required only for unavailable. Operational cost, collection size, inconvenience, latency, quick-review scope and deferred work are never valid categories.'}, 'candidate_collections': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'default': [], 'maxItems': 20}, 'submitted_member_refs': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 500, 'minItems': 2}}, 'description': 'Mandatory wider-collection assessment. The first member save requires a collection name, type, authoritative directory URL, discovered count, and submitted_member_refs naming reviewed_subject plus every discovered sibling in subject_context. The server validates and stores that manifest. Later member saves should pass collection_id and manifest_revision only; the server reuses the stored manifest and verifies the reviewed subject against it. Set refresh_manifest only when deliberately replacing the stored manifest, in which case the full collection is required again. independent requires evidence_sources or search attempts. unavailable requires unavailability_kind, attempts and a reason, and is only for genuine collection-identity or authoritative-source failure. It is rejected when collection signals are already known or when the reason is size, effort, inconvenience, latency, a quick review or deferred work. ambiguous blocks the save. There is no deferred or lazy status.', 'additionalProperties': False}, 'subject_enrichment_check': {'type': 'object', 'required': ['status'], 'properties': {'reason': {'type': 'string', 'minLength': 1}, 'status': {'enum': ['completed', 'unavailable', 'not_applicable', 'ambiguous'], 'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'default': [], 'maxItems': 50}, 'attempts': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'default': [], 'maxItems': 50}, 'applied_fields': {'type': 'object', 'default': {}, 'description': "Map each source to the save-request paths populated from it, for example {'https://example.test': ['identifiers.website', 'subject_context.subjects[0].identifiers.branch_directory']}.", 'additionalProperties': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1}}, 'retrieval_uses': {'type': 'object', 'default': {}, 'description': 'Map every applied request path to its generic TestGraph purpose. Store a fact only when it helps future identity, likely queries, location, classification, relationships, comparison or server verification. Give likely query examples for every purpose other than verification. Facts that are merely available but have no plausible graph or retrieval use must not be stored.', 'additionalProperties': {'type': 'object', 'required': ['roles', 'reason'], 'properties': {'roles': {'type': 'array', 'items': {'enum': ['identity', 'likely_query', 'location', 'classification', 'relationship', 'comparison', 'verification'], 'type': 'string'}, 'minItems': 1}, 'reason': {'type': 'string', 'minLength': 1}, 'likely_queries': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'default': []}}, 'additionalProperties': False}}, 'unapplied_sources': {'type': 'object', 'default': {}, 'description': 'Map each source that yielded no stored discovery to a concise reason.', 'additionalProperties': {'type': 'string', 'minLength': 1}}, 'candidate_identities': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'default': [], 'maxItems': 20}}, 'description': 'Generic pre-save check. completed requires sources; unavailable requires a reason and attempts; not_applicable requires a reason; ambiguous stops the save for clarification.', 'additionalProperties': False}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string', 'default': ''}, 'cursor': {'type': 'string', 'description': 'Opaque next_cursor returned by the preceding identical search.'}, 'subject_type': {'type': 'string'}, 'include_related': {'type': 'boolean', 'default': True}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['experience_id', 'visibility'], 'properties': {'visibility': {'enum': ['private', 'unlisted', 'public', 'aggregate_only'], 'type': 'string'}, 'experience_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['source_type', 'target_type'], 'properties': {'source_type': {'type': 'string'}, 'target_type': {'type': 'string'}, 'relationship': {'type': 'string', 'default': 'belongs_to'}, 'peer_decision': {'type': 'object', 'required': ['decision', 'reason'], 'properties': {'reason': {'type': 'string', 'minLength': 1}, 'decision': {'const': 'create'}}, 'additionalProperties': False}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['deliberation_id', 'contribution_type', 'content', 'idempotency_key'], 'properties': {'content': {'type': 'string', 'minLength': 1}, 'evidence': {'type': 'object', 'default': {}, 'additionalProperties': True}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'source_model': {'type': 'string', 'maxLength': 160}, 'deliberation_id': {'type': 'string', 'format': 'uuid'}, 'idempotency_key': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'contribution_type': {'enum': ['proposal', 'critique', 'counterproposal', 'reconciliation', 'vote'], 'type': 'string'}, 'unresolved_points': {'type': 'array', 'items': {'type': 'string'}, 'default': []}, 'responds_to_contribution_ids': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}, 'default': []}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'properties': {}, 'additionalProperties': False}
最近のツール変更
類似のMCPサーバー
agent4.io
Manages grounded business agents, knowledge bases, skills, connected MCP tools, public shares, and structured interactive storyli…
Hipocampo MCP
Provides bilingual semantic memory, embeddings, graph links, code indexing and search, context preload, deduplication, compressio…
branchly
Manages an AI application’s knowledge-base content, prompts, tools, data sources, retrieval context, sessions, and usage analytic…
Santismm Knowledge — Harness Engineering, Agentic AI & Governance
Provides searchable and citable knowledge about harness engineering, agentic AI, enterprise patterns, architectures, governance, …
WikiKV Agent Exchange
Provides citation-backed knowledge retrieval, private RAG collections, and coordination workflows for agents exchanging evidence …
Brainiall NLP
Provides NLP capabilities including sentiment, toxicity, PII and injection detection, entity extraction, translation, summarizati…
api
Extracts, summarizes, translates, searches, and fact-checks documents and web pages, with evidence bundles, citations, receipts, …
Gonka Second Opinion (multi-model)
Runs LLM inference and multi-model second opinions through Gonka, exposes model pricing and trial access, and searches Gonka docu…