bort
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BORT_DB | Yes | Path to the SQLite database file, e.g. <PATH_TO_REPO>/data/bort.db | |
| BORT_TZ | No | Timezone, e.g. Europe/Moscow | UTC |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| bort_project_listB | Список проектов (краткая форма). Фильтры: status idea|active|paused|closed, priority 1..4 (1 — критичный), поиск q по названию |
| bort_project_getA | Проект целиком: задачи, затраты, чаты, люди. Поиск по project_id или точному названию (регистронезависимо) |
| bort_project_createC | Создать проект. Сумма: deal_amount в рублях («150 000,50») или deal_amount_minor в копейках |
| bort_project_updateB | Обновить проект (project_id или name); передаются только изменяемые поля |
| bort_task_createC | Создать задачу в проекте (project_id или project_name) |
| bort_task_updateC | Обновить задачу по task_id (передаются только изменяемые поля) |
| bort_task_closeB | Закрыть задачу: outcome 'done' (выполнено) или 'cancelled' (отменено); проставляет closed_at |
| bort_expense_addA | Добавить затрату в проект: amount в рублях («1 200,50») или amount_minor в копейках; spent_on по умолчанию сегодня (BORT_TZ), категория по умолчанию other; возвращает новую маржу проекта |
| bort_summaryC | Сводка по проектам: агрегаты (деньги, счётчики просрочено/горит) и список с состоянием дедлайна. scope: open|active|all |
| bort_project_summaryB | Сводка одного проекта: деньги, маржа, прогресс задач, разбивка затрат по категориям. По project_id или названию |
| bort_chat_attachB | Привязать чат к проекту: существующий chat_id или создать новый (title, kind, tg_chat_id, tg_link) |
| bort_chat_detachB | Отвязать чат от проекта (чат остаётся в справочнике) |
| bort_chat_listC | Чаты с участниками и привязками к проектам; с project_id — только чаты проекта |
| bort_person_upsertA | Создать или обновить человека (ищется по tg_username, затем по имени); можно сразу привязать к проекту и/или чату с ролью |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Сводка | Markdown-сводка открытых проектов: деньги, маржа, дедлайны |
TDQS
Scored across 14 tools
Each tool targets a distinct resource+action, and the project/task/chat/person prefixes make boundaries clear. The only fuzziness is between bort_summary (cross-project aggregates) and bort_project_summary (single project), plus mild overlap with bort_project_get, which also returns money and tasks, but the descriptions distinguish scopes adequately.
All tools share the bort_ prefix and follow a resource_action pattern (project_list, task_create, chat_attach, expense_add), which is highly predictable. The lone global bort_summary lacking a resource prefix is a minor deviation from an otherwise consistent convention.
14 tools is well within the ideal 3-15 range for a project-management server covering projects, tasks, chats, people, expenses, and summaries. Each tool earns its place without redundancy.
Core lifecycles (project create/update, task create/update/close, chat attach/detach/list, expense add) are covered, but there are notable gaps: no expense update/delete/list, no standalone person list/get, no project delete/archive, and tasks lack a standalone list or reopen. Agents can partly work around via bort_project_get, but the surface is not fully rounded.