orquestra-mcp 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/server.mjs +26 -1
package/package.json
CHANGED
package/src/server.mjs
CHANGED
|
@@ -49,7 +49,9 @@ const SERVER_INSTRUCTIONS = `Este server conecta con Orquestra, la app de gesti
|
|
|
49
49
|
|
|
50
50
|
Al empezar una sesión de trabajo en este proyecto, llama una vez a get_project_context para saber en qué fase está, qué tareas hay abiertas/vencidas/bloqueadas y qué se hizo recientemente. Úsalo como contexto de fondo, no lo repitas en cada mensaje.
|
|
51
51
|
|
|
52
|
-
Si get_project_context devuelve un proyecto vacío (sin módulos ni tareas), es la primera vez que se usa este MCP aquí --
|
|
52
|
+
Si get_project_context devuelve un proyecto vacío (sin módulos ni tareas), es la primera vez que se usa este MCP aquí -- pero "vacío en Orquestra" NO significa "recién empezado en la realidad". Antes de ofrecer nada, pregúntale al usuario: ¿este proyecto es una idea nueva, o ya existe y solo lo estás conectando por primera vez? Según la respuesta:
|
|
53
|
+
- Si es una idea nueva: llama a get_setup_guide y ofrece un playbook de etapa "pre" (get_stage_playbook + apply_stage_playbook).
|
|
54
|
+
- Si ya existe y está avanzado: usa update_project para poner la fase real (mvp/v1/beta/producción, no "idea"), crea una distribution por cada plataforma real que te mencione, y ofrece el playbook de etapa "build" en vez de "pre" -- no le apliques la plantilla de idea/diseño a un proyecto que ya está en desarrollo activo.
|
|
53
55
|
|
|
54
56
|
Durante el trabajo normal de código, sin que el usuario te lo pida explícitamente:
|
|
55
57
|
- Si te pide una funcionalidad o arreglo real (no una pregunta rápida ni exploración de código sin cambios), revisa con list_tasks/search si ya existe una tarea relacionada; si no, créala con create_task antes de empezar a trabajar.
|
|
@@ -531,6 +533,29 @@ export function createServer() {
|
|
|
531
533
|
}
|
|
532
534
|
)
|
|
533
535
|
|
|
536
|
+
server.registerTool(
|
|
537
|
+
'update_project',
|
|
538
|
+
{
|
|
539
|
+
description: 'Edita el proyecto configurado (name, description, phase, projectType, url). Útil para sincronizar la fase real de un proyecto que ya estaba avanzado antes de conectarlo a Orquestra -- get_project_context puede verse "vacío" (sin módulos/tareas) sin que eso signifique que el proyecto recién empieza.',
|
|
540
|
+
inputSchema: {
|
|
541
|
+
projectId: z.string().optional().describe(PROJECT_ID_DESC),
|
|
542
|
+
name: z.string().optional(),
|
|
543
|
+
description: z.string().optional(),
|
|
544
|
+
phase: z.string().optional().describe('idea | mvp | v1 | v2 | beta | produccion'),
|
|
545
|
+
projectType: z.enum(['code', 'content', 'hybrid']).optional(),
|
|
546
|
+
url: z.string().optional(),
|
|
547
|
+
},
|
|
548
|
+
},
|
|
549
|
+
async ({ projectId, ...body }) => {
|
|
550
|
+
try {
|
|
551
|
+
const data = await apiPatch(config, '/v1/projects', { id: resolveProjectId(projectId), ...body })
|
|
552
|
+
return textResult(data)
|
|
553
|
+
} catch (err) {
|
|
554
|
+
return errorResult(err)
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
)
|
|
558
|
+
|
|
534
559
|
server.registerTool(
|
|
535
560
|
'apply_stage_playbook',
|
|
536
561
|
{
|