Files
aleleba b2aa855a70 Fase 1: schemas de los 5 MCPs y script de generacion de replay
data/schemas/*.json: dump fiel de las tool definitions reales de
Penpot (4), Gitea (53), GitHub-personal (43), Docmost (17) y
Atlassian (37), obtenidas directo de las definiciones ya cargadas
en la sesion de Claude Code (no se escribio un cliente MCP nuevo,
para no arriesgar desviarse del esquema real).

PENPOT_DEPLOYMENT_NOTES.md: investigacion del codigo fuente oficial
de @penpot/mcp confirma que import_image y export_shape.filePath
estan ausentes porque este deployment corre en modo remoto/multi-
usuario (isFileSystemAccessEnabled() = !isRemoteMode()) -- documentado
tambien en una subpagina nueva de Docmost.

scripts/03_build_replay.py: genera ~700 ejemplos de replay (anti-
forgetting) contra el vLLM de produccion, 80 prompts semilla
(conversacion general/codigo/razonamiento) x 9 pasadas variando
temperatura. Mapea el campo "reasoning" de la API de vLLM a
"reasoning_content" para la convencion de chat template.
2026-07-28 05:34:55 +00:00

215 lines
8.1 KiB
JSON

[
{
"name": "check_new_comments",
"description": "Check for new comments across pages in a space since a given timestamp. Optionally scope to a page subtree (folder). Returns only comments created after the specified time.",
"parameters": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"spaceId": { "type": "string", "description": "Space ID to check for new comments" },
"since": { "type": "string", "description": "ISO 8601 timestamp — only return comments created after this time (e.g. '2026-03-10T00:00:00Z')" },
"parentPageId": { "type": "string", "description": "Optional root page ID to scope the check to a subtree (folder). Only pages under this parent will be checked." }
},
"required": ["spaceId", "since"]
}
},
{
"name": "create_comment",
"description": "Create a new comment on a page. Content is provided as Markdown and automatically converted to the required format.",
"parameters": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"pageId": { "type": "string", "description": "ID of the page to comment on" },
"content": { "type": "string", "description": "Comment content in Markdown format" },
"parentCommentId": { "type": "string", "description": "Parent comment ID to create a reply (max 2 nesting levels)" },
"selection": { "type": "string", "description": "Selected text for inline comments (max 250 chars). Required when type is 'inline'." },
"type": { "type": "string", "enum": ["page", "inline"], "description": "Comment type: 'page' for general page comment (default), 'inline' for text selection comment" }
},
"required": ["pageId", "content"]
}
},
{
"name": "create_page",
"description": "Create a new page with content (automatically moves it to the correct hierarchy).",
"parameters": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"title": { "type": "string", "description": "Title of the page" },
"content": { "type": "string", "description": "Markdown content" },
"spaceId": { "type": "string" },
"parentPageId": { "type": "string", "description": "Optional parent page ID to nest under" }
},
"required": ["title", "content", "spaceId"]
}
},
{
"name": "delete_comment",
"description": "Delete a comment. Only the comment creator or space admin can delete it.",
"parameters": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"commentId": { "type": "string", "description": "ID of the comment to delete" }
},
"required": ["commentId"]
}
},
{
"name": "delete_page",
"description": "Delete a single page by ID.",
"parameters": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"pageId": { "type": "string" }
},
"required": ["pageId"]
}
},
{
"name": "delete_pages",
"description": "Delete multiple pages at once. Useful for cleanup.",
"parameters": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"pageIds": { "type": "array", "items": { "type": "string" } }
},
"required": ["pageIds"]
}
},
{
"name": "get_comment",
"description": "Get a single comment by ID with content as Markdown.",
"parameters": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"commentId": { "type": "string", "description": "ID of the comment" }
},
"required": ["commentId"]
}
},
{
"name": "get_page",
"description": "Get details and content of a specific page by ID",
"parameters": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"pageId": { "type": "string" }
},
"required": ["pageId"]
}
},
{
"name": "get_workspace",
"description": "Get the current Docmost workspace",
"parameters": { "type": "object", "properties": {} }
},
{
"name": "list_comments",
"description": "List all comments on a page. Returns comments with content converted to Markdown.",
"parameters": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"pageId": { "type": "string", "description": "ID of the page to list comments for" }
},
"required": ["pageId"]
}
},
{
"name": "list_groups",
"description": "List all available groups in Docmost",
"parameters": { "type": "object", "properties": {} }
},
{
"name": "list_pages",
"description": "List pages in a space ordered by updatedAt (descending).",
"parameters": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"spaceId": { "type": "string" }
}
}
},
{
"name": "list_spaces",
"description": "List all available spaces in Docmost",
"parameters": { "type": "object", "properties": {} }
},
{
"name": "move_page",
"description": "Move a page to a new parent (nesting) or root. Essential for organizing pages created via 'import_page'.",
"parameters": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"pageId": { "type": "string" },
"parentPageId": { "type": ["string", "null"], "description": "Target parent page ID. Pass 'null' or empty string to move to root." },
"position": { "type": "string", "description": "Optional position string (5-12 chars). Defaults to 'a00000' (end) if omitted." }
},
"required": ["pageId"]
}
},
{
"name": "search",
"description": "Search for pages and content.",
"parameters": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"query": { "type": "string", "description": "Search query" },
"spaceId": { "type": "string", "description": "Optional space ID to filter by" }
},
"required": ["query"]
}
},
{
"name": "update_comment",
"description": "Update an existing comment's content. Only the comment creator can update it. Content is provided as Markdown.",
"parameters": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"commentId": { "type": "string", "description": "ID of the comment to update" },
"content": { "type": "string", "description": "New comment content in Markdown format" }
},
"required": ["commentId", "content"]
}
},
{
"name": "update_page",
"description": "Update a page's content and/or title via realtime collaboration (preserves Page ID and history).",
"parameters": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"pageId": { "type": "string", "description": "ID of the page to update" },
"content": { "type": "string", "description": "New Markdown content" },
"title": { "type": "string", "description": "Optional new title" }
},
"required": ["pageId", "content"]
},
"notes": "Requiere SIEMPRE la fila separadora GFM (| --- | --- |) en tablas markdown, con cada fila en su propia linea -- sin eso el editor colapsa las filas en un parrafo ilegible (bug real documentado en el plan principal)."
}
]