MCPサーバー

Fify

io.github.renfei-design/fify
生産性 公開・接続可能 MCP 2025-11-25

このMCPでできること

Renders grounded answers as interactive views for comparisons, plans, timelines, profiles, and other decision-oriented presentations.

read_information_ui_run
Read an information UI run
App-only unseen-frame reader for the mounted Fify widget.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['runId', 'afterSequence'], 'properties': {'runId': {'type': 'string'}, 'afterSequence': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['runId', 'state', 'lastSequence', 'frames'], 'properties': {'runId': {'type': 'string'}, 'state': {'enum': ['running', 'complete', 'failed'], 'type': 'string'}, 'frames': {'type': 'array', 'items': {}}, 'lastSequence': {'type': 'number'}}, 'additionalProperties': False}
render_information_ui
Render information as an interactive view
Render a fully grounded answer as a non-consequential interactive information view when structure or interaction materially improves it. Complete factual reasoning first and always pass the authoritative plain answer. If the user supplied sufficient facts, use them directly and invoke immediately without extra retrieval. For a named real-person profile, set profileSubject to the canonical name unless the user requests no image; Fify will perform a bounded trusted Wikimedia portrait lookup. Pre-resolved attributed Wikimedia or Openverse media may also be supplied, but never invent or guess media URLs.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['version', 'originalRequest', 'groundedAnswer', 'locale', 'sections', 'sources', 'suggestedRefinements'], 'properties': {'media': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'url', 'alt', 'caption', 'role', 'sourceId'], 'properties': {'id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[-_.:][a-z0-9]+)*$', 'maxLength': 48, 'minLength': 1}, 'alt': {'type': 'string', 'maxLength': 180, 'minLength': 1}, 'url': {'type': 'string', 'maxLength': 2048}, 'role': {'enum': ['identity', 'evidence', 'illustration'], 'type': 'string'}, 'caption': {'type': 'string', 'maxLength': 400}, 'sourceId': {'$ref': '#/properties/sections/items/properties/id'}}, 'description': 'Optional pre-resolved attributed visual evidence from an allowed Wikimedia or Openverse image URL and an existing source page.', 'additionalProperties': False}, 'maxItems': 4}, 'locale': {'type': 'string', 'maxLength': 35, 'minLength': 2}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url'], 'properties': {'id': {'$ref': '#/properties/sections/items/properties/id'}, 'url': {'type': 'string', 'maxLength': 2048}, 'title': {'type': 'string', 'maxLength': 180, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 32}, 'version': {'type': 'string', 'const': '1.0'}, 'sections': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'body', 'items', 'sourceIds'], 'properties': {'id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[-_.:][a-z0-9]+)*$', 'maxLength': 64, 'minLength': 1}, 'body': {'type': 'string', 'maxLength': 4000}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label', 'value', 'detail', 'sourceIds'], 'properties': {'id': {'$ref': '#/properties/sections/items/properties/id'}, 'label': {'type': 'string', 'maxLength': 90, 'minLength': 1}, 'value': {'type': 'string', 'maxLength': 120}, 'detail': {'type': 'string', 'maxLength': 2048}, 'sourceIds': {'type': 'array', 'items': {'$ref': '#/properties/sections/items/properties/id'}, 'maxItems': 8}}, 'additionalProperties': False}, 'maxItems': 12}, 'title': {'type': 'string', 'maxLength': 110, 'minLength': 1}, 'sourceIds': {'type': 'array', 'items': {'$ref': '#/properties/sections/items/properties/id'}, 'maxItems': 8}}, 'additionalProperties': False}, 'maxItems': 8, 'minItems': 1}, 'groundedAnswer': {'type': 'string', 'maxLength': 16000, 'minLength': 1}, 'profileSubject': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Canonical person name for a real-person profile. Omit when the user requests no image or the subject is not a person.'}, 'originalRequest': {'type': 'string'}, 'continuationState': {'type': 'object', 'required': ['priorRunId', 'checkedIds', 'selectedIds', 'inputs'], 'properties': {'inputs': {'type': 'object', 'propertyNames': {'pattern': '^[a-z0-9]+(?:[-_.:][a-z0-9]+)*$', 'maxLength': 64, 'minLength': 1}, 'additionalProperties': {'type': 'string', 'maxLength': 500}}, 'checkedIds': {'type': 'array', 'items': {'$ref': '#/properties/sections/items/properties/id'}, 'maxItems': 96}, 'priorRunId': {'type': 'string', 'maxLength': 96, 'minLength': 1}, 'selectedIds': {'type': 'array', 'items': {'$ref': '#/properties/sections/items/properties/id'}, 'maxItems': 24}}, 'additionalProperties': False}, 'suggestedRefinements': {'type': 'array', 'items': {'type': 'string', 'maxLength': 140, 'minLength': 1}, 'maxItems': 2}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['runId', 'state', 'lastSequence', 'fallbackText', 'frames'], 'properties': {'runId': {'type': 'string'}, 'state': {'enum': ['running', 'complete', 'failed'], 'type': 'string'}, 'frames': {'type': 'array', 'items': {}}, 'fallbackText': {'type': 'string'}, 'lastSequence': {'type': 'number'}}, 'additionalProperties': False}
追加
read_information_ui_run
2026年9月17日12:49
追加
render_information_ui
2026年9月17日12:49