Vynix
Give AI coding agents access to your Vynix visual feedback, bug reports, and AI diagnosis.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- LOWen get_annotation_screenshots
- LOWen get_activity
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"vynix-mcp": {
"command": "npx",
"args": [
"@usevynix/mcp-server"
]
}
}
}Paquetes ejecutables
0.1.4stdioPuntos de conexión remotos
https://mcp.vynix.in/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (17)
🟢list_projects
List the Vynix projects you own.
Esquema de entrada
{
"type": "object",
"properties": {}
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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).
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {
"annotation_id": {
"type": "string"
}
},
"required": [
"annotation_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {
"annotation_id": {
"type": "string"
}
},
"required": [
"annotation_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {
"annotation_id": {
"type": "string"
}
},
"required": [
"annotation_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"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).
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "string"
}
},
"required": [
"project_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {}
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "string"
}
},
"required": [
"project_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"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).
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "string"
}
},
"required": [
"project_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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#"
}Comunidad
Evidencia