Skip to main content
Glama

BoardAgent

あなたのコンピュータ上で動作するタスクマネージャー — あなたとAIエージェントのための。 ターミナルUI、REST API、MCPサーバー。無料、ローカル、クラウド不要。

インストール (Windows)

ビルド済みのexeが必要です。 入手方法は2つあります:

オプションA — リリースバイナリを使用(最も簡単): GitHubから最新リリースをダウンロード → 解凍 → INSTALL.bat をダブルクリック。 これだけです。プログラムをコピーし、自動起動を設定し、ウォッチドッグをインストールし、アプリをPATHに追加します。

オプションB — 自分でビルド: Python 3.10+ が必要です。

pip install -e .          # installs the 3 CLI commands
python scripts/build_exes.py   # builds boardagent.exe, boardagent-server.exe, boardagent-mcp.exe into dist/

次に INSTALL.bat を実行します。

Related MCP server: pith

実行

Windows(INSTALL.bat実行後): boardagent.exe をダブルクリック(またはターミナルで boardagent と入力)。バックグラウンドサーバーはログオン時に自動起動します。

どこでも(ソースから):

boardagent-server   # terminal 1 — the background service
boardagent          # terminal 2 — the task board UI

初回のヒント:

  • c でタスク作成、a でAIモード、q で終了。

  • 完全キーボードファースト:矢印で移動、スペースで選択/開く、Enterでアクティブ化。

  • 設定タブ:テーマ、不透明度、APIキー、キーバインド。

AIエージェントにボードを使わせる

MCPホスト(Claude Desktop、Cursor、Hermes)を boardagent-mcp に向けます:

{
  "mcpServers": {
    "boardagent": { "command": "C:\\path\\to\\boardagent-mcp.exe" }
  }
}

その他の用途には、設定 → APIキー でAPIキーを作成します。

仕組み

  • REST API — 信頼できる情報源、http://127.0.0.1:7373。

  • MCPサーバー — 同じサービスレイヤー上の薄いアダプター。

  • Textual TUI — 表示されるアプリ。localhost経由でサービスと通信。

  • データは ~/.boardagent/boardagent.db(SQLite)に保存されます。すべてローカル。

ドキュメント

  • 人間向け: docs/human/ — イントロ、MCP設定、テーマ、パッケージング。

  • AIエージェント向け: docs/agent/ — トークン最適化されたREST + MCPリファレンス。

  • エンジニアリング上の決定: DECISIONS.md。

開発

python -m pytest
python scripts/generate_agent_docs.py   # needs the server running
python scripts/build_exes.py            # Windows exes into dist/

ライセンス

MIT — LICENSE を参照。

Available Tools

7 tools
boardagent_claim_taskB

Claim/lock a todo task for an agent. Returns an error if unavailable. Requires write role.

NameRequiredDescriptionDefault
idYes
agent_idYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does contribute two real behavioral facts: failure semantics ('Returns an error if unavailable') and an auth prerequisite ('Requires write role'). It still omits whether the claim is reversible/releasable, what the returned error or success looks like, and whether it mutates persistent state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, zero filler, and the core action is front-loaded ahead of the failure and permission caveats. Every sentence carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, no output schema, and two undocumented parameters, the description covers the essentials of failure and permission but leaves the return value, state effects, and parameter meaning unaddressed. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters have 0% schema description coverage, so the description is the only place semantics could be added, yet it never mentions 'id' or 'agent_id'. The names are largely self-explanatory, which softens the gap, but the description does not compensate for the coverage hole.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Claim/lock') and resource ('todo task') with the acting party ('for an agent'), so the operation is unambiguous. It does not, however, position itself against siblings like boardagent_complete_task or boardagent_update_task, so an agent must infer the boundary itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'todo' implies usage (claim only tasks in a todo state), but there is no explicit when-to-use/when-not statement and no named alternative for the adjacent operations (complete, update, create). Usage is implied rather than directed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

boardagent_complete_taskA

Mark a task done. Only the owning agent may complete it. Requires write role.

NameRequiredDescriptionDefault
idYes
agent_idYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses the authorization model (owning agent only, write role required), but says nothing about the resulting task state, whether completion is reversible, or error behavior on permission failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, action first, prerequisites after. No filler and nothing redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, no output schema, and two undocumented parameters, the description covers authorization but omits state-change semantics and parameter meaning. It is minimally adequate but leaves gaps an agent must guess at.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% — neither 'id' nor 'agent_id' has any description. The description does not identify what 'id' refers to or whose 'agent_id' is expected (the caller's or the owner's), so it fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Mark a task done') that is clearly distinct from siblings like claim_task, update_task, and delete_task. It does not explicitly contrast with claim_task, but the action is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete preconditions: only the owning agent may complete it and a write role is required. It states when the call will succeed but does not name alternatives for non-owning agents (e.g., claim or update instead).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

boardagent_create_taskA

Create a new task. Priority is a color: red/orange/yellow/green/blue/white. Tasks are always created as todo (claim to start work). Requires write role.

NameRequiredDescriptionDefault
dueNo
tagsNoLabels for the task
linksNoReference URLs or file paths
notesNoRunning log of updates
titleYesTask title
projectNo
agent_idNoAgent namespace for metadata
estimateNoTime estimate, e.g. '2h'
metadataNoFreeform JSON metadata
priorityNowhite
descriptionNo
dependenciesNoBlocking task ids/names
custom_fieldsNoCustom field name -> value
acceptance_criteriaNoDefinition of done

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full burden and does disclose two non-obvious traits: the forced initial status ('always created as todo') and the authorization requirement ('Requires write role'). It still omits return behavior, error/duplicate handling, and whether the new task id is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action and free of filler. The enumerated color list partially duplicates the schema enum, which is the only mild redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter mutation tool with no annotations and no output schema, the description covers auth and initial state but says nothing about the returned value, defaults beyond priority, or what most parameters do. Adequate but with visible gaps for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 71% across 14 parameters, so the schema documents most fields itself. The description clarifies that priority is expressed as a color, but that largely restates the enum already present in the schema and adds no meaning for due, estimate, dependencies, custom_fields, or metadata.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource ('Create a new task'), which cleanly separates it from the list/get/update/delete/claim/complete siblings without needing to name them. It never explicitly contrasts against those siblings, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The clause 'Tasks are always created as todo (claim to start work)' implies a create-then-claim workflow, which is useful routing guidance. However, no alternative tool is named and there is no explicit when/when-not condition, so the guidance is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

boardagent_delete_taskA

Delete a task by id. Requires admin role.

NameRequiredDescriptionDefault
idYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses the admin-role requirement, which is valuable, but does not state whether deletion is permanent, cascading, reversible, or what the result looks like for a destructive operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero waste, and the core action is front-loaded before the permission caveat. Perfectly sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a single parameter, no output schema, and no annotations, the description covers the basic purpose and auth requirement. However, for a destructive delete operation it omits important context about permanence and side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is one parameter, id, and schema description coverage is 0%. The description says 'by id' but adds no format or type detail beyond the schema's integer declaration. For a single obvious identifier, this is minimally acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (Delete), a specific resource (task), and the key identifier (by id). This clearly distinguishes the tool from all siblings such as create_task, update_task, claim_task, and complete_task.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It notes the prerequisite of admin role, which is useful context, but does not say when to use this tool versus alternatives like update_task or complete_task. Usage is implied by the tool name rather than explained.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

boardagent_get_taskB

Read a single task by id. Requires read role.

NameRequiredDescriptionDefault
idYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It does disclose that the operation is a read and requires read role, which is useful authorization context, but it does not describe return behavior, missing-record handling, or any other operational traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, front-loaded sentences with no wasted words. The core action is stated first, followed by the role requirement, which is an efficient structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter read tool, the description covers the essential action and permission requirement, but it omits return-value expectations and edge-case behavior. It is minimally adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the single parameter has no schema description. The description only repeats 'by id' without clarifying what the id identifies or its expected format, adding virtually no meaning beyond the schema's id integer property.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: read a single task by id. It clearly distinguishes itself from list tools by specifying 'single' and 'by id', though it does not explicitly name any sibling alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only usage guidance is 'Requires read role', which states a prerequisite but not when to use this tool versus alternatives like boardagent_list_tasks. There is no explicit when-to-use or when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

boardagent_list_tasksC

List tasks, optionally filtered. Requires read role.

NameRequiredDescriptionDefault
limitNoMax rows (1-500)
ownerNo
offsetNoSkip N rows
statusNo
projectNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses a read-role requirement, which is useful, but omits return format, pagination behavior, and whether results are sorted or truncated. Minimal behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with purpose. However, it is under-specified for a tool with five parameters, making conciseness come at the cost of needed detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Inadequate for a list tool with five parameters, no output schema, and no annotations. Missing filter semantics, return shape, and pagination behavior, which an agent needs to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 40% (only limit and offset described). The description adds no parameter details beyond 'optionally filtered', leaving owner, status, and project undocumented. Fails to compensate for low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb 'List' and resource 'tasks', and the plural distinguishes it from the sibling 'boardagent_get_task' which likely retrieves a single task. No explicit sibling differentiation in text, but the intent is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Only mentions 'optionally filtered' and 'Requires read role'. No guidance on when to use this vs get_task, or when to prefer this over claim/complete. No exclusions or alternatives named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

boardagent_update_taskC

Update a task. Metadata is merged into agent_id's namespace. Requires write role.

NameRequiredDescriptionDefault
idYes
dueNo
tagsNo
linksNo
notesNo
titleNo
statusNo
projectNo
agent_idNo
estimateNo
metadataNo
priorityNo
descriptionNo
dependenciesNo
custom_fieldsNo
acceptance_criteriaNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does add two genuine behavioral facts: metadata is merged into agent_id's namespace, and a write role is required. It still omits whether omitted fields are preserved or cleared (partial vs full replacement), validation/failure behavior, and reversibility, which matters for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action, and no filler. The brevity is efficient, though it edges into under-specification for a 16-parameter mutation tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 16 parameters, 0% schema coverage, no annotations, no output schema, and nested objects, this description is far too thin. It covers the core purpose and two behavioral facts but leaves the agent without guidance on the vast majority of inputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 16 parameters, so the description must compensate and largely does not. It clarifies only the metadata/agent_id relationship; the status and priority enums, due format, dependencies, custom_fields, and the remaining parameters get no semantic explanation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Update a task'), which is enough to distinguish it from the create/list/get/delete/claim/complete siblings by verb. However, it never says which aspects of the task are updatable, leaving the scope of the operation thin relative to a 16-parameter schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only guidance is 'Requires write role,' which is a prerequisite rather than usage context. There is no statement of when to use this tool versus boardagent_claim_task, boardagent_complete_task, or boardagent_create_task, and no exclusions or conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv0.2.1
    • First observedboardagent_claim_task
    • First observedboardagent_complete_task
    • First observedboardagent_create_task
    • First observedboardagent_delete_task
    • First observedboardagent_get_task
    • First observedboardagent_list_tasks
    • First observedboardagent_update_task

TDQS

A3.5/5.0

Scored across 7 tools

Disambiguation5/5

Each tool maps to a distinct action: CRUD (create/list/get/update/delete) plus two clearly-scoped lifecycle operations (claim for locking, complete for finishing). Claim vs update are well separated by their descriptions (lock vs metadata merge), so misselection is unlikely.

Naming Consistency5/5

All seven tools share the boardagent_ prefix and follow a strict verb_noun pattern (create_task, list_tasks, get_task, delete_task, update_task, claim_task, complete_task). No mixed conventions or vague verbs.

Tool Count5/5

Seven tools is a well-scoped set for a task board, covering the essential operations without bloat. Every tool earns its place.

Completeness4/5

Full CRUD plus claim/complete lifecycle is strong, but a few natural operations are absent: releasing/unclaiming a task, reopening a completed task, and explicit assignment. These are minor gaps an agent can largely work around.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for task management that enables AI agents to read, create, update tasks, and track work sessions, allowing agents and humans to collaborate on the same task board.
    12 npm
    10
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to manage task state through MCP, including creating, updating, and tracking tasks, with support for client-side encryption and secure local credential storage.
    11 npm
    MIT