Vibe Board VE
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOOGLE_APPLICATION_CREDENTIALS | Yes | Absolute path to the Firebase service account key JSON file for authentication. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| board_get_projectsA | List all projects with per-status task counts. Call this at session start to discover available projects before creating tasks or sessions — the returned IDs are required inputs to board_create_session, board_create_task, and most other tools. Results are sorted by priority descending (critical → low), then updated_at descending as tiebreaker. Projects without an explicit priority are treated as 'medium' for sort purposes (backward compat). Each entry includes: id, name, description, status, priority, metadata, ISO-formatted created_at/updated_at, task_counts (e.g., {todo: 3, in_progress: 1, done: 12}), and total_tasks. Use this over board_get_tasks when you don't yet know which project to target. |
| board_create_projectA | Create a new project to group tasks and sessions under a shared goal. Projects are the top-level container — every task and session must belong to one. Use sparingly: create a new project for major initiatives (3+ related tasks), not for every piece of work. New projects are created with status='active' and priority='medium' (unless overridden). Returns { id, name, status, priority, message }. |
| board_update_projectA | Update a project's status (active/paused/completed/archived), priority, name, description, or metadata. Use this to pause projects that are on hold, archive completed projects so they don't clutter the active list, or re-rank portfolio priority during weekly reviews. Pass null to description/metadata to clear them. |
| board_get_tasksA | List tasks in a project with optional filters. Results are sorted client-side by priority (critical → low) — not by creation time. By default excludes done tasks (pass include_done=true or set status='done' to see them). Use this for mid-session checks: almost always pass a status filter (e.g., 'in_progress' or 'todo') to keep responses tight. For a single task by ID, use board_get_task instead. Returns an array of task objects with id, project_id, title, description, status, priority, assigned_agent, parent_task_id, depends_on, riper_mode, metadata, and ISO timestamps (created_at, updated_at, started_at, completed_at). |
| board_create_taskA | Create a task in a project. Status defaults to 'todo' and priority to 'medium' if not specified. If the initial status is 'in_progress', started_at is auto-set to now; if 'done', completed_at is auto-set. Writes an activity_log entry for audit. Use parent_task_id to create a subtask under another task (common pattern for decomposing work). Use depends_on to express ordering ('task B blocks on task A'). Returns { id, title, status, priority, message }. |
| board_update_taskA | Update a task's status, assignment, priority, RIPER mode, project, or other fields. Pass project_id to move the task to a different project (the target project must exist; subtasks are NOT auto-moved — caller must move them separately if needed). |
| board_get_taskA | Fetch a single task by its ID. Use this when you have a task ID (from board_create_task, a handoff note, or an activity_log entry) and need the full task record — for listing many tasks under a project, use board_get_tasks instead. Returns every field: id, project_id, title, description, status, priority, assigned_agent, parent_task_id, depends_on, riper_mode, metadata, and ISO timestamps (created_at, updated_at, started_at, completed_at). Returns { error } when the task doesn't exist rather than throwing — callers should check for the error key before treating the result as a task. |
| board_bulk_update_tasksA | Apply the same update to multiple tasks in one call. Useful for consolidation (move N tasks to a different project) or bulk status/priority/agent changes. All tasks are validated first — if any task is missing, NO tasks are updated (all-or-nothing). Activity log entries are written per task. |
| board_delete_taskA | Hard-delete a task and optionally its subtasks. Safety guard: by default only allows deleting tasks with status=done (prevents deleting in-progress work). Pass require_done=false to override. Also deletes associated activity_log entries. This is irreversible — cannot be undone. |
| board_create_sessionA | Start a new work session on a project and get the previous session's handoff. Side effect: any currently-active sessions on the same project are automatically marked 'abandoned' with ended_at=now — there's only ever one active session per project. Call this at the start of every substantive session so the next one can pick up where you left off. The returned handoff includes: last_session (progress_summary + handoff_notes + context_artifacts from the previous run), active_tasks (priority-sorted non-done tasks), and recent_activity (last 20 activity_log entries). Returns { session_id, abandoned_sessions, handoff, message }. |
| board_end_sessionA | End the current session with a progress summary and handoff notes. This is the single most important call for cross-session continuity — without it, everything you did this session is invisible to the next one. Marks the session status='completed' and sets ended_at=now. The next board_create_session will surface this session's progress_summary, handoff_notes, and context_artifacts in its handoff response. Reference specific task IDs in handoff_notes (the next session reads this as prose, not a parsed list). Returns { session_id, status, message }. |
| board_get_handoffA | Read the full handoff context for a project without starting a new session. board_create_session already returns this automatically at session start — use board_get_handoff mid-session when you need to re-check what was pending, or when a background agent needs context without claiming the session slot. Returns: project (id/name/status/description), last_session (progress_summary + handoff_notes + context_artifacts from the most recent completed/abandoned session, or null if none), active_tasks (all non-done tasks sorted critical → low priority, with id/title/status/priority/assigned_agent/riper_mode/depends_on), active_task_count, and recent_activity (last 20 activity_log entries, newest-first). |
| board_log_activityA | Append an entry to the activity_log — a write-only audit stream of what agents did, decided, or observed. Use this for: RESEARCH observations the next session should see, decisions made during PLAN/REVIEW, blockers, notable failures, or any context that shouldn't be lost. Most status/assignment changes via board_update_task and board_create_task already write their own activity_log entries automatically — call this explicitly for free-form comments (action='commented') or arbitrary actions. Read back via board_get_activity. Returns { id, action, message }. |
| board_get_activityA | Query the activity_log. Filter by task_id, session_id, agent_name, or action. Results are ordered newest-first and capped at |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool targets a unique resource/action combination—project, session, task, activity, and handoff—with no overlap. Singular vs plural 'get' tools clearly separate single-fetch from list-fetch.
All tools follow the 'board_verb_noun' snake_case pattern consistently. Verbs like create, get, update, delete, end, log, bulk_update are uniformly applied, and noun forms (singular/plural) match their function.
14 tools is well-scoped for a board management server covering tasks, projects, sessions, and activity logging. The count feels neither bloated nor sparse—each tool serves a clear, necessary purpose.
Core CRUD operations are present for tasks and projects, plus session lifecycle and activity tracking. Minor gaps exist: no project deletion (only status update), no single-project fetch by ID, and no session list endpoint. These are non-critical for typical workflows.