Vynix
Give AI coding agents access to your Vynix visual feedback, bug reports, and AI diagnosis.
使うべきか
品質と安全性
検出事項(2)
- LOWget_annotation_screenshots 内
- LOWget_activity 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"vynix-mcp": {
"command": "npx",
"args": [
"@usevynix/mcp-server"
]
}
}
}実行可能なパッケージ
0.1.4stdioリモートエンドポイント
https://mcp.vynix.in/mcpstreamable-httpできること
ツール一覧
ツール(17)
🟢list_projects
List the Vynix projects you own.
入力スキーマ
{
"type": "object",
"properties": {}
}出力スキーマ
{
"type": "object",
"properties": {
"projects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"$ref": "#/properties/projects/items/properties/id"
},
"website_url": {
"type": [
"string",
"null"
]
},
"allowed_origins": {
"type": "array",
"items": {
"type": "string"
}
},
"created_at": {
"$ref": "#/properties/projects/items/properties/id"
}
},
"additionalProperties": true
}
}
},
"required": [
"projects"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_annotations(project_id, status, type, priority, limit, ...)
List a project’s annotations, optionally filtered by status, type, or priority. Start here with status "open" to see what needs fixing.
入力スキーマ
{
"type": "object",
"properties": {
"project_id": {
"type": "string",
"description": "The id of the project to list annotations for."
},
"status": {
"type": "string",
"enum": [
"open",
"in_progress",
"review",
"completed",
"rejected",
"archived"
]
},
"type": {
"type": "string",
"enum": [
"bug",
"design",
"enhancement",
"content",
"mobile",
"accessibility",
"performance",
"seo"
]
},
"priority": {
"type": "string",
"enum": [
"critical",
"high",
"medium",
"low"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"description": "Page size, 1-200 (default 50)."
},
"offset": {
"type": "integer",
"minimum": 0
}
},
"required": [
"project_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"project_id": {
"$ref": "#/properties/items/items/properties/id"
},
"title": {
"$ref": "#/properties/items/items/properties/id"
},
"description": {
"type": [
"string",
"null"
]
},
"priority": {
"$ref": "#/properties/items/items/properties/id"
},
"type": {
"$ref": "#/properties/items/items/properties/id"
},
"status": {
"$ref": "#/properties/items/items/properties/id"
},
"page_url": {
"$ref": "#/properties/items/items/properties/id"
},
"page_title": {
"$ref": "#/properties/items/items/properties/description"
},
"selector": {
"$ref": "#/properties/items/items/properties/description"
},
"element": {},
"page": {
"$ref": "#/properties/items/items/properties/element"
},
"dom": {
"$ref": "#/properties/items/items/properties/element"
},
"created_at": {
"$ref": "#/properties/items/items/properties/id"
},
"updated_at": {
"$ref": "#/properties/items/items/properties/id"
}
},
"additionalProperties": true
}
},
"total": {
"type": "number"
},
"limit": {
"$ref": "#/properties/total"
},
"offset": {
"$ref": "#/properties/total"
}
},
"required": [
"items"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_annotation(annotation_id)
Fetch one annotation with its full captured context: page, target element (selector, XPath, styles), surrounding DOM, and runtime diagnostics (console + network).
入力スキーマ
{
"type": "object",
"properties": {
"annotation_id": {
"type": "string",
"description": "The id of the annotation to fetch."
}
},
"required": [
"annotation_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"project_id": {
"$ref": "#/properties/id"
},
"title": {
"$ref": "#/properties/id"
},
"description": {
"type": [
"string",
"null"
]
},
"priority": {
"$ref": "#/properties/id"
},
"type": {
"$ref": "#/properties/id"
},
"status": {
"$ref": "#/properties/id"
},
"page_url": {
"$ref": "#/properties/id"
},
"page_title": {
"$ref": "#/properties/description"
},
"selector": {
"$ref": "#/properties/description"
},
"element": {},
"page": {
"$ref": "#/properties/element"
},
"dom": {
"$ref": "#/properties/element"
},
"created_at": {
"$ref": "#/properties/id"
},
"updated_at": {
"$ref": "#/properties/id"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_comments(annotation_id)
Read the discussion thread on an annotation.
入力スキーマ
{
"type": "object",
"properties": {
"annotation_id": {
"type": "string"
}
},
"required": [
"annotation_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"comments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"annotation_id": {
"$ref": "#/properties/comments/items/properties/id"
},
"body": {
"$ref": "#/properties/comments/items/properties/id"
},
"created_at": {
"$ref": "#/properties/comments/items/properties/id"
}
},
"additionalProperties": true
}
}
},
"required": [
"comments"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_annotation_analysis(annotation_id)
Read the latest stored AI diagnosis for an annotation (root causes, confidence, suggested fix, and likely source files). Returns null when none has been generated yet; run diagnose_annotation to create one.
入力スキーマ
{
"type": "object",
"properties": {
"annotation_id": {
"type": "string"
}
},
"required": [
"annotation_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"analysis": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"annotation_id": {
"$ref": "#/properties/analysis/anyOf/0/properties/id"
},
"status": {
"$ref": "#/properties/analysis/anyOf/0/properties/id"
},
"provider": {
"type": [
"string",
"null"
]
},
"model": {
"$ref": "#/properties/analysis/anyOf/0/properties/provider"
},
"summary": {
"$ref": "#/properties/analysis/anyOf/0/properties/provider"
},
"root_causes": {
"type": "array",
"items": {}
},
"confidence": {
"type": [
"number",
"null"
]
},
"suggested_fix": {
"$ref": "#/properties/analysis/anyOf/0/properties/provider"
},
"suggested_files": {
"$ref": "#/properties/analysis/anyOf/0/properties/root_causes"
},
"created_at": {
"$ref": "#/properties/analysis/anyOf/0/properties/id"
},
"updated_at": {
"$ref": "#/properties/analysis/anyOf/0/properties/id"
}
},
"additionalProperties": true
},
{
"type": "null"
}
]
},
"diagnosis_enabled": {
"type": "boolean"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_annotation_screenshots(annotation_id)
Return the region screenshots attached to an annotation as viewable images, so you can see exactly what the reporter pointed at.
入力スキーマ
{
"type": "object",
"properties": {
"annotation_id": {
"type": "string"
}
},
"required": [
"annotation_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"count": {
"type": "number"
},
"screenshots": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"annotation_id": {
"$ref": "#/properties/screenshots/items/properties/id"
},
"mime": {
"$ref": "#/properties/screenshots/items/properties/id"
},
"width": {
"type": [
"number",
"null"
]
},
"height": {
"$ref": "#/properties/screenshots/items/properties/width"
},
"byte_size": {
"$ref": "#/properties/count"
},
"created_at": {
"$ref": "#/properties/screenshots/items/properties/id"
}
},
"additionalProperties": true
}
}
},
"required": [
"screenshots"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_annotation_issues(annotation_id, refresh)
List the tracker (GitHub) issues opened from an annotation, with each issue’s live state. Set refresh to reconcile against GitHub (open/closed + any linked pull request).
入力スキーマ
{
"type": "object",
"properties": {
"annotation_id": {
"type": "string"
},
"refresh": {
"type": "boolean",
"description": "Reconcile live state from GitHub. Optional."
}
},
"required": [
"annotation_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"annotation_id": {
"$ref": "#/properties/issues/items/properties/id"
},
"provider": {
"$ref": "#/properties/issues/items/properties/id"
},
"repo": {
"type": [
"string",
"null"
]
},
"issue_number": {
"type": [
"number",
"null"
]
},
"issue_url": {
"$ref": "#/properties/issues/items/properties/repo"
},
"assignee": {
"$ref": "#/properties/issues/items/properties/repo"
},
"agent": {
"type": "boolean"
},
"state": {
"$ref": "#/properties/issues/items/properties/repo"
},
"phase": {
"$ref": "#/properties/issues/items/properties/id"
},
"pr_url": {
"$ref": "#/properties/issues/items/properties/repo"
},
"created_at": {
"$ref": "#/properties/issues/items/properties/id"
}
},
"additionalProperties": true
}
}
},
"required": [
"issues"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_project_issues(project_id)
List every tracker issue across a project, with an open/closed/agent summary.
入力スキーマ
{
"type": "object",
"properties": {
"project_id": {
"type": "string"
}
},
"required": [
"project_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"summary": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"open": {
"$ref": "#/properties/summary/properties/total"
},
"closed": {
"$ref": "#/properties/summary/properties/total"
},
"agent": {
"$ref": "#/properties/summary/properties/total"
}
},
"additionalProperties": true
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"annotation_id": {
"$ref": "#/properties/issues/items/properties/id"
},
"provider": {
"$ref": "#/properties/issues/items/properties/id"
},
"repo": {
"type": [
"string",
"null"
]
},
"issue_number": {
"type": [
"number",
"null"
]
},
"issue_url": {
"$ref": "#/properties/issues/items/properties/repo"
},
"assignee": {
"$ref": "#/properties/issues/items/properties/repo"
},
"agent": {
"type": "boolean"
},
"state": {
"$ref": "#/properties/issues/items/properties/repo"
},
"phase": {
"$ref": "#/properties/issues/items/properties/id"
},
"pr_url": {
"$ref": "#/properties/issues/items/properties/repo"
},
"created_at": {
"$ref": "#/properties/issues/items/properties/id"
}
},
"additionalProperties": true
}
}
},
"required": [
"summary",
"issues"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢generate_prompt(annotation_id, target)
Render a ready-to-paste coding prompt for an annotation, formatted for a target assistant. A deterministic template (no AI spend); for a deeper analysis use diagnose_annotation.
入力スキーマ
{
"type": "object",
"properties": {
"annotation_id": {
"type": "string",
"description": "The id of the annotation to turn into a prompt."
},
"target": {
"type": "string",
"enum": [
"claude",
"copilot",
"cursor",
"gemini",
"codex",
"generic"
],
"description": "Which assistant to format for. Defaults to generic."
}
},
"required": [
"annotation_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"target": {
"type": "string"
},
"prompt": {
"$ref": "#/properties/target"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_metrics
Overview of your projects: KPI counts, status breakdown, a daily time series, and recent activity.
入力スキーマ
{
"type": "object",
"properties": {}
}出力スキーマ
{
"type": "object",
"properties": {
"kpis": {},
"status_breakdown": {
"type": "array",
"items": {}
},
"timeseries": {
"$ref": "#/properties/status_breakdown"
},
"recent_activity": {
"$ref": "#/properties/status_breakdown"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_members(project_id)
List a project’s team members, including role and status.
入力スキーマ
{
"type": "object",
"properties": {
"project_id": {
"type": "string"
}
},
"required": [
"project_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"owner": {
"anyOf": [
{
"type": "object",
"properties": {
"role": {
"type": "string"
},
"status": {
"$ref": "#/properties/owner/anyOf/0/properties/role"
},
"created_at": {
"$ref": "#/properties/owner/anyOf/0/properties/role"
}
},
"additionalProperties": true
},
{
"type": "null"
}
]
},
"members": {
"type": "array",
"items": {
"$ref": "#/properties/owner/anyOf/0"
}
}
},
"required": [
"members"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_activity(project_id)
Recent activity feed for a project (status changes, comments, issues, members).
入力スキーマ
{
"type": "object",
"properties": {
"project_id": {
"type": "string"
}
},
"required": [
"project_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"activity": {
"type": "array",
"items": {
"type": "object",
"properties": {
"annotation_id": {
"type": [
"string",
"null"
]
},
"annotation_title": {
"$ref": "#/properties/activity/items/properties/annotation_id"
},
"action": {
"type": "string"
},
"created_at": {
"$ref": "#/properties/activity/items/properties/action"
}
},
"additionalProperties": true
}
}
},
"required": [
"activity"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡update_annotation_status(annotation_id, status)
Update an annotation’s status, e.g. to mark it in_progress or completed.
入力スキーマ
{
"type": "object",
"properties": {
"annotation_id": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"open",
"in_progress",
"review",
"completed",
"rejected",
"archived"
]
}
},
"required": [
"annotation_id",
"status"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"project_id": {
"$ref": "#/properties/id"
},
"title": {
"$ref": "#/properties/id"
},
"description": {
"type": [
"string",
"null"
]
},
"priority": {
"$ref": "#/properties/id"
},
"type": {
"$ref": "#/properties/id"
},
"status": {
"$ref": "#/properties/id"
},
"page_url": {
"$ref": "#/properties/id"
},
"page_title": {
"$ref": "#/properties/description"
},
"selector": {
"$ref": "#/properties/description"
},
"element": {},
"page": {
"$ref": "#/properties/element"
},
"dom": {
"$ref": "#/properties/element"
},
"created_at": {
"$ref": "#/properties/id"
},
"updated_at": {
"$ref": "#/properties/id"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡add_comment(annotation_id, body)
Add a comment to an annotation’s thread, e.g. to record what you changed. Notifies the team.
入力スキーマ
{
"type": "object",
"properties": {
"annotation_id": {
"type": "string"
},
"body": {
"type": "string",
"minLength": 1,
"description": "The comment text."
}
},
"required": [
"annotation_id",
"body"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"annotation_id": {
"$ref": "#/properties/id"
},
"body": {
"$ref": "#/properties/id"
},
"created_at": {
"$ref": "#/properties/id"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪diagnose_annotation(annotation_id, provider, model)
Run the AI Diagnosis Engine on an annotation: it analyses the captured page, element, DOM, and runtime errors to produce ranked root causes, a confidence score, a suggested fix, and the likely source files. Calls an AI provider (uses tokens / may cost money) and stores the result. Requires AI + diagnosis enabled by the workspace admin and a key set.
入力スキーマ
{
"type": "object",
"properties": {
"annotation_id": {
"type": "string"
},
"provider": {
"type": "string",
"enum": [
"openai",
"anthropic",
"gemini",
"openrouter",
"mistral",
"groq"
],
"description": "Override the AI provider. Defaults to the workspace default."
},
"model": {
"type": "string",
"description": "Override the model. Optional."
}
},
"required": [
"annotation_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"annotation_id": {
"$ref": "#/properties/id"
},
"status": {
"$ref": "#/properties/id"
},
"provider": {
"type": [
"string",
"null"
]
},
"model": {
"$ref": "#/properties/provider"
},
"summary": {
"$ref": "#/properties/provider"
},
"root_causes": {
"type": "array",
"items": {}
},
"confidence": {
"type": [
"number",
"null"
]
},
"suggested_fix": {
"$ref": "#/properties/provider"
},
"suggested_files": {
"$ref": "#/properties/root_causes"
},
"created_at": {
"$ref": "#/properties/id"
},
"updated_at": {
"$ref": "#/properties/id"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_github_issue(annotation_id, repo, assignees)
Create a GitHub issue from an annotation. Uses the project’s configured repo and assignee unless overridden. Embeds the generated AI prompt in the issue body.
入力スキーマ
{
"type": "object",
"properties": {
"annotation_id": {
"type": "string",
"description": "The id of the annotation to file as an issue."
},
"repo": {
"type": "string",
"description": "owner/repository to file the issue in. Optional."
},
"assignees": {
"type": "array",
"items": {
"type": "string"
},
"description": "GitHub usernames to assign. Optional."
}
},
"required": [
"annotation_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"annotation_id": {
"$ref": "#/properties/id"
},
"provider": {
"$ref": "#/properties/id"
},
"repo": {
"$ref": "#/properties/id"
},
"issue_number": {
"type": [
"number",
"null"
]
},
"issue_url": {
"type": [
"string",
"null"
]
},
"state": {
"$ref": "#/properties/id"
},
"created_at": {
"$ref": "#/properties/id"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_share_link(project_id, expires_in_days)
Mint a read-only public review link for a project, so a stakeholder can review its annotations without an account. Reporter emails are hidden on shared views.
入力スキーマ
{
"type": "object",
"properties": {
"project_id": {
"type": "string"
},
"expires_in_days": {
"type": "integer",
"minimum": 0,
"maximum": 365,
"description": "Days until the link expires. 0 or omitted means it never expires."
}
},
"required": [
"project_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"project_id": {
"$ref": "#/properties/id"
},
"scope": {
"$ref": "#/properties/id"
},
"path": {
"$ref": "#/properties/id"
},
"expires_at": {
"type": [
"string",
"null"
]
},
"is_expired": {
"type": "boolean"
},
"created_at": {
"$ref": "#/properties/id"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}コミュニティ
エビデンス