ABS · AI Business System
Server Details
Lean operations knowledge base built on DBS: cited answers, tool cards, plans and diagnoses.
- Status
- Healthy
- Uptime
- 99.4% over 20 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- hypergraphdev/abs-skills
- GitHub Stars
- 2
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 11 tools
Tools mostly target distinct operations: ask (synthesized KB answer), search_knowledge (excerpt search), diagnose (situation assessment/file), and the get_* retrieval tools are differentiated by output and input. Slight overlap remains between ask and diagnose/search_knowledge when the user poses a knowledge question, but descriptions provide enough guidance.
Most names follow a clear verb_noun or verb pattern (create_plan, get_plan, list_courses, search_knowledge) and are readable. However, bare verbs ask and diagnose plus whoami break strict consistency, so the naming is mostly but not fully predictable.
11 tools sit well within the ideal 3–15 range and each appears to serve a distinct function: Q&A, planning, diagnosis, retrieval, listing, and connection checks. There is no obvious redundant bulk or missing core tool.
Core read and assistant workflows are covered: search, retrieve cards/sources, answer, diagnose, create/list/get plans, courses, and identity. Minor gaps exist around plan lifecycle management (no update/delete/submit via MCP) and course interaction, but descriptions suggest external review/submission in ABS, so agents can work around these.
Available Tools
11 toolsaskAsk ABS (answer with sources)BRead-onlyInspect
Ask the ABS assistant. It answers only from the ABS knowledge base and cites sources.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Answer language: zh (Chinese) or en (English) | |
| question | Yes | The question, in Chinese or English |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | No | The model that wrote the answer |
| answer | Yes | The answer, with [Source N] markers |
| sources | Yes | Cited sources: ref, title, url and the basis label of each |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the closed-world, non-mutating profile is largely covered. The description adds that answers are cited, which is genuinely new and useful, but says nothing about behavior when the KB lacks an answer, latency, or limits — appropriate for a 3 given 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two brief sentences, front-loaded with the action and immediately followed by the grounding and citation contract. No filler or redundancy.
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?
An output schema exists, so return values need not be explained, and the annotations cover safety. What is missing is the operational context an agent needs to choose this over search_knowledge, which is the main completeness gap for this 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 description coverage is 100%, with both 'question' and the 'lang' enum fully documented in the schema. The description adds no syntax, length, or language-selection detail beyond that, so the 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?
States a specific verb (ask) and resource (the ABS assistant), plus the grounding scope ('answers only from the ABS knowledge base') and a distinguishing behavior (cites sources). It implicitly separates itself from search_knowledge by being an answering tool rather than a retrieval tool, but it never names or contrasts the sibling explicitly.
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?
There is no when-to-use guidance and no routing against the obvious alternative, search_knowledge. The agent must infer that this tool is for natural-language questions vs. raw passage retrieval, and nothing tells it when this tool would be a poor choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_planMake a planAInspect
Turn one sentence into an execution plan from the ABS knowledge base: phases, steps, schedule, forms and sources, plus what the knowledge base does not cover. Returns the plan code at once with status generating; building takes a minute or two, so call get_plan with that code about every 20 seconds until status is draft. Saved as a draft the user reviews and submits in ABS. Uses the account's credits.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Answer language: zh (Chinese) or en (English) | |
| question | Yes | What to achieve, in one sentence, e.g. 'Run a kaizen week to raise first-pass yield' | |
| start_date | No | Start date, YYYY-MM-DD (default: from the request, or the next working start) |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | Where the user reviews and submits it in ABS |
| code | Yes | Plan code, e.g. DRF-20261015-0001 |
| error | No | Why it failed, when status is aborted |
| status | Yes | generating while ABS is still building it (check again with get_plan), draft when ready, aborted or stalled when it failed, submitted once the user submits it in ABS |
| markdown | No | The plan in Markdown: phases, steps, schedule, forms, sources, coverage and gaps |
| progress | No | Stages done so far, while generating |
| question | Yes | The request the plan was made from |
| no_flow_reason | No | Why no ready-made flow fitted, when that happened |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false); the description adds genuinely new behavior: immediate return with status 'generating', an asynchronous build taking a minute or two, a specific polling interval, and the fact that the output lands as a user-reviewed draft rather than a finished artifact.
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?
Front-loaded with what the tool produces, then the async/polling mechanics, then the side effects (draft state, credit consumption). Sentences are dense and every one carries new information; nothing is restated from the schema or annotations.
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 an async, credit-consuming generation tool, the description covers what an agent needs to act: it returns a code immediately, how long to wait, the polling target and cadence, the terminal status, and that a human submits the result. With an output schema present, it correctly avoids explaining return field shapes.
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 lang, question and start_date are already documented with format, enum and length constraints. The description reinforces that the input should be a single sentence but adds no syntax or constraint detail beyond the schema, so the baseline of 3 is appropriate.
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 opens with a specific verb+resource ('Turn one sentence into an execution plan') and enumerates the plan contents (phases, steps, schedule, forms, sources, coverage gaps), so the agent knows exactly what it produces. It also implicitly separates itself from get_plan by casting that sibling as the polling companion, which is the closest thing to a same-resource sibling.
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?
Usage is well spelled out: call this once, then poll get_plan roughly every 20 seconds until status is draft, and the result is a draft the user submits in ABS. It does not say when to prefer this over other planning-adjacent siblings like ask or diagnose, so it falls short of the explicit when/when-not/alternatives bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diagnoseDiagnose operationsAInspect
Assess a situation from a question, or from a file (spreadsheet, document or shop-floor photo, base64-encoded, up to 5 MB): judgement, actions and sources. Sends the content to ABS and its AI model, so ask the user before sending anything confidential. Uses the account's credits.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Answer language: zh (Chinese) or en (English) | |
| save | No | Keep it in the user's diagnosis records | |
| company | No | Company or scene, e.g. 'Line 1' | |
| filename | No | File name with extension (xlsx, csv, pdf, docx, txt, md or an image) | |
| question | No | What to assess or ask | |
| content_base64 | No | The file, base64-encoded |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | The user's diagnosis records in ABS, when saved |
| answer | Yes | Judgement, actions and the basis for them |
| sources | Yes | Cited sources: ref, title, url and the basis label of each |
| saved_id | No | Diagnosis record id when saved |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing that content is transmitted to an external service and AI model, that it consumes the account's credits, and that payloads are capped at 5 MB. These are non-obvious cost, data-exposure and size constraints that an agent cannot infer from readOnlyHint/destructiveHint.
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, both front-loaded: the capability and its outputs come first, the operational caveats (data egress, credits) second. No filler, no restatement of the name or title.
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?
With an output schema present, return values need no explanation, and the description covers cost, privacy and size for a 6-parameter tool. The one gap is that all 6 parameters are optional, so the description never says what happens or which mode is chosen if neither a question nor a file is given.
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%, so the baseline is 3, but the description adds real value: accepted file families (spreadsheet, document, shop-floor photo), the required base64 encoding, and the 5 MB ceiling. It doesn't clarify how 'question' and 'content_base64' interact when both are supplied.
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?
States a specific verb ('Assess a situation') and the shape of the deliverable ('judgement, actions and sources'), plus both accepted input modes. It does not distinguish itself from the sibling tool 'ask', which an agent could easily confuse with this one.
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?
Conveys the trigger context (a question or a file) and adds a confidentiality obligation ('ask the user before sending anything confidential'), which is real usage guidance. However it gives no when-not guidance and never routes the agent to or away from the close sibling 'ask'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_courseRead a courseBRead-onlyInspect
The lessons of one course: objective, key points, practice task and knowledge check.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Answer language: zh (Chinese) or en (English) | |
| course_id | Yes | Course id from list_courses |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | Course id |
| url | Yes | The course in ABS |
| title | Yes | Course title |
| lessons | Yes | Lessons: title, objective, points, task, check, pages, url |
| summary | No | What the course covers |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description's extra value is naming the returned sub-fields, but an output schema exists, so this usefully hints at content shape without telling the agent anything the structured data does not already carry.
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 compact sentence that front-loads the resource and then lists the payload contents. It is not padded, though as a noun phrase fragment it omits a verb and reads more like a title expansion than a full description.
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 two-parameter read tool with full schema coverage, complete annotations and an output schema, the description is just barely sufficient. The missing piece is routing guidance — when to reach for get_course versus list_courses or get_plan — which no structured field supplies.
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%: course_id is documented as coming from list_courses and lang is documented with its zh/en enum. The description adds nothing about either parameter, which is the expected baseline 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource (one course) and enumerates its content — lessons with objective, key points, practice task and knowledge check — so an agent knows this returns a single course's instructional payload. It does not explicitly contrast with get_plan or get_source_page, but the resource noun is specific enough to distinguish it from the list_courses sibling.
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 when-to-use statement, no prerequisites, and no mention of alternatives such as list_courses (which the course_id schema description implies as a prior step). Usage must be inferred entirely from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_planRead a planARead-onlyInspect
One of this account's plans by its code: its progress while generating, the whole plan in Markdown once ready (status draft).
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Plan code from create_plan or list_plans |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | Where the user reviews and submits it in ABS |
| code | Yes | Plan code, e.g. DRF-20261015-0001 |
| error | No | Why it failed, when status is aborted |
| status | Yes | generating while ABS is still building it (check again with get_plan), draft when ready, aborted or stalled when it failed, submitted once the user submits it in ABS |
| markdown | No | The plan in Markdown: phases, steps, schedule, forms, sources, coverage and gaps |
| progress | No | Stages done so far, while generating |
| question | Yes | The request the plan was made from |
| no_flow_reason | No | Why no ready-made flow fitted, when that happened |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. Beyond that, the description adds genuine behavioral value by disclosing the two lifecycle states returned ('progress while generating' versus 'the whole plan in Markdown once ready'), which the annotations do not convey.
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 front-loaded sentence that identifies the resource first and then the return states. It is efficient, though the parenthetical '(status draft)' is cryptic and slightly muddies an otherwise clean line.
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 one-parameter read tool with an output schema, the description covers the essentials: it names the resource, the identifier, and the two return states. Error or not-found behavior is not addressed, but with an output schema present and only one required param, that is a minor omission.
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% for the single 'code' parameter, and the schema already tells the agent where the code comes from (create_plan or list_plans). The description's 'by its code' adds no syntax, format, or validation detail beyond the schema, so the 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 states a specific verb and resource (fetch one plan by its code) and even characterizes the payload at each stage. It implicitly contrasts with list_plans by saying 'One of this account's plans by its code', though it never names a sibling explicitly.
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?
Usage is only implied: an agent can infer this is for retrieving a single plan once you have a code, versus list_plans for enumeration. There is no explicit when-to-use, when-not-to-use, or prerequisite guidance, so the agent must infer the routing itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_source_pageFetch an original pageARead-onlyInspect
One page of an original source document as an image, to check a rule or number. Use the pdf name and page listed by get_tool_card. Single pages only.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Source file name, as listed in a card's pages | ||
| page | Yes | Page number in that file |
Output Schema
| Name | Required | Description |
|---|---|---|
| Yes | Source file | |
| page | Yes | Page number |
| mimeType | Yes | Image type of the page, e.g. image/png |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so with the lower bar the description still adds value by disclosing the return medium (an image) and the single-page constraint. It stops short of discussing auth or limits, which is acceptable given the rich annotations.
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?
Three short sentences, front-loaded with what is returned, followed by input sourcing and a constraint. Every sentence carries weight, though the phrasing is slightly clipped.
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?
An output schema exists, so return format need not be re-explained, and annotations cover the safety profile. The description covers input sourcing, medium, and scope constraint, leaving little an agent needs missing.
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 schema already documents both parameters; the description only reinforces that the pdf name and page come from a card listing. This is the correct baseline 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource and scope: one page of an original source document returned as an image, framed as 'to check a rule or number.' It is clearly distinguishable from the siblings, though it does not directly name a contrasting tool.
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?
'Use the pdf name and page listed by get_tool_card' supplies a concrete routing precondition, and 'to check a rule or number' gives the motivating context. It adds the 'Single pages only' constraint, but names no explicit when-not or alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tool_cardRead a tool cardBRead-onlyInspect
The full text of one tool card (definition, steps, decision rules and formulas), its sources, rule parameters with their basis, and the original pages that can be checked.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Answer language: zh (Chinese) or en (English) | |
| card_id | Yes | Card id, e.g. smed, 5s, psp |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | Card id |
| url | Yes | The card in ABS |
| name | Yes | Card name |
| pages | No | Original pages that can be fetched with get_source_page |
| rules | No | Rule parameters: key, value, basis (status) and note |
| sources | No | Original documents: file, pages, note |
| markdown | Yes | The whole card in Markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds only a content inventory, which largely overlaps the output schema; it discloses nothing about payload size, caching, or access requirements. Minimum viable given the 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. Slightly list-heavy, but every clause names real returned content rather than padding.
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 two-parameter read tool with an output schema, the description covers what is needed to call it correctly. Its return-value enumeration is somewhat redundant with the output schema, but nothing essential is missing.
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%: card_id is documented with examples (smed, 5s, psp) and lang carries an enum description. The description adds no parameter meaning beyond the schema, so the baseline of 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 identifies the resource precisely ('the full text of one tool card') and enumerates its parts (definition, steps, decision rules, formulas, sources, rule parameters, original pages). It is clear what comes back, though it never states an action verb and never distinguishes itself from siblings like get_source_page or get_course.
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?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as get_source_page, even though that sibling returns 'original pages' that this tool also surfaces. The agent must infer the routing on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_coursesList ABS coursesBRead-onlyInspect
The ABS course catalogue with this user's progress.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Answer language: zh (Chinese) or en (English) |
Output Schema
| Name | Required | Description |
|---|---|---|
| courses | Yes | Courses: id, title, summary, lessons, progress, url |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description contributes one useful behavioral fact beyond that: results are personalized with the calling user's progress. It says nothing about ordering, filtering, or whether the catalogue is paginated, so it is only a modest addition.
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 ten-word sentence with zero filler, and the identifying scope ('this user's progress') is placed where it is read first. It is efficient, though it borders on under-specified rather than tightly informative.
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 zero-required-parameter read tool with an output schema and full annotation coverage, the description supplies the two things structured data cannot: the resource identity and the personalization of results. Usage routing is the only real gap, and that is already penalized under usage guidelines.
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% and the single 'lang' parameter has a fully documented enum, so the schema carries the burden. The description adds no information about language selection or defaults, which is the correct baseline when the schema is self-explanatory.
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 names a specific resource (the ABS course catalogue) and adds scope detail (it includes this user's progress), which distinguishes it from the sibling get_course that fetches a single course. It is a noun phrase rather than a verb+resource statement, so the 'list all' action is only implied by the name, but the intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as get_course for a single course or list_plans for plans. The agent must infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_plansList my plansBRead-onlyInspect
Plans this account created, newest first.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many plans to list |
Output Schema
| Name | Required | Description |
|---|---|---|
| plans | Yes | This account's plans, newest first: code, status, question, url |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds one genuine behavioral trait beyond that — results are ordered newest first and scoped to the caller's account — but says nothing about pagination or how to page beyond the limit cap.
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 fragment with zero wasted words, and the scoping constraint is front-loaded. It borders on under-specification rather than being genuinely concise, which keeps it from a 5.
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?
An output schema exists, so return values need not be explained, and annotations carry the safety profile. For a single-parameter read-only list tool the description is nearly sufficient, with only pagination behavior left implicit.
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 the single 'limit' parameter fully documented including its 1-50 range, so the schema does the heavy lifting. The description adds no additional meaning about the parameter, which is the expected baseline of 3.
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 identifies the resource (plans) and the exact scope (this account created), plus the sort order, so an agent knows this returns the caller's own plans rather than a global list. It never names the verb 'list' explicitly and does nothing to distinguish itself from the sibling get_plan, so it falls short of full sibling differentiation.
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?
There is no statement of when to use this tool versus get_plan, list_courses, or search_knowledge, and no prerequisites or exclusions. The agent must infer from the name alone that this is the enumerate-everything variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_knowledgeSearch the ABS knowledge baseARead-onlyInspect
Search tool cards, terms, forms, courses, guides and rules. Returns short excerpts with links and the basis of each rule; open a card with get_tool_card for the full text.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Answer language: zh (Chinese) or en (English) | |
| limit | No | How many results to return | |
| query | Yes | What to look for, in Chinese or English |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | The search as received |
| results | Yes | Matches: kind, id, title, url, a short excerpt and the basis label |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe read-only, closed-world profile, so the bar is lower. The description adds genuine behavioral value beyond them by disclosing that results are short excerpts with links and the basis of each rule, not full documents — a trait that shapes how the agent should follow up.
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 compact sentences with zero filler; the capability statement is front-loaded and the follow-up routing is appended where it is useful. Every clause earns its place.
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?
With an output schema present the description needn't detail return values, and it sensibly summarizes the response shape anyway. It is complete for a search tool, though it could note the closed-world scope limitation implied by openWorldHint=false.
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% and all three parameters (query, lang, limit) are documented in the schema, so the description adds no parameter meaning beyond it. 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Search) and resource scope, enumerating the content types it covers (tool cards, terms, forms, courses, guides, rules). It also explicitly distinguishes itself from get_tool_card, which returns full text, so an agent can tell the two apart without opening a schema.
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?
It routes the agent to the sibling get_tool_card when full text is needed, which is clear context-specific guidance. It lacks explicit when-not conditions (e.g. when to prefer ask or diagnose over raw search), so it falls short of full when/when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whoamiWho am IARead-onlyInspect
Check the connection: which ABS account this is, which site, and what it may do.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| can | Yes | What this account may do: search, ask, learn, plan, diagnose |
| site | Yes | The ABS site |
| user | Yes | username, display_name, role, expires_at |
| token | Yes | Which token or app connection this is, and its expiry |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered without the description's help. The description adds some value by naming what is revealed (account, site, permissions), which is a side-effect-free introspection trait, but since an output schema exists this is largely redundant and no auth or rate-limit behavior is disclosed.
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 compact sentence that front-loads the action ('Check the connection') and then enumerates the returned facts. There is no filler and nothing to trim.
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 zero-parameter, read-only introspection tool with an output schema already defined, the description is sufficient: it tells the agent what the call returns and implies no arguments are needed. The only shortfall is the absence of any hint about when this is preferable to `diagnose`.
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 tool takes zero parameters, so the baseline of 4 applies. The description correctly implies a no-argument call by framing it as a pure connection check, adding no misleading parameter expectations.
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?
States a specific action (check the connection) and enumerates what the result reveals: the ABS account, the site, and its permissions. An agent can tell this is an identity/connection-introspection tool. It does not, however, explicitly distinguish itself from the sibling `diagnose` or explain the relationship between the two.
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?
Usage is implied by the phrase 'Check the connection', which suggests calling it to verify identity and connection state before other operations. There is no explicit when-to-use guidance, no statement of prerequisites, and no routing away from siblings like `diagnose` that could also cover connectivity questions.
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.
2 tool updates
- Changed
create_plan3 fields changed- added
Output schema / properties / errorAdded value: +{ + "description": "Why it failed, when status is aborted", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / progressAdded value: +{ + "description": "Stages done so far, while generating", + "items": { + "type": "string" + }, + "type": "array" +} - changed
Output schema / properties / status / descriptionPrevious value: -"draft until the user submits it in ABS"New value: +"generating while ABS is still building it (check again with get_plan), draft when ready, aborted or stalled when it failed, submitted once the user submits it in ABS"
- Changed
get_plan3 fields changed- added
Output schema / properties / errorAdded value: +{ + "description": "Why it failed, when status is aborted", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / progressAdded value: +{ + "description": "Stages done so far, while generating", + "items": { + "type": "string" + }, + "type": "array" +} - changed
Output schema / properties / status / descriptionPrevious value: -"draft until the user submits it in ABS"New value: +"generating while ABS is still building it (check again with get_plan), draft when ready, aborted or stalled when it failed, submitted once the user submits it in ABS"
11 tool updates
- First observed
ask - First observed
create_plan - First observed
diagnose - First observed
get_course - First observed
get_plan - First observed
get_source_page - First observed
get_tool_card - First observed
list_courses - First observed
list_plans - First observed
search_knowledge - First observed
whoami
Related MCP Connectors
Collaborative engineering KB for a mile-high city. 9 tools, 8 domains, 32 entries.
Shared business knowledge, tools and skills for AI agents, with citations and approval controls.
Securely query and analyze business data, dashboards, projections, alerts, and knowledge.
Expert knowledge base for sales, negotiation, strategy, operations, and risk.
Related MCP Servers
- AlicenseAqualityBmaintenanceSearch 1,500+ pre-verified, cited knowledge units across 16 domains. 6 tools: query, batch query, get unit, list domains, suggest topics, report issues. Free, no API key required.6237 npm1MIT
- AlicenseNot gradedqualityDmaintenanceProvides AI assistants with structured access to an organization's engineering standards, practices, and processes through searchable knowledge base with CRUD operations and multi-dimensional organization.1MIT
- FlicenseBqualityDmaintenanceProvides semantic search and data retrieval capabilities over a knowledge base with multiple tools including keyword search, category filtering, and ID-based lookup with in-memory caching.5-
- AlicenseCqualityCmaintenanceA persistent, cross-referenced engineering knowledge base for AI agents, with MCP tools for wiki knowledge, agent runtime, and repository context. Preserves sources and citations, surfaces knowledge-quality issues, and PIN-gates private scopes and write/admin operations.373MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.