Skip to main content
Glama
vuluu2k
by vuluu2k

Knowledge MCP Server

Biến AI thành trợ lý cá nhân có trí nhớ vĩnh viễn.

Quản lý công việc, ghi chú, mục tiêu và kiến thức — tất cả bằng ngôn ngữ tự nhiên. Mọi thứ được lưu trên GitHub, có version control, truy cập từ bất kỳ đâu.

Bạn nói                              AI làm
─────────────────────────────────────────────────────────
"Hôm nay tôi cần làm gì?"           → Xem tasks hôm nay
"Thêm task: thiết kế landing page"   → Tạo task mới
"Xong task review PR rồi"            → Đánh dấu hoàn thành
"Lưu kiến thức Docker: dùng alpine"  → Lưu vào knowledge base
"Chính sách bảo hành thế nào?"       → Tìm và trả lời từ dữ liệu đã lưu
"Phân tích năng suất của tôi"        → Báo cáo insights + gợi ý cải thiện

Không cần nhớ tên lệnh. Nói tự nhiên. AI tự hiểu.


Tại sao dùng Knowledge MCP?

AI thông thường quên sau mỗi cuộc hội thoại. Knowledge MCP cho AI bộ nhớ dài hạn — lưu một lần, dùng mãi mãi.

  • Trí nhớ vĩnh viễn — Kiến thức lưu trên GitHub, không bao giờ mất. AI trả lời dựa trên dữ liệu bạn đã lưu, không bịa.

  • Quản lý công việc bằng giọng nói tự nhiên — Thêm task, đánh dấu xong, xem backlog — không cần mở app nào khác.

  • Knowledge base cá nhân — Lưu quy trình, chính sách, ghi chú kỹ thuật, bất kỳ thứ gì. AI tìm và trả lời chính xác khi bạn hỏi lại.

  • Phân tích năng suất — AI phân tích thói quen làm việc, phát hiện vấn đề, gợi ý cải thiện cụ thể.

  • Version control — Mỗi hành động là một git commit. Xem lịch sử, rollback bất kỳ lúc nào.

  • Hoạt động trên mọi AI platform — Claude Desktop, Cursor, VS Code, Windsurf, Claude Code CLI, và bất kỳ MCP client nào.


Related MCP server: Librarian MCP

Demo nhanh

Quản lý công việc

Bạn: Hôm nay tôi cần làm gì?
AI:  Bạn có 3 tasks hôm nay:
     1. !! Review PR của Minh #dev @due(2025-03-20)
     2. Thiết kế landing page #design
     3. Fix bug login page #dev

Bạn: Xong task review PR rồi
AI:  Đã đánh dấu hoàn thành "Review PR của Minh" ✓

Knowledge base

Bạn: Ghi nhớ: chính sách đổi trả là 7 ngày, sản phẩm còn nguyên tem
AI:  Đã lưu vào knowledge base, topic "chinh-sach" với tags: đổi trả, chính sách

Bạn: Khách hỏi chính sách đổi trả thế nào?
AI:  Theo dữ liệu đã lưu: Chính sách đổi trả là 7 ngày, sản phẩm còn nguyên tem.

Phân tích năng suất

Bạn: Phân tích năng suất của tôi tuần này
AI:  ## Insights
     - Bạn hoạt động nhiều nhất lúc 9-11h sáng (65% commits)
     - Completion rate: 72% — khá tốt

     ## Vấn đề
     - 3 tasks quá hạn, task "Refactor auth module" trễ 5 ngày
     - 4 tasks không có deadline — dễ bị trì hoãn
     - Backlog đang phình (12 items), có vẻ chưa được review

     ## Gợi ý
     - Đặt deadline cho 4 tasks đang thiếu
     - Review và dọn backlog — bỏ hoặc lên lịch cụ thể
     - Chia nhỏ "Refactor auth module" — task quá lớn

Khả năng tự học

Knowledge MCP không chỉ lưu trữ — nó học từ hành vi của bạn và ngày càng thông minh hơn theo thời gian.

Càng dùng càng thông minh

Tuần 1: AI trả lời từ kiến thức chung
Tuần 4: AI trả lời chính xác từ DỮ LIỆU BẠN ĐÃ LƯU
        — chính sách, quy trình, kiến thức kỹ thuật, tất cả đều có nguồn

Mỗi lần bạn lưu kiến thức, AI có thêm dữ liệu để tham chiếu. Hệ thống search-before-answer: AI tự tìm trong knowledge base trước khi trả lời, ưu tiên dữ liệu thực thay vì bịa.

Phân tích hành vi — 5 bộ phát hiện

AI phân tích lịch sử commit + task patterns để hiểu thói quen của bạn — hoàn toàn bằng thuật toán, không dùng LLM:

Detector

Phát hiện

Ví dụ

Productivity

Chronotype, peak hours, xu hướng hoạt động

"Bạn hiệu quả nhất 9-11h sáng, hoạt động giảm 40% tuần này"

Procrastination

Priority inversion, overdue tích tụ

"3 task quan trọng bị bỏ qua, trong khi 5 task nhỏ đã xong"

Task Structure

Task mơ hồ, quá lớn, thiếu metadata

"4 task chỉ có 2-3 từ, khó hành động"

Goal Alignment

Task vs mục tiêu bị lệch

"Chỉ 25% task liên quan đến mục tiêu đã đề ra"

Workload

Quá tải, inbox tồn đọng, backlog phình

"Hôm nay ước lượng 12h work — không khả thi"

Kết quả: healthScore (0-100) + insights xếp theo mức nghiêm trọng + gợi ý cụ thể.

Tự động tối ưu — Self-Optimizing Engine

AI không chỉ phân tích — nó tự sửa hệ thống task của bạn:

Bạn: Tối ưu tasks cho tôi

AI:  Preview (dry run):
     1. autoReschedule — chuyển 2 task quá hạn từ backlog → today
     2. autoSplitTask  — chia "Refactor auth" (8h) thành 3 subtasks
     3. autoPrioritize — đẩy "Fix critical bug" lên today
     4. autoCleanup    — xóa 1 task trùng lặp
     5. autoInjectTask — tạo task cho goal "học React" (chưa có task nào)

     Áp dụng không?

Bạn: OK

AI:  Đã áp dụng 5 thay đổi trong 1 commit.

Luôn preview trước — bạn duyệt rồi mới áp dụng. Toàn bộ thay đổi gộp trong 1 atomic commit.

Học từ thời gian

Hệ thống phát hiện patterns theo thời gian thực:

  • Chronotype — early-bird hay night-owl (từ timestamp commits)

  • Consistency — bao nhiêu ngày có hoạt động trong 14 ngày qua

  • Trend — năng suất đang tăng, giảm, hay ổn định

  • Weekend work — có đang làm việc cuối tuần quá nhiều không

Càng dùng lâu, phân tích càng chính xác vì có nhiều dữ liệu lịch sử hơn.


Cài đặt (2 phút)

Yêu cầu

  • Node.js >= 18

  • GitHub account + Personal Access Token (tạo tại đây — cần quyền repo)

  • Một repo rỗng trên GitHub (ví dụ: brain)

Cách 1: Một lệnh duy nhất

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/vuluu2k/knowledge_mcp/main/install.sh -o install.sh && bash install.sh

Windows (PowerShell):

Invoke-WebRequest -Uri https://raw.githubusercontent.com/vuluu2k/knowledge_mcp/main/install.ps1 -OutFile install.ps1; .\install.ps1

Clone, install, build, cấu hình .env interactive, in ra config sẵn cho AI platform của bạn.

Script tự động kiểm tra và cài Node.js nếu chưa có (hỗ trợ winget, Chocolatey, Scoop, hoặc tải installer trực tiếp).

Cách 2: Clone + script

macOS / Linux:

git clone https://github.com/vuluu2k/knowledge_mcp.git
cd knowledge_mcp
./install.sh

Windows (PowerShell):

git clone https://github.com/vuluu2k/knowledge_mcp.git
cd knowledge_mcp
.\install.ps1

Cách 3: Thủ công

git clone https://github.com/vuluu2k/knowledge_mcp.git
cd knowledge_mcp
npm install && npm run build
cp .env.example .env
# Sửa .env với token + repo info

Kết nối với AI Platform

MCP server chạy qua stdio — tương thích mọi platform hỗ trợ MCP.

Thay /path/to/knowledge_mcp bằng đường dẫn thực tế. Script install.sh sẽ in ra config copy-paste sẵn.

File: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) hoặc %APPDATA%\Claude\claude_desktop_config.json (Windows)

{
  "mcpServers": {
    "knowledge-brain": {
      "command": "node",
      "args": ["/path/to/knowledge_mcp/dist/index.js"],
      "env": {
        "GITHUB_TOKEN": "ghp_...",
        "GITHUB_OWNER": "yourusername",
        "GITHUB_REPO": "brain"
      }
    }
  }
}
claude mcp add knowledge-brain -- node /path/to/knowledge_mcp/dist/index.js

Settings > MCP Servers > Add new:

{
  "mcpServers": {
    "knowledge-brain": {
      "command": "node",
      "args": ["/path/to/knowledge_mcp/dist/index.js"],
      "env": {
        "GITHUB_TOKEN": "ghp_...",
        "GITHUB_OWNER": "yourusername",
        "GITHUB_REPO": "brain"
      }
    }
  }
}

File .vscode/mcp.json trong project hoặc global settings:

{
  "servers": {
    "knowledge-brain": {
      "command": "node",
      "args": ["/path/to/knowledge_mcp/dist/index.js"],
      "env": {
        "GITHUB_TOKEN": "ghp_...",
        "GITHUB_OWNER": "yourusername",
        "GITHUB_REPO": "brain"
      }
    }
  }
}

File ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "knowledge-brain": {
      "command": "node",
      "args": ["/path/to/knowledge_mcp/dist/index.js"],
      "env": {
        "GITHUB_TOKEN": "ghp_...",
        "GITHUB_OWNER": "yourusername",
        "GITHUB_REPO": "brain"
      }
    }
  }
}

File ~/.codex/config.json:

{
  "mcpServers": {
    "knowledge-brain": {
      "command": "node",
      "args": ["/path/to/knowledge_mcp/dist/index.js"],
      "env": {
        "GITHUB_TOKEN": "ghp_...",
        "GITHUB_OWNER": "yourusername",
        "GITHUB_REPO": "brain"
      }
    }
  }
}

Project settings > Integrations > MCP > Add server:

{
  "mcpServers": {
    "knowledge-brain": {
      "command": "node",
      "args": ["/path/to/knowledge_mcp/dist/index.js"],
      "env": {
        "GITHUB_TOKEN": "ghp_...",
        "GITHUB_OWNER": "yourusername",
        "GITHUB_REPO": "brain"
      }
    }
  }
}

Field

Value

Command

node

Args

/path/to/knowledge_mcp/dist/index.js

Env

GITHUB_TOKEN, GITHUB_OWNER, GITHUB_REPO

Transport: stdio (mặc định).


Bắt đầu sử dụng

Bước 1 — Khởi tạo (chỉ 1 lần)

Tạo một repo rỗng trên GitHub, cấu hình xong, rồi nói:

Khởi tạo brain cho tôi

AI tạo toàn bộ cấu trúc trong 1 commit:

brain/
├── inbox/capture.md           ← Ghi nhanh
├── tasks/
│   ├── today.md               ← Việc hôm nay
│   └── backlog.md             ← Việc để dành
├── notes/
│   ├── ideas.md               ← Ý tưởng
│   └── learning.md            ← Kiến thức học được
├── goals/
│   ├── short-term.md          ← Mục tiêu ngắn hạn
│   └── long-term.md           ← Mục tiêu dài hạn
└── knowledge/
    └── general.md             ← Knowledge base

Bước 2 — Dùng hàng ngày

Nói chuyện tự nhiên. AI tự chọn tool phù hợp.

Bạn nói

AI hiểu

"thêm task", "nhắc tôi", "cần làm"

Tạo task mới

"xong rồi", "done", "hoàn thành"

Đánh dấu task xong

"ghi lại", "note", "ý tưởng"

Thêm ghi chú

"nhớ giùm", "capture", "lưu nhanh"

Lưu vào inbox

"lưu kiến thức", "ghi nhớ rằng"

Lưu vào knowledge base

"tìm", "nhắc lại", "có ghi gì về"

Tìm trong knowledge

"phân tích năng suất", "review"

Báo cáo insights

Chi tiết hơn: GUIDE.md — hướng dẫn chat với AI agent hiệu quả.


Danh sách Tools (16)

Khởi tạo

Tool

Mô tả

initBrain

Tạo toàn bộ cấu trúc brain trên repo rỗng (1 commit)

Tasks (5 tools)

Tool

Input

Mô tả

getTasks

section (today/backlog/all)

Lấy tasks theo section

getTodayTasks

Tasks hôm nay

getBacklog

Tasks backlog

addTask

text, target

Thêm task mới

markTaskDone

taskId hoặc text

Đánh dấu hoàn thành

Notes / Goals / Inbox (5 tools)

Tool

Input

Mô tả

getNotes

section (ideas/learning)

Lấy ghi chú

addNote

content, file

Thêm ghi chú

getGoals

section (short-term/long-term)

Lấy mục tiêu

getInbox

Lấy inbox

saveToInbox

content

Lưu nhanh vào inbox

Knowledge Base (4 tools)

Tool

Input

Mô tả

listTopics

Danh sách topics (name + description + tags)

getKnowledge

topic

Đọc toàn bộ 1 topic

addKnowledge

topic, title, content, description?, tags?

Thêm kiến thức

searchKnowledge

query

Tìm kiếm cross-topic (tag > title > content)

Insights & Analytics (1 tool)

Tool

Input

Mô tả

getInsights

Phân tích năng suất, phát hiện vấn đề, gợi ý cải thiện

getInsights phân tích:

  • Completion rate — tỷ lệ hoàn thành tasks

  • Overdue tasks — tasks quá hạn và số ngày trễ

  • Task quality — phát hiện tasks thiếu priority, deadline, hoặc mô tả quá mơ hồ

  • Activity patterns — giờ nào và ngày nào bạn hoạt động nhiều nhất (từ commit history)

  • Goal alignment — tasks hôm nay có khớp với mục tiêu không

  • Inbox health — bao nhiêu items chưa xử lý


Knowledge Base

Lưu trữ kiến thức theo topic. Mỗi file có frontmatter + entries:

---
name: Chính sách bán hàng
description: Quy định đổi trả, bảo hành, hoàn tiền
tags: chính sách, đổi trả, bảo hành
---

## Chính sách đổi trả
- Đổi trả trong vòng 7 ngày, sản phẩm còn nguyên tem

## Bảo hành
- Sản phẩm điện tử: 12 tháng

Search ranking

  1. Tag match — "bảo hành" match tag > trả về tất cả entries của topic

  2. Title match — match heading ##

  3. Content match — match nội dung

AI tự động tìm trong knowledge base trước khi trả lời. Nếu có dữ liệu đã lưu, AI dùng dữ liệu đó — không bịa.


Cấu hình .env

GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx   # Bắt buộc
GITHUB_OWNER=yourusername               # Bắt buộc
GITHUB_REPO=brain                       # Bắt buộc
GITHUB_BRANCH=main                      # Mặc định: main
BRAIN_BASE_PATH=brain                   # Mặc định: brain
LOG_LEVEL=info                          # debug | info | warn | error
CACHE_TTL_MS=30000                      # Cache reads (ms)
WRITE_RETRIES=3                         # Retry khi conflict

Cập nhật

macOS / Linux:

# Nếu cài bằng curl (mặc định ~/.knowledge-brain-mcp)
curl -fsSL https://raw.githubusercontent.com/vuluu2k/knowledge_mcp/main/update.sh -o update.sh && bash update.sh

# Hoặc chạy trực tiếp trong thư mục đã clone
./update.sh

Windows (PowerShell):

# Nếu cài mặc định (~\.knowledge-brain-mcp)
Invoke-WebRequest -Uri https://raw.githubusercontent.com/vuluu2k/knowledge_mcp/main/update.ps1 -OutFile update.ps1; .\update.ps1

# Hoặc chạy trực tiếp trong thư mục đã clone
.\update.ps1

Script tự động xử lý toàn bộ:

  1. Phát hiện thay đổi local — nếu bạn đã sửa code, script hỏi:

    • Lưu tạm (stash) rồi cập nhật

    • Ghi đè thay đổi local

    • Hủy cập nhật

  2. Pull bản mới nhất từ GitHub

  3. Hiển thị changelog — những gì đã thay đổi

  4. Cài lại dependencies nếu có package mới

  5. Rebuild TypeScriptdist/ được build lại hoàn toàn

  6. Kiểm tra .env — báo nếu có biến môi trường mới cần thêm

[INFO] Phiên bản hiện tại: a1b2c3d
[INFO] Đang tải bản mới nhất...
[OK] Đã cập nhật: a1b2c3d → e4f5g6h

[INFO] Thay đổi:
  e4f5g6h feat: add auto-action engine
  d3c2b1a fix: knowledge search ranking

[OK] Đã cập nhật dependencies
[OK] Build hoàn tất
[OK] .env đầy đủ

═══════════════════════════════════════════════════
  Cập nhật hoàn tất!
═══════════════════════════════════════════════════
  Khởi động lại IDE để sử dụng bản mới.

Nếu cài ở thư mục khác (không phải mặc định), truyền đường dẫn:

# macOS / Linux
./update.sh ~/my-custom-path

# Windows
.\update.ps1 -Path "C:\my-custom-path"

Gỡ cài đặt

macOS / Linux:

./install.sh --uninstall

Windows (PowerShell):

.\install.ps1 -Uninstall

Xóa thư mục server + tự động gỡ config khỏi tất cả IDE (Claude Desktop, Claude Code, Cursor, Windsurf...).


Scripts

macOS / Linux

Lệnh

Mô tả

curl ... -o install.sh && bash install.sh

Cài từ xa — clone, build, cấu hình IDE tự động

./install.sh

Cài đặt (hoạt động cả local lẫn curl pipe)

./install.sh --uninstall

Gỡ cài đặt + xóa config IDE

./update.sh

Cập nhật — pull, rebuild, check .env

Windows (PowerShell)

Lệnh

Mô tả

Invoke-WebRequest ... -OutFile install.ps1; .\install.ps1

Cài từ xa

.\install.ps1

Cài đặt

.\install.ps1 -Uninstall

Gỡ cài đặt + xóa config IDE

.\update.ps1

Cập nhật — pull, rebuild, check .env

.\update.ps1 -Path "C:\path"

Cập nhật thư mục chỉ định

Chung

Lệnh

Mô tả

npm run build

Build TypeScript

npm run start

Chạy server

npm run dev

Dev mode (tsx)


Kiến trúc

Claude/AI ◄──stdio──► MCP Server ◄──HTTPS──► GitHub API ◄──► brain/ repo

Nguyên tắc: MCP server chỉ xử lý dữ liệu. Toàn bộ suy luận do AI đảm nhận.

src/
├── index.ts              # Entry point
├── mcp.ts                # Đăng ký tools + server instructions
├── config.ts             # Env vars
├── logger.ts             # JSON logger → stderr
├── errors.ts             # Error types
├── core/
│   ├── brain.ts          # Brain facade (tasks, notes, goals, inbox)
│   ├── parser.ts         # Markdown ↔ structured data
│   ├── knowledge.ts      # Knowledge base (frontmatter + search)
│   ├── insights.ts       # Insight engine (analytics + patterns)
│   └── aggregator.ts     # Cross-file queries
├── github/
│   ├── client.ts         # GitHub API (cache + retry)
│   └── sync.ts           # Section → file path mapping
└── tools/
    ├── helpers.ts        # Tool wrapper
    ├── brain.ts          # initBrain
    ├── tasks.ts          # Task tools (5)
    ├── notes.ts          # Note + goal tools (3)
    ├── inbox.ts          # Inbox tools (2)
    ├── knowledge.ts      # Knowledge tools (4)
    └── insights.ts       # Insight tool (1)

Kỹ thuật

  • Git Tree API — initBrain tạo tất cả file trong 1 commit, hoạt động trên repo rỗng

  • TTL Cache — reads cached 30s, writes tự invalidate

  • Atomic writes — SHA conflict (409) tự retry 3 lần

  • Format-preserving — sửa task chỉ thay đúng dòng, không rewrite file

  • CRLF safe — normalize line endings, hỗ trợ frontmatter, priority (!/!!/!!!), due dates (@due())

  • Tag-first search — knowledge search ưu tiên tag match, không cần đọc content

  • Commit history analysis — phân tích patterns từ lịch sử commit cho insights

  • Server instructions — AI agent nhận instructions khi kết nối, hiểu ngay cách dùng


Use Cases

Cho cá nhân

  • Quản lý tasks hàng ngày bằng ngôn ngữ tự nhiên

  • Lưu kiến thức kỹ thuật (Docker, Git, API endpoints...)

  • Theo dõi mục tiêu và tiến độ

  • Phân tích thói quen làm việc

Cho team / doanh nghiệp

  • Knowledge base chính sách (đổi trả, bảo hành, quy trình)

  • AI customer support trả lời dựa trên dữ liệu thực

  • Onboarding — nhân viên mới hỏi AI về quy trình nội bộ

  • Lưu và tra cứu tài liệu kỹ thuật


License

MIT

Available Tools

15 tools
addKnowledgeA

Add a new knowledge entry to a topic. Creates the topic if it doesn't exist. Use this to store facts, how-tos, decisions, or anything worth remembering.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesTopic name (e.g. typescript, docker, recipes)
titleYesEntry title / question
contentYesEntry content / answer / explanation

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It discloses key behavioral traits: 'Creates the topic if it doesn't exist' reveals side effects beyond the primary add operation. However, it doesn't cover permissions, error conditions, or response format, leaving gaps 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.

Conciseness5/5

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

The description is concise and front-loaded: two sentences with zero waste. The first sentence states the core purpose and side effect, the second provides usage context. Every sentence earns its place without 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 mutation tool with no annotations and no output schema, the description is adequate but incomplete. It covers the primary action and a key side effect, but lacks details on permissions, error handling, or return values. Given the complexity and lack of structured data, it should do more to be fully helpful.

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 100%, so the schema already documents all three parameters. The description adds minimal value beyond the schema: it implies 'topic' is for categorization and 'content' stores information, but doesn't provide additional syntax, format, or constraints. Baseline 3 is appropriate when schema does the heavy lifting.

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 clearly states the tool's purpose: 'Add a new knowledge entry to a topic' with the specific action 'add' and resource 'knowledge entry'. It distinguishes from siblings like 'addNote' or 'addTask' by specifying knowledge entries, but doesn't explicitly contrast with 'searchKnowledge' or 'getKnowledge'.

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 description provides implied usage guidance: 'Use this to store facts, how-tos, decisions, or anything worth remembering.' This suggests appropriate contexts but doesn't explicitly state when to use this versus alternatives like 'addNote' or 'saveToInbox', nor does it mention prerequisites or exclusions.

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

addNoteC

Add a note to the ideas or learning section

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesThe note content
fileNoWhich section to add the note toideas

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Add a note' implies a write operation, the description doesn't specify whether this requires authentication, what happens on success/failure, if there are rate limits, or how notes are stored/retrieved. It lacks critical context 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?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized for a simple tool, though it could be slightly more informative without losing conciseness.

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?

For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain the outcome (e.g., what 'adding a note' entails, how to retrieve it later with 'getNotes'), behavioral traits like error handling, or differentiation from sibling tools, leaving significant gaps for an AI agent.

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 100%, with both parameters ('content' and 'file') well-documented in the schema. The description adds minimal value beyond the schema by mentioning 'ideas or learning section', which aligns with the 'file' enum values. This meets the baseline for high 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?

The description clearly states the action ('Add a note') and target ('to the ideas or learning section'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate this tool from sibling tools like 'addKnowledge' or 'saveToInbox', which might also involve adding content to different sections.

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 description provides no guidance on when to use this tool versus alternatives like 'addKnowledge' or 'saveToInbox'. It mentions the target sections ('ideas' or 'learning') but doesn't explain what distinguishes notes from knowledge entries or inbox items, nor does it mention any prerequisites or exclusions.

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

addTaskB

Add a new task to today's list or the backlog

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesThe task description
targetNoWhere to add the tasktoday

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool adds a task but doesn't cover permissions, whether the operation is idempotent, error conditions, or what happens on success (e.g., returns a task ID). For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

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?

The description is a single, efficient sentence with zero waste, clearly front-loading the purpose. Every word earns its place, making it easy to parse quickly.

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 the tool's moderate complexity (2 parameters, mutation operation) and no annotations or output schema, the description is minimally adequate. It states what the tool does but lacks details on behavior, output, or integration with siblings, leaving room for improvement in completeness.

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 100%, so the schema fully documents both parameters ('text' and 'target' with enum values). The description adds no additional meaning beyond what the schema provides, such as explaining the implications of choosing 'today' vs 'backlog'. Baseline 3 is appropriate when the schema does the heavy lifting.

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 clearly states the action ('Add a new task') and the target resources ('today's list or the backlog'), which provides a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'saveToInbox' or 'markTaskDone', which might handle similar task-related operations.

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 description implies usage by mentioning 'today's list or the backlog' but provides no explicit guidance on when to use this tool versus alternatives like 'saveToInbox' or 'getTasks'. There are no prerequisites, exclusions, or clear context for choosing between the target options.

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

getBacklogB

Get all tasks from the backlog

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states what the tool does, not how it behaves. It doesn't disclose whether this is a read-only operation, if it requires authentication, how results are returned (e.g., pagination), or any rate limits, leaving significant behavioral gaps.

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?

The description is a single, efficient sentence with zero waste—it directly states the tool's purpose without fluff. It's appropriately sized for a simple tool with no parameters, making it easy to parse and front-loaded with essential 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 tool with 0 parameters, no annotations, and no output schema, the description is minimally adequate by stating what it does. However, it lacks details on return format, error handling, or behavioral context, which could help an agent use it more effectively despite the simple structure.

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

Parameters4/5

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

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, earning a baseline score of 4 for not adding unnecessary information beyond what the schema already provides.

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 clearly states the action ('Get') and resource ('all tasks from the backlog'), making the purpose immediately understandable. It distinguishes from siblings like getTasks or getTodayTasks by specifying the backlog source, though it doesn't explicitly contrast with them.

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 description provides no guidance on when to use this tool versus alternatives like getTasks or getTodayTasks. It implies usage for backlog tasks but doesn't specify prerequisites, exclusions, or contextual triggers, leaving the agent to infer based on the name alone.

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

getGoalsC

Get goals from short-term or long-term sections

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionNoWhich goals section to retrieveshort-term

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states it 'Get goals' but doesn't describe what the tool returns (e.g., list format, pagination, error handling), whether it's read-only or has side effects, or any constraints like authentication needs or rate limits. This leaves significant gaps for a tool with no annotation coverage.

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?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse. Every part of the sentence contributes essential information, earning a top score for conciseness.

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 the tool's simplicity (1 parameter, no output schema, no annotations), the description is incomplete. It lacks details on return values (no output schema), behavioral traits (no annotations), and usage context. While it covers the basic purpose, it doesn't provide enough information for an agent to fully understand how to invoke and interpret results, especially for a retrieval tool.

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?

The input schema has 100% description coverage, with the parameter 'section' well-documented (enum values, default, description). The description adds no additional meaning beyond the schema, as it only repeats the enum options ('short-term or long-term sections') without explaining their significance or usage. With high schema coverage, the baseline score of 3 is appropriate.

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 clearly states the action ('Get goals') and specifies the resource type ('goals'), along with the scope ('from short-term or long-term sections'). It distinguishes the tool by focusing on goals, unlike sibling tools that handle tasks, notes, knowledge, etc. However, it doesn't explicitly differentiate from potential similar tools (e.g., if there were a 'getAllGoals' tool), which prevents a perfect score.

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 description provides no guidance on when to use this tool versus alternatives. It mentions 'short-term or long-term sections' but doesn't explain why one would choose this over other retrieval tools like 'getTasks' or 'getBacklog', or whether there are prerequisites (e.g., goals must exist). Without explicit when/when-not instructions or named alternatives, it offers minimal usage context.

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

getInboxB

Get all items from the inbox/capture list

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Get all items' implies a read-only operation, it doesn't specify whether this requires authentication, what format the items are returned in, if there are rate limits, or how 'all' is defined (e.g., pagination, time limits). For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

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?

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action ('Get all items') and specifies the target ('from the inbox/capture list'). Every part of the sentence contributes directly to understanding the tool's purpose.

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 the lack of annotations and output schema, the description is incomplete for a tool that presumably returns data. It doesn't explain what 'items' are (e.g., tasks, notes, mixed types), the return format, or any behavioral constraints. For a read operation with no structured output documentation, the description should provide more context about what to expect.

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

Parameters4/5

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

The tool has 0 parameters, and schema description coverage is 100%, so there's no need for parameter documentation in the description. The description correctly doesn't mention any parameters, which is appropriate. A baseline of 4 is given for zero-parameter tools when the schema fully covers them.

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 clearly states the verb ('Get') and resource ('items from the inbox/capture list'), making the purpose immediately understandable. It distinguishes this from siblings like getBacklog, getTasks, or getTodayTasks by specifying the inbox/capture list as the target. However, it doesn't explicitly differentiate from saveToInbox, which is a write operation counterpart.

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 description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to prefer getInbox over getBacklog or getTasks, nor does it explain the relationship with saveToInbox. Without any usage context or prerequisites, the agent must infer when this tool is appropriate.

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

getKnowledgeA

Get all entries from a specific knowledge topic. Use listTopics first to see available topics.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesTopic name (e.g. typescript, docker, project-setup)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states it 'Get all entries' but doesn't disclose behavioral traits such as whether this is a read-only operation, potential rate limits, authentication needs, or what 'all entries' entails (e.g., pagination, format). This leaves significant gaps for a tool with no annotation coverage.

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?

The description is two sentences, front-loaded with the core purpose and followed by a practical usage tip. Every sentence earns its place with no wasted words, making it efficient and easy to parse.

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 the tool's low complexity (1 parameter, no output schema, no annotations), the description is somewhat complete but lacks details on behavioral aspects like response format or constraints. It covers basic usage but doesn't fully compensate for the absence of annotations, making it adequate but with clear gaps.

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?

The input schema has 100% description coverage, with the 'topic' parameter well-documented. The description adds minimal value by implying the topic must be from 'listTopics', but doesn't provide additional semantics beyond what the schema already covers, meeting the baseline for high 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?

The description clearly states the verb 'Get' and resource 'entries from a specific knowledge topic', making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'searchKnowledge' or 'getNotes', which might also retrieve knowledge-related data, leaving some ambiguity about uniqueness.

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?

It provides explicit guidance to 'Use listTopics first to see available topics', which is helpful for context. But it doesn't specify when to use this tool versus alternatives like 'searchKnowledge' or 'getNotes', missing clear differentiation from siblings.

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

getNotesC

Get notes from the ideas or learning section

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionNoWhich notes section to retrieveideas

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves notes but does not describe key behaviors: whether it returns all notes or filtered subsets, the format of the output (e.g., list, object), pagination, error handling, or authentication needs. This leaves significant gaps for a tool that likely involves data retrieval.

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?

The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It is front-loaded with the core action ('Get notes'), making it easy to parse. However, it could be slightly more structured by explicitly mentioning the parameter, but this is minor.

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 the lack of annotations and output schema, the description is incomplete. It does not explain what the tool returns (e.g., a list of note objects, plain text), how results are formatted, or any limitations (e.g., max notes per request). For a data retrieval tool with no structured output information, this leaves the agent with insufficient context to use it effectively.

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?

The schema description coverage is 100%, with the parameter 'section' fully documented in the schema (including enum values and default). The description adds no additional meaning beyond what the schema provides, such as explaining the difference between 'ideas' and 'learning' sections. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.

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

Purpose3/5

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

The description states the tool's purpose ('Get notes') and specifies the source sections ('ideas or learning'), which provides basic clarity. However, it lacks specificity about what 'notes' are (e.g., text entries, metadata) and does not distinguish this tool from siblings like 'getKnowledge' or 'getInbox', which might retrieve similar content. The description is vague about the scope and format of the retrieved notes.

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 description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or comparisons to sibling tools like 'getKnowledge' (which might retrieve structured knowledge) or 'getInbox' (which might handle temporary notes). Without such context, an agent must infer usage from the tool name and schema alone.

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

getTasksC

Get all tasks grouped by file (today + backlog). Returns tasks with id, text, status, tags, priority, dueDate.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionNoWhich task section to retrieveall

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the return format (tasks with specific fields) but lacks critical details such as whether this is a read-only operation, if it requires authentication, how results are paginated, or what happens with large datasets. The description is minimal and misses key behavioral traits.

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?

The description is concise and front-loaded, stating the core purpose in the first phrase. It efficiently lists the returned fields without unnecessary elaboration. However, it could be slightly more structured by separating the action from the return details for better clarity.

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 the tool's low complexity (one optional parameter) and no output schema, the description adequately covers the basic purpose and return format. However, it lacks completeness in usage guidelines and behavioral transparency, which are important for a tool with multiple sibling alternatives and no annotations to provide safety or operational context.

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?

The input schema has 100% description coverage, clearly documenting the 'section' parameter with its enum values and default. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline score of 3 for adequate but not additive information.

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 clearly states the action ('Get all tasks grouped by file') and specifies the scope ('today + backlog'), which distinguishes it from generic task retrieval. However, it doesn't explicitly differentiate from sibling tools like 'getTodayTasks' or 'getBacklog', which appear to offer similar functionality for specific sections.

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 description provides no guidance on when to use this tool versus alternatives like 'getTodayTasks' or 'getBacklog'. It mentions the grouping by file and the sections covered, but offers no explicit when/when-not instructions or comparisons to sibling tools.

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

getTodayTasksB

Get all tasks from today's task list

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves tasks but doesn't mention any behavioral traits such as permissions needed, rate limits, whether it's read-only or has side effects, or what the return format looks like. This leaves significant gaps for a tool that likely interacts with a task management system.

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?

The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words. It's front-loaded and wastes no space, making it easy for an agent to parse quickly.

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 the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'today's task list' means (e.g., date interpretation, timezone handling), what the return data includes, or any error conditions. For a tool in a task management context with siblings, more context is needed to ensure proper use.

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

Parameters4/5

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

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't add parameter details, as there are none to explain, which aligns with the baseline expectation for zero-parameter tools.

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 clearly states the action ('Get') and resource ('tasks from today's task list'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'getTasks' or 'getBacklog', which likely retrieve tasks from other contexts, so it misses full sibling distinction.

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 description implies usage for retrieving today's tasks but provides no explicit guidance on when to use this tool versus alternatives like 'getTasks' or 'getBacklog'. There's no mention of prerequisites, exclusions, or specific contexts, leaving the agent to infer usage from the description alone.

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

initBrainA

Initialize the brain repository structure. Creates all required folders and markdown files in a single commit. Only needs to be called once on a new/empty repo.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses key behavioral traits: it performs a write operation ('creates'), commits changes ('in a single commit'), and has a specific usage pattern ('once'). However, it lacks details on permissions needed, error handling, or what exactly gets created (e.g., folder names, file types).

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 sentences with zero waste: the first states the purpose and action, the second provides critical usage guidance. It's front-loaded with the core function and efficiently conveys all necessary information without redundancy.

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

Completeness4/5

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

Given the tool's complexity (simple initialization with no parameters) and lack of annotations/output schema, the description is mostly complete. It covers purpose, behavior, and usage, but could improve by specifying what 'required folders and markdown files' entail or potential side effects. Still, it's adequate for the tool's scope.

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

Parameters4/5

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

There are 0 parameters, and schema description coverage is 100%, so the baseline is high. The description adds value by explaining why no parameters are needed ('only needs to be called once'), which provides context beyond the empty schema. It doesn't need to compensate for any parameter gaps.

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 clearly states the specific action ('Initialize'), target resource ('brain repository structure'), and scope ('creates all required folders and markdown files in a single commit'). It distinguishes this from sibling tools by emphasizing it's a one-time setup operation for new/empty repos, unlike ongoing tools like addKnowledge or getTasks.

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

Usage Guidelines5/5

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

Explicitly states when to use ('only needs to be called once on a new/empty repo') and when not to use (implied: not for existing repos or repeated calls). It provides clear context about its one-time nature, which helps differentiate it from all sibling tools that are for ongoing operations.

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

listTopicsA

List all knowledge topics. Returns topic names only (no content). Use this first to discover what knowledge exists before reading.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool lists topics and returns only names, which is useful behavioral context. However, it lacks details on potential limitations like pagination, sorting, error conditions, or performance characteristics that would be helpful for a read 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?

The description is two sentences with zero waste: the first states the purpose and output, the second provides usage guidance. It is front-loaded with the core functionality and efficiently structured.

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

Completeness4/5

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

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is largely complete. It covers purpose, output format, and usage context. However, without annotations or output schema, additional details on return structure or error handling could enhance completeness for a read operation.

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

Parameters4/5

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

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately does not discuss parameters, focusing instead on output semantics ('topic names only'), which adds value beyond the schema. A baseline of 4 is applied for zero-parameter tools.

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 clearly states the specific action ('List all knowledge topics') and resource ('knowledge topics'), distinguishing it from siblings like 'getKnowledge' (which presumably retrieves content) by specifying it returns 'topic names only (no content)'. This provides precise differentiation.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool ('Use this first to discover what knowledge exists before reading'), providing clear guidance on its role as a discovery mechanism prior to content retrieval with alternatives like 'getKnowledge'. This is a direct and helpful usage instruction.

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

markTaskDoneB

Mark a task as complete. Provide either a taskId (from getTasks) or searchText to fuzzy-match the task.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdNoThe task ID (from getTasks output)
textNoText to search for in task titles (fuzzy match)
sectionNoWhich section the task is intoday

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. While it describes the core action (marking as complete), it doesn't address important behavioral aspects like whether this is a destructive operation, what permissions are required, whether the change is reversible, what happens on success/failure, or any rate limits. The description is minimal and lacks 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.

Conciseness5/5

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

The description is extremely concise with just two sentences that directly address the tool's purpose and parameter options. Every word serves a purpose, and it's front-loaded with the core action. No wasted words or unnecessary elaboration.

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?

For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what happens after marking a task complete (does it move to a different section? is there confirmation?), what errors might occur, or what the return value looks like. The minimal description leaves too many behavioral questions unanswered for a tool that modifies state.

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?

The schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds marginal value by mentioning that taskId comes 'from getTasks output' and that text uses 'fuzzy-match', but these details are already covered in the schema descriptions. The baseline of 3 is appropriate when the schema does the heavy lifting.

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 clearly states the action ('Mark as complete') and resource ('a task'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'addTask' or 'getTasks' beyond implying this is a state change operation rather than creation or retrieval.

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 description provides implied usage guidance by mentioning two alternative ways to identify the task (taskId or searchText), but doesn't explicitly state when to use this tool versus alternatives like 'addTask' for creation or 'getTasks' for retrieval. No explicit when-not-to-use guidance or prerequisites are provided.

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

saveToInboxC

Save a quick thought, idea, or item to the inbox for later processing

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesThe text to capture in the inbox

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action. It doesn't disclose behavioral traits such as permissions needed, whether it's idempotent, how items are stored or organized in the inbox, or any rate limits. This is inadequate for a mutation tool with zero annotation coverage.

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?

The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and appropriately sized for the tool's simplicity, making it easy to parse quickly.

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 the tool's mutation nature, lack of annotations, and no output schema, the description is incomplete. It doesn't explain what 'saving' entails (e.g., creates a new item, returns an ID), how the inbox is structured, or error conditions. For a tool with potential complexity in a system with many siblings, this leaves significant gaps.

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?

The description implies a 'content' parameter but doesn't add meaning beyond the schema, which has 100% coverage and fully describes the single parameter. The baseline score of 3 is appropriate since the schema does the heavy lifting, though the description doesn't compensate for any gaps (none exist here).

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 clearly states the tool's purpose with a specific verb ('Save') and resource ('to the inbox'), and specifies the type of content ('quick thought, idea, or item'). However, it doesn't explicitly differentiate from sibling tools like 'addNote' or 'addTask', which might have overlapping functionality.

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 description provides minimal guidance by mentioning 'for later processing', but offers no explicit when-to-use rules, prerequisites, or alternatives. It doesn't clarify when to choose this over similar tools like 'addNote' or 'addTask', leaving usage context vague.

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

searchKnowledgeC

Search across all knowledge topics by keyword. Returns matching entries with their topic, title, and content.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch keyword or phrase

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the return format ('matching entries with their topic, title, and content'), which adds some value, but it lacks details on permissions, rate limits, pagination, or error handling. For a search tool with zero annotation coverage, this is a significant gap in transparency.

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?

The description is concise and front-loaded, consisting of two clear sentences that state the action and the return value. There is no wasted verbiage, and it efficiently communicates the core functionality. However, it could be slightly improved by integrating usage guidance, but as is, it's well-structured.

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 the tool's low complexity (one parameter, no annotations, no output schema), the description is minimally adequate. It covers the basic purpose and return format, but lacks details on behavioral aspects like search scope (e.g., fuzzy matching, case sensitivity) and error cases. Without an output schema, it should ideally explain return values more thoroughly, but it does the bare minimum for a simple search tool.

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?

The schema description coverage is 100%, with the single parameter 'query' well-documented in the schema as 'Search keyword or phrase.' The description adds no additional semantic context beyond implying keyword-based searching. Given the high schema coverage, a baseline score of 3 is appropriate, as the description doesn't enhance parameter understanding beyond what the schema already provides.

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 clearly states the tool's purpose: 'Search across all knowledge topics by keyword.' It specifies the verb (search), resource (knowledge topics), and scope (all). However, it doesn't explicitly differentiate from sibling tools like 'getKnowledge' or 'listTopics,' which might offer similar functionality, so it doesn't reach the highest score.

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 description provides no guidance on when to use this tool versus alternatives. With siblings like 'getKnowledge' and 'listTopics' present, it fails to specify scenarios where this search tool is preferred, such as for keyword-based filtering versus direct retrieval. This lack of comparative context limits its utility for an AI agent.

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. Dates show when Glama detected each change.

  1. 15 tool updatesv1.0.0
    • First observedaddKnowledge
    • First observedaddNote
    • First observedaddTask
    • First observedgetBacklog
    • First observedgetGoals
    • First observedgetInbox
    • First observedgetKnowledge
    • First observedgetNotes
    • First observedgetTasks
    • First observedgetTodayTasks
    • First observedinitBrain
    • First observedlistTopics
    • First observedmarkTaskDone
    • First observedsaveToInbox
    • First observedsearchKnowledge

TDQS

B3.4/5.0
Disambiguation4/5

Most tools have distinct purposes, but there is some overlap between 'addNote' and 'addKnowledge' (both store information) and between 'getTasks', 'getTodayTasks', and 'getBacklog' (all retrieve tasks with different scopes). Descriptions help clarify boundaries, but an agent might occasionally misselect between these related tools.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout, such as 'addKnowledge', 'getTasks', 'listTopics', and 'saveToInbox'. All tools use camelCase uniformly, with no mixing of naming conventions, making them predictable and easy to understand.

Tool Count5/5

With 15 tools, the server is well-scoped for a knowledge management system, covering tasks, notes, knowledge entries, and inbox items. Each tool serves a clear purpose, and the count is appropriate for handling the domain's core workflows without being overwhelming.

Completeness4/5

The tool set provides comprehensive coverage for knowledge and task management, including CRUD operations for tasks (add, get, mark done) and knowledge (add, get, list, search), with inbox and notes support. Minor gaps include no update or delete tools for knowledge entries or notes, but agents can work around this by adding new entries or using other methods.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vuluu2k/knowledge_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server