diff --git a/mcp_servers.d/gntodo.json b/mcp_servers.d/gntodo.json new file mode 100644 index 0000000..998e11b --- /dev/null +++ b/mcp_servers.d/gntodo.json @@ -0,0 +1,27 @@ +{ + "transport": "streamable_http", + "url": "https://tasks.gnexus.space/mcp/", + "user_key": { "header": "Authorization", "prefix": "Bearer " }, + "headers": { + "Authorization": "Bearer gnt_0zEyloBvV-OAd-q1T4oEgnXc4MGYxI9hw-DlEMGExww" + }, + "groups": { + "read": [ + "list_projects", + "get_project", + "list_tasks", + "get_task", + "list_tags" + ], + "write": [ + "create_task", + "update_task", + "complete_task", + "create_project", + "update_project", + "archive_project", + "restore_project" + ] + }, + "instructions": "MCP tools for gntodo — GNexus Tasks (https://tasks.gnexus.space), personal task manager.\n\nWorkflow:\n1. Start with list_projects() — pick the right project and pass its project_id/project_name to create_task/update_task. A task without a project gets lost.\n2. get_project(project_id=...) returns the project note + open tasks — use it to restore context after a break.\n3. Take ids ONLY from tool responses (tasks, projects, tags) — never invent them.\n4. Close a task with update_task(task_id, status=\"done\") or complete_task(task_id, actual_minutes=N). Rewards (XP, coins, garden) are automatic; recurring tasks spawn their next instance automatically (spawned_next_id) — do not create it manually.\n5. Search: list_tasks(query=\"substring\", project_id=..., status=...) searches title and description; get_task(task_id) gives full data.\n6. Project management: create_project(name, note, priority) — new project container; update_project — rename, note, relevance_status (active|paused), priority; archive_project — move to archive with all tasks (NOT deletion, history preserved); restore_project — bring back. Use list_projects(include_archived=True) to find archived projects. Project names are unique — check list_projects() before creating.\n" +} \ No newline at end of file