Vynix
Give AI coding agents access to your Vynix visual feedback, bug reports, and AI diagnosis.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (2)
- LOWin get_annotation_screenshots
- LOWin get_activity
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"vynix-mcp": {
"command": "npx",
"args": [
"@usevynix/mcp-server"
]
}
}
}Ausführbare Pakete
0.1.4stdioRemote-Endpunkte
https://mcp.vynix.in/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (17)
🟢list_projects
List the Vynix projects you own.
Eingabe-Schema
{
"type": "object",
"properties": {}
}Ausgabe-Schema
{
"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.
Eingabe-Schema
{
"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#"
}Ausgabe-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).
Eingabe-Schema
{
"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#"
}Ausgabe-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.
Eingabe-Schema
{
"type": "object",
"properties": {
"annotation_id": {
"type": "string"
}
},
"required": [
"annotation_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-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.
Eingabe-Schema
{
"type": "object",
"properties": {
"annotation_id": {
"type": "string"
}
},
"required": [
"annotation_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-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.
Eingabe-Schema
{
"type": "object",
"properties": {
"annotation_id": {
"type": "string"
}
},
"required": [
"annotation_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-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).
Eingabe-Schema
{
"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#"
}Ausgabe-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.
Eingabe-Schema
{
"type": "object",
"properties": {
"project_id": {
"type": "string"
}
},
"required": [
"project_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-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.
Eingabe-Schema
{
"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#"
}Ausgabe-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.
Eingabe-Schema
{
"type": "object",
"properties": {}
}Ausgabe-Schema
{
"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.
Eingabe-Schema
{
"type": "object",
"properties": {
"project_id": {
"type": "string"
}
},
"required": [
"project_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-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).
Eingabe-Schema
{
"type": "object",
"properties": {
"project_id": {
"type": "string"
}
},
"required": [
"project_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-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.
Eingabe-Schema
{
"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#"
}Ausgabe-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.
Eingabe-Schema
{
"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#"
}Ausgabe-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.
Eingabe-Schema
{
"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#"
}Ausgabe-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.
Eingabe-Schema
{
"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#"
}Ausgabe-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.
Eingabe-Schema
{
"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#"
}Ausgabe-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#"
}Community
Nachweis