wealify-kpi-mcp
This is a read-only MCP server that allows querying the Wealify KPI Dashboard for performance data, scoring status, and team metrics. All tools are read-only — write operations (locking periods, approving payouts, etc.) return 403.
Available capabilities:
kpi_health– Verify the read token is valid and the KPI dashboard is reachable.kpi_scoring_period– Check whether a given month's scoring window isOPENorLOCKED.kpi_scoring_coverage– Identify active members lacking scoring data for a given month (filterable by chapter), so leads can be reminded before the lock deadline.kpi_member_kpi– Retrieve a full KPI breakdown for an individual member: engine1 (commission), engine2 (squad bonus), clawback, and total payout for a given quarter.kpi_alerts– Get derived alert signals for a quarter (e.g., squads missing revenue floors, bonus pool hitting the 15% GP cap, data sync staleness).kpi_overview– Fetch a company-wide quarterly snapshot — per-squad performance, sales leaderboard, chapter averages, and engine-3 status — for CEO/Finance digests.kpi_chapter– Get a chapter-level aggregate plus per-member metric breakdown for a given quarter.kpi_chapter_monthly– Drill into a specific month for a chapter (for SALES: GTV, deal count, unique customers per member; for others: squad revenue and metrics).kpi_members– List all active members and leads with IDs, names, emails, roles, chapters, and squads (filterable by chapter or squad).kpi_rubrics– View scoring rubric thresholds for a chapter/quarter, including metric keys, fail/standard/excellent thresholds, multipliers, and data sources.kpi_sla_status– Check which leads have completed scoring for their team in a given month and who is overdue (deadline: 4th of each month, 17:00 ICT).kpi_rubric_doc– Retrieve the full markdown rubric document for a chapter (SALES, PRODUCT, ENGINEER, GROWTH, MARKETING), including qualitative criteria, behavioral descriptions, and thresholds.kpi_docs_list– List all available reference/documentation files in themcp/docs/directory.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@wealify-kpi-mcpShow me the KPI overview for this quarter"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Wealify KPI — MCP (read-only)
Dành cho AI agent (Paperclip và các agent khác). Đây là cách hệ thống KPI Dashboard chia sẻ dữ liệu cho agent đọc, và hướng dẫn cách dùng. Đọc hết file này là biết gọi endpoint nào, cú pháp ra sao, auth thế nào, và lấy được số gì.
1. Nguyên tắc (đọc trước khi code)
kpi.wealify.com(dashboard) là BỘ NÃO / nguồn sự thật duy nhất. Mọi thông số (điểm, hệ số, commission, bonus, capping, trạng thái khoá) do dashboard tính và quyết.Agent chỉ ĐỌC qua API này. KHÔNG ghi. KHÔNG đụng database trực tiếp. Không có connection string, không có SQL — chỉ có HTTP read endpoints.
Sai số → sửa trong dashboard, không sửa ở agent. Agent chỉ là lớp đọc + đi báo/nhắc/tạo phiếu.
Mọi bước đổi trạng thái (mở/khoá chấm điểm tháng, chốt quý, khoá snapshot) nằm trong dashboard — chạy bằng cron của dashboard hoặc CEO bấm tay. Không expose cho agent (token agent là OBSERVER read-only, gọi vào sẽ bị 403).
Related MCP server: FoxTrove Voice MCP Server
2. Auth
Mọi request kèm header:
Authorization: Bearer <PAPERCLIP_READ_TOKEN>Token này map sang identity OBSERVER (read-only). Không gọi được bất kỳ endpoint ghi nào.
Token do admin dashboard cấp (env
PAPERCLIP_READ_TOKENtrên backend). Đặt cùng giá trị ở phía agent.Thiếu/sai token →
401. Server backend mà chưa set token → từ chối tất cả (fail-closed).
3. Cách dùng
Cách A — qua MCP server (khuyến nghị)
cd mcp
npm install
# Token đã được tích hợp sẵn — không cần tạo file .envThêm vào MCP config của agent (ví dụ):
{
"mcpServers": {
"wealify-kpi": {
"command": "node",
"args": ["/đường/dẫn/tới/mcp/index.mjs"]
}
}
}Lưu ý: Token read-only và Base URL đã được tích hợp sẵn trong code. Nếu cần override, set env
KPI_BASE_URLvàPAPERCLIP_READ_TOKEN.
Tools agent sẽ thấy:
Tool | Tham số | Trả về |
| — | Xác nhận token + dashboard sống |
|
| Trạng thái chấm điểm tháng: OPEN / LOCKED |
|
| Member chưa có data để chấm (để nhắc Lead) |
|
| KPI đầy đủ 1 member (engine1/2, bonus, clawback, total) |
|
| Cảnh báo: squad dưới sàn · chạm trần 15% GP · sync trễ |
|
| Toàn cảnh: squad · leaderboard · chapter avg · engine-3 |
|
| Tổng hợp 1 chapter + per-member |
|
| Theo tháng: GTV + số deal + số KH từng người (Sales), revenue squad (khác) |
|
| Roster: member + Lead + email (biết DM ai / lặp qua) |
|
| Rubric: ngưỡng fail/standard/excellent + hệ số + data source |
|
| Tiến độ chấm điểm: Lead nào đã chấm xong, ai đang quá hạn |
|
| Rubric Document: toàn bộ nội dung file rubric (markdown) — tiêu chí định tính, ngưỡng, nguồn data |
Cách B — gọi HTTP trực tiếp (REST)
Base URL: https://kpi.wealify.com/api/v1 · prefix nhóm: /service · method: GET.
curl -H "Authorization: Bearer $PAPERCLIP_READ_TOKEN" \
https://kpi.wealify.com/api/v1/service/scoring/2026-05/coverage?chapter=SALES4. Endpoints (read-only)
Path | Query | Mô tả |
| — |
|
| — | Trạng thái tháng ( |
|
| Ai chưa có data chấm điểm tháng |
|
| KPI đầy đủ của member |
|
| Tín hiệu cảnh báo dẫn xuất |
|
| Toàn cảnh công ty (squad · leaderboard · chapter avg) |
|
| Tổng hợp chapter + per-member |
|
| Theo tháng: GTV per member (Sales), squad revenue (khác) |
|
| Roster: member + Lead + email |
|
| Rubric: ngưỡng chấm điểm + hệ số |
| — | Tiến độ chấm điểm: Lead nào đúng hạn, ai trễ |
Response shapes
GET /service/scoring/2026-05
{ "month": "2026-05", "state": "LOCKED", "lockedAt": "2026-06-05T16:00:00.000Z", "snapshotsGenerated": true }GET /service/scoring/2026-05/coverage?chapter=SALES
{
"month": "2026-05", "quarter": "Q2/2026", "chapter": "SALES",
"total": 8, "scored": 6, "unscoredCount": 2,
"unscored": [ { "userId": "…", "fullName": "Tuấn Lê", "email": "…", "chapterType": "SALES" } ]
}GET /service/alerts?quarter=Q2/2026
{
"quarter": "Q2/2026", "count": 2,
"alerts": [
{ "type": "SQUAD_FLOOR_MISS", "severity": "HIGH", "message": "Squad Sales B: 1 tháng dưới sàn doanh thu.", "meta": { "squad": "Sales B" } },
{ "type": "CAPPING_HIT", "severity": "MEDIUM", "message": "Quỹ commission vượt trần 15% GP.", "meta": { "pool": 0, "cap": 0 } }
]
}GET /service/chapter/SALES/monthly?month=2026-05 ⭐ MỚI
{
"chapter": "SALES",
"month": "2026-05",
"quarter": "Q2/2026",
"rubricNote": "Ngưỡng tháng = ngưỡng quý ÷ 3. Sàn/tháng = 20.0 Tỷ, Xuất sắc/tháng = 33.3 Tỷ",
"summary": { "totalGtv": 160180007131, "totalDeals": 9697, "memberCount": 3 },
"members": [
{
"userId": "c4d5...", "fullName": "Lê Thị Duyên", "squadName": "VA Squad",
"gtv": 115133982865, "dealCount": 5083, "uniqueCustomers": 233,
"pacing": {
"level": "EXCELLENT",
"monthlyTarget": 20000000000,
"monthlyExcellent": 33333333333,
"gap": 0, "surplus": 81800649532
}
}
]
}Lưu ý pacing:
monthlyTarget= ngưỡng sàn quý ÷ 3.level= FAIL / STANDARD / EXCELLENT.gap= còn thiếu bao nhiêu (khi FAIL).surplus= vượt bao nhiêu (khi EXCELLENT).
GET /service/member/:userId/kpi?quarter=Q2/2026 → { quarter, user, engine1, engine2, clawback, totalPayout }
(chi tiết engine1 = commission, engine2 = squad-tier × chapter-multiplier + capping, clawback = hoàn phí).
GET /service/rubrics?chapter=SALES&quarter=Q2/2026
{
"quarter": "Q2/2026", "chapter": "SALES", "count": 3,
"rubrics": [
{
"chapterType": "SALES", "metricKey": "TOTAL_GTV", "metricLabel": "Tổng GTV Nạp Tiền",
"thresholds": { "fail": 3000000000, "standardMin": 3000000000, "standardMax": 10000000000, "excellent": 10000000000 },
"multipliers": { "fail": 0, "standard": 1, "excellent": 1.15 },
"dataSource": "CRM", "locked": true, "lockedAt": "2026-04-01T00:00:00.000Z"
}
]
}GET /service/scoring/2026-05/sla
{
"month": "2026-05", "quarter": "Q2/2026",
"deadline": "2026-06-04T10:00:00.000Z", "isPastDeadline": false,
"leads": [
{ "userId": "…", "fullName": "Minh Sơn", "email": "son@wealify.com", "chapterType": "SALES", "teamTotal": 8, "teamScored": 6, "teamUnscored": 2, "isComplete": false, "isOverdue": false }
],
"summary": { "totalLeads": 4, "completedLeads": 2, "overdueLeads": 0 }
}5. KHÔNG có ở đây (cố ý)
Các thao tác ghi/đổi trạng thái không nằm trong MCP này — chúng sống trong dashboard:
Mở/khoá chấm điểm tháng, chốt quý, khoá snapshot → scheduler của dashboard tự chạy (ngày 1 mở · ngày 5 khoá · cuối quý chốt) hoặc CEO bấm (
POST /scoring/..., cần JWT + role CEO).Ký duyệt giải ngân hoa hồng → Lark Approval (người thật: CEO + Kế Toán).
Agent gọi mấy cái đó bằng token OBSERVER → 403. Đúng thiết kế: agent không bao giờ làm hỏng được dữ liệu lương.
6. Setup token (cho admin dashboard)
openssl rand -hex 32 # sinh tokenĐặt vào backend
.env:PAPERCLIP_READ_TOKEN=<token>(+ lưu 1Password "Wealify KPI Backend").Đặt cùng giá trị vào env của agent (
PAPERCLIP_READ_TOKEN).Rotate: đổi cả 2 nơi cùng lúc.
Nguồn: backend src/modules/service/ (read API) + src/common/guards/service-token.guard.ts (auth). Mọi thay đổi shape API → cập nhật file README này để agent khác đọc đúng.
Available Tools
13 toolskpi_alertsC
Derived alert signals for a quarter: squad below revenue floor, bonus pool hitting the 15% GP cap, sync staleness.
| Name | Required | Description | Default |
|---|---|---|---|
| quarter | No | Quarter 'QX/YYYY' — defaults to current |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It states that alerts are 'derived' and lists types, but does not disclose if this is a read-only operation, any authentication needs, or what happens if quarter is omitted (though the input schema notes a default).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loades key information (quarter scope) and lists alert examples. It is efficient with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only one optional parameter and no output schema, the description adequately conveys the kind of alerts returned. However, it does not describe the structure or meaning of the return value, leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the parameters, including a description for 'quarter' that states defaults to current. The tool description adds no further semantic detail beyond naming the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the resource (alert signals for a quarter) and gives concrete examples (squad below revenue floor, bonus cap, sync staleness). It effectively distinguishes from sibling tools like kpi_health or kpi_overview, though it lacks an explicit verb (e.g., 'list' or 'get').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., other kpi tools). There is no mention of prerequisites, exclusions, or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kpi_chapterC
Chapter aggregate + per-member metric breakdown. chapter = SALES | PRODUCT | GROWTH | ENGINEER.
| Name | Required | Description | Default |
|---|---|---|---|
| chapter | Yes | ||
| quarter | No | Quarter 'QX/YYYY' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description only mentions output type without details on computation, data source, latency, or side effects. For a tool with no annotations, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise, but lacks structure and omits important details. Not every sentence earns its place because there is only one that does not cover all necessary aspects.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 12 sibling tools and no output schema, the description is too sparse. It does not explain what aggregate or per-member breakdown means, nor provide any context for output. Users are left guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%; quarter parameter has a format description, but chapter parameter only has enum. Description adds no extra meaning beyond the enum values, failing to compensate for low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it provides chapter aggregate and per-member metric breakdown, with explicit enum values. However, it does not distinguish from sibling tools like kpi_overview or kpi_chapter_monthly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as kpi_overview or kpi_member_kpi. Missing context about preferred scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kpi_chapter_monthlyA
Số liệu chapter theo TỪNG THÁNG. Dùng khi cần xem "tháng 5 Sales đạt bao nhiêu?". Với SALES: trả về GTV, số deal, số KH từng người trong tháng. Với chapter khác: revenue squad tháng đó + metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| chapter | Yes | ||
| month | Yes | Tháng cần xem, format 'YYYY-MM', ví dụ '2026-05' |
TDQS
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 that SALES returns GTV, deal count, and customer count per person, while other chapters return revenue squad and metrics. However, it lacks detail on potential side effects, required permissions, or output structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, with two sentences that front-load the core purpose and provide a concrete example. Every sentence adds value without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description provides partial information about return values but lacks full structure (e.g., array vs. object, field names for 'metrics'). It is adequate for a simple query tool but could be more detailed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning beyond the schema by explaining how the chapter parameter affects output (SALES vs. other chapters). The month parameter is already described in the schema with format. Schema coverage is 50%, and the description compensates for the undocumented chapter enum values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns chapter data per month, with specific behavior for SALES and other chapters. It provides an example use case but does not explicitly differentiate from sibling tools like kpi_chapter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage scenario (e.g., 'when you want to see how much Sales achieved in May'), guiding when to use this tool. However, it does not explicitly mention when not to use it or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kpi_docs_listA
List all available document files in the mcp/docs/ directory. Returns filenames so agents know what reference documents are available.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states the action and return value, omitting any side effects, permissions, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler; each sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool, it covers purpose and return value adequately, though missing edge case details like empty directory.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters; description adds context by specifying the directory and purpose, going beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specifically states it lists document files in the mcp/docs/ directory and returns filenames, clearly distinguishing it from sibling KPI metric tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like kpi_rubric_doc, nor any exclusion criteria or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kpi_healthA
Health/identity probe — confirms the read token works and the dashboard is reachable.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden. It clearly indicates the tool is a non-destructive probe that confirms token and dashboard state. However, it omits details like error behavior if the token fails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, direct sentence with no wasted words. The description is efficiently front-loaded and appropriate for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the zero parameters and no output schema, the description fully captures the tool's purpose: a health check for token and dashboard. It is complete for its scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so the schema covers 100%. The description adds value by explaining the purpose beyond the schema, earning a baseline of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is a health/identity probe that confirms token validity and dashboard reachability. It uses specific verbs and identifies the resource, distinguishing it from sibling KPI tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for checking connectivity and authentication but does not explicitly state when to use it versus alternatives like kpi_alerts. No guidance on when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kpi_member_kpiA
Full KPI breakdown for a member (engine1 commission, engine2 squad-bonus, clawback, total payout) for a quarter.
| Name | Required | Description | Default |
|---|---|---|---|
| userId | Yes | Member UUID | |
| quarter | No | Quarter 'QX/YYYY' — defaults to current |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden. It clearly states the tool returns a breakdown for a quarter, which implies a read-only query. However, it does not disclose potential restrictions (e.g., whether the user must be the member, data freshness, or any side effects). Additional context about auth or data recency would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence that immediately conveys the tool's function and output components. No wasted words, and the most critical information (what the tool returns) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool outputs a detailed breakdown, the absence of an output schema is compensated by listing the exact components in the description. For a simple query tool with only two parameters, this is sufficient for an agent to understand what it will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already describes both parameters ('Member UUID' and 'Quarter'). The description adds only the default behavior for quarter ('defaults to current'), which is a minor but useful addition. No further enrichment needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool returns: 'Full KPI breakdown for a member (engine1 commission, engine2 squad-bonus, clawback, total payout) for a quarter.' The verb 'Full KPI breakdown' combined with the specifics clearly distinguishes it from siblings like kpi_overview (which likely provides summary stats) and kpi_members (which likely lists members).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. The description only explains what it does, not when to choose it over siblings like kpi_alerts, kpi_chapter, or kpi_members. Without context for decision-making, an agent may misuse it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kpi_membersA
Active roster: members + Leads (id, name, email, role, chapter, squad) — so you know WHO to message and can iterate. Optional filters: chapter, squadId.
| Name | Required | Description | Default |
|---|---|---|---|
| chapter | No | ||
| squadId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It states it returns an active roster with specific fields, implying a read-only list operation. However, it does not mention pagination, limits, sorting, or side effects. The description is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with key information front-loaded. It is concise and efficient, though it could be slightly more structured. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with two optional parameters and no output schema, the description covers what the tool returns and its filtering capability. It is sufficient for an agent to understand and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It merely restates that chapter and squadId are optional filters, without explaining their format, behavior, or interaction. The enum values for chapter are already visible in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns an active roster of members and leads with specific fields (id, name, email, role, chapter, squad), and its purpose is to know whom to message. It distinguishes from siblings like kpi_member_kpi which probably focuses on individual KPIs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions optional filters and the context of messaging, but it does not explicitly state when to use this tool versus alternatives like kpi_alerts or kpi_health. No guidance on when not to use it is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kpi_overviewA
Company-wide overview for a quarter: per-squad performance, sales leaderboard, chapter averages, engine-3 status. Use for CEO/Finance digests.
| Name | Required | Description | Default |
|---|---|---|---|
| quarter | No | Quarter 'QX/YYYY' — defaults to current |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavioral traits. It implies a read operation but does not explicitly state read-only, permissions, rate limits, or side effects. It lacks transparency about what the tool does beyond returning data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: the first summarizes contents, the second gives usage context. No redundant information, perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-parameter tool with no output schema, the description adequately conveys the scope and use case. It doesn't cover error behavior or output format, but these are less critical for an overview tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description of the quarter parameter. The description does not add any extra meaning beyond the schema, which meets the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description specifies a specific verb+resource (overview of KPIs) and lists contents: per-squad performance, sales leaderboard, etc. It distinguishes from siblings by stating 'company-wide overview' and targets a specific audience (CEO/Finance).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly states when to use: 'Use for CEO/Finance digests.' However, it does not explicitly exclude alternatives or mention when not to use, given many sibling tools exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kpi_rubric_docA
Full rubric document (markdown) for a chapter — contains scoring criteria, thresholds, behavioral descriptions, data sources. Use this when asked about "rubric chapter X" or when you need to understand how KPIs are scored. Available: SALES, PRODUCT, ENGINEER, GROWTH, MARKETING.
| Name | Required | Description | Default |
|---|---|---|---|
| chapter | Yes | Chapter name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavioral aspects. It describes the return content but does not explicitly state that it is a read-only operation or mention any side effects, permissions, or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is two sentences, front-loaded with purpose, and every sentence adds value. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description adequately explains what the tool returns, its content, and usage context. No gaps given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter (chapter) having an enum and description 'Chapter name'. The description repeats the enum values but adds no additional semantic meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it returns a full rubric document in markdown for a chapter, listing contents (scoring criteria, thresholds, behavioral descriptions, data sources) and available chapters. Differentiates from siblings by specifying it's for a single chapter's detailed rubric.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use the tool ('when asked about rubric chapter X' or 'to understand how KPIs are scored'). Lists available chapters but does not explicitly exclude other uses or compare to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kpi_rubricsA
Rubric thresholds & criteria for a chapter in a quarter. Returns metric keys, fail/standard/excellent thresholds, multipliers, and data sources. Use to understand scoring rules before generating reports.
| Name | Required | Description | Default |
|---|---|---|---|
| chapter | No | Filter by chapter | |
| quarter | No | Quarter 'QX/YYYY' — defaults to current |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It describes the returned data (metric keys, thresholds, etc.) but does not disclose potential side effects, required permissions, or whether the operation is read-only. It is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the tool's return value and scope, followed by usage guidance. Every word is necessary, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 optional parameters, no output schema, and many siblings, the description covers the return structure and usage context well. It lacks explicit defaults for chapter and could be more specific about what 'current' quarter means, but overall it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers 100% of parameters with descriptions (chapter enum, quarter format/default). The description restates the scope but adds no new semantic details beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns rubric thresholds and criteria for a chapter in a quarter, specifying the returned fields (metric keys, thresholds, multipliers, data sources). It also provides a usage context (before generating reports), which helps differentiate it from other tools, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage context ('Use to understand scoring rules before generating reports') but lacks explicit guidance on when not to use this tool or how it compares to siblings like kpi_chapter or kpi_member_kpi.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kpi_scoring_coverageC
Active members who still lack data to be scored this month (so a Lead can be reminded before lock).
| Name | Required | Description | Default |
|---|---|---|---|
| month | Yes | Month as 'YYYY-MM' | |
| chapter | No | Filter by chapter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It states the output is a list of members lacking data, but does not disclose whether it is read-only, destructive, or any side effects. The phrase 'before lock' hints at a deadline but lacks specificity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, directly conveying the core purpose. It is front-loaded and efficient, though slightly informal (e.g., 'so a Lead can be reminded'). No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema and simple parameters (month, chapter), the description is mostly adequate but lacks details on the output format (e.g., member identifiers, counts). It does not specify pagination or limits. Sibling tools like kpi_members suggest similar focus, so completeness is moderate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear descriptions for 'month' and 'chapter' (including enum values). The tool description adds context about 'remind a Lead' but does not enhance parameter semantics beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the tool identifies active members lacking scoring data for the month, hinting at a reminder function. It differentiates from sibling tools like kpi_members or kpi_alerts by specifying 'coverage' and 'before lock', but could be more explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking coverage before a deadline, but provides no explicit guidance on when to use this tool versus alternatives. No mention of when not to use or recommended contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kpi_scoring_periodA
Scoring-period state (OPEN | LOCKED) for a month. Use before nudging Leads or reading 'final' numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| month | Yes | Month as 'YYYY-MM', e.g. '2026-05' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the return type (state enum) and purpose, but lacks details on idempotency, side effects, or performance. Adequate for a simple read-like operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: one for purpose and one for usage. No unnecessary information, but could be slightly more structured. Still very concise and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool with no output schema, the description covers the essential behavioral and usage aspects. It is sufficient for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description of the 'month' parameter format. The description adds usage context but no additional parameter semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the scoring-period state (OPEN or LOCKED) for a given month. It differentiates from sibling tools which focus on alerts, chapters, members, etc., making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use the tool: 'Use before nudging Leads or reading final numbers.' This gives clear context for invocation, though it lacks explicit exclusions or alternative names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kpi_sla_statusA
Tiến độ chấm điểm của Lead theo tháng: Lead nào đã chấm xong cho team, ai đang quá hạn. Dùng để nhắc Lead trước hạn chót (ngày 4 hàng tháng, 17:00 ICT) hoặc đánh dấu vi phạm thời hạn.
| Name | Required | Description | Default |
|---|---|---|---|
| month | Yes | Month as 'YYYY-MM', e.g. '2026-05' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It indicates the tool shows progress and identifies overdue leads, and mentions reminding or marking violations, implying possible write operations. However, it does not clarify if the tool is read-only or has side effects, leaving ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence in Vietnamese, yet it effectively communicates the tool's purpose and usage. It is concise and front-loaded without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only one parameter and its purpose is well explained. While there is no output schema, the description sufficiently covers the tool's functionality for its simple use case. However, a brief mention of the output format would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing a baseline of 3. The description adds context that the month parameter is for the scoring period, but does not provide additional details beyond the schema's own description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: showing scoring progress of Leads by month, identifying who has finished and who is overdue. It also specifies usage for reminding Leads before a deadline or marking violations, which distinguishes it from sibling tools focusing on other KPI aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage contexts: reminding Leads before the deadline (with exact date and time) or marking deadline violations. It does not explicitly state when not to use it, but the context is clear and differentiates from other KPI tools.
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.
13 tool updates
v1.0.0- First observed
kpi_alerts - First observed
kpi_chapter - First observed
kpi_chapter_monthly - First observed
kpi_docs_list - First observed
kpi_health - First observed
kpi_member_kpi - First observed
kpi_members - First observed
kpi_overview - First observed
kpi_rubric_doc - First observed
kpi_rubrics - First observed
kpi_scoring_coverage - First observed
kpi_scoring_period - First observed
kpi_sla_status
TDQS
Each tool has a distinct purpose: alerts, chapter aggregates, monthly breakdowns, member KPI, roster, overview, rubric document, rubric thresholds, scoring coverage, period state, and SLA status. No two tools overlap; even kpi_chapter and kpi_chapter_monthly are clearly differentiated by temporal aggregation.
All tools follow a consistent 'kpi_<noun>' or 'kpi_<noun>_<subnoun>' pattern (e.g., kpi_alerts, kpi_chapter_monthly, kpi_scoring_coverage). No mixing of conventions, camelCase, or varied verb forms. The naming is predictable and aids tool selection.
13 tools is well-scoped for a KPI management server. Each tool covers a necessary aspect (alerts, chapters, members, rubrics, scoring, SLA) without redundancy or bloat. The count feels tailored and purposeful.
The tool set comprehensively covers the KPI domain: alerts, chapter and member metrics, overview, rubrics (both full docs and thresholds), scoring status (coverage and period), member roster, and SLA tracking. For a read-only query server, there are no obvious gaps. All essential read operations are present.
Maintenance
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
Read-only MCP server for AIStatusDashboard status, incidents, metrics, and fallback recommendations.
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Read-only MCP server for turva.dev, an agent-readiness audit and advisory service.
Read-only MCP server for The Quiet Protocol's engines, benchmarks, proof, and business data.
Related MCP Servers
AlicenseAqualityCmaintenanceRead-only MCP server that allows AI assistants to query and monitor KVM Fleet devices, audit logs, and console sessions through the official REST API.5191MIT- AlicenseNot gradedqualityDmaintenancePublic read-only MCP server for FoxTrove Voice, enabling LLMs to query call logs, customer records, assistant stats, and analytics via secure OAuth.MIT
- AlicenseAqualityAmaintenanceA read-only MCP server for querying AI provider administration APIs, providing normalized usage, cost, and dashboard data for OpenAI and Anthropic.419MIT
- AlicenseNot gradedqualityCmaintenanceRead-only MCP server for the PlayMetrics youth-sports club management platform, enabling AI agents to query clubs, teams, players, schedules, registrations, and payments.1MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ngkienmkqn/wealify-kpi-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server