@vaibot/mcp-server
OfficialServer Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool has a distinct role in the governance workflow: decide pre-checks actions, finalize reports outcomes, receipts lists history, and approve handles pending decisions. There is no overlap or ambiguity between them.
Naming Consistency4/5All tools share the 'vaibot_' prefix and mostly use verb-based naming (decide, finalize, approve). 'receipts' is a noun rather than a verb, deviating slightly from the action-oriented pattern, but the prefix and clear purpose keep it readable.
Tool Count5/5Four tools provide a well-scoped governance surface: pre-check, post-report, list, and approve. This is neither too thin nor excessive for the stated purpose.
Completeness5/5The workflow is fully covered: initiate with decide, execute, finalize with the run_id, review via receipts, and handle pending approvals with approve. There are no obvious missing operations for the governance domain.
Average 4.2/5 across 4 of 4 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It adds the context of closing the governance receipt, which is a meaningful side effect. But it omits details on idempotency, auth requirements, or error behavior, leaving some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with purpose and usage, with zero filler or repetition. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with clear schema coverage, the description is complete enough for an agent to understand when and why to call it. It notes the governance receipt closure and the tie-in to vaibot_decide. Minor gaps exist around edge cases (e.g., finalizing after non-allow outcomes), but overall it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of the 5 parameters, so the structured fields already provide meaning. The description reinforces that run_id comes from vaibot_decide but does not add substantial new semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reports the actual outcome of an action after execution, with a specific verb ('report') and resource ('outcome of an action'). It also mentions closing the governance receipt, which distinguishes it from siblings like vaibot_decide and vaibot_receipts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly instructs to always call this after a vaibot_decide allow decision to close the governance receipt, providing clear temporal and contextual guidance. However, it does not discuss when not to use or mention alternatives, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It conveys that the tool is a read-only listing operation and shows the kinds of decisions it reports (allow, deny, pending). However, it does not disclose details like whether the list is ordered, what 'recent' means, or whether there are any rate limits or auth requirements. While the 'list' verb implies non-destructiveness, it is not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loading the main action ('List recent governance receipts') and then explaining the use case. It contains no redundant words or irrelevant details, making it highly efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is straightforward: listing receipts with optional filters and no output schema. The description explains what the receipts contain (allowed/denied/pending actions) and the scope (current agent), which is sufficient for most use cases. It could be more complete by detailing the response structure, but given the simple nature of the tool and the well-documented filters, it is adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage for all five parameters, each with clear descriptions and enums where applicable. The tool description does not add parameter-specific semantics beyond what the schema provides, but the schema itself is sufficient. The description's mention of 'recent' and 'governance' provides context that aligns with the parameters, but the heavy lifting is done by the schema, earning the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists governance receipts for the current agent, using a specific verb ('List') and resource ('governance receipts'). It also specifies the purpose (reviewing allowed, denied, or pending actions), which distinguishes it from the sibling tools that perform actions (vaibot_decide, vaibot_finalize, vaibot_approve) rather than read receipts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use to review what actions were allowed, denied, or are pending approval,' providing clear context for when to use the tool. It does not explicitly mention when not to use it or name alternatives, but the sibling tool names and the read-only nature of receipts make the usage context clear and unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the ordering (before risky actions) and the run_id return. However, it does not state whether the call itself is side-effect-free, whether it blocks, or any authentication or rate-limit implications. It adds some context but remains incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero waste. The first sentence states purpose, the second explains when to call and what to expect (run_id). Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the critical workflow (call before risky actions, use run_id with finalize) and explains the decision outcomes. However, with no output schema, it does not fully describe the response structure beyond run_id, leaving some ambiguity about how the decision is returned. Reasonably complete but with a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 8 parameters. The description mentions risky action types (exec, file writes, network calls) but does not add specific parameter-level details beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Ask VAIBot whether an agent action should be allowed, requires approval, or is denied.' It also distinguishes itself from siblings by specifying a return value (run_id) for use with vaibot_finalize.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage guidance is provided: 'Call this BEFORE executing any tool that could be risky (exec, file writes, network calls).' This indicates when to use it and implicitly when not to (for non-risky actions). References to vaibot_finalize clarify the post-execution flow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It reveals a critical irreversible consequence: 'deny permanently blocks the action.' This is exactly the kind of behavioral trait agents need to know. It could be more detailed about permissions or error handling, but the core behavior is well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the primary purpose, and every word earns its place. The second sentence elaborates on parameters and behavioral effects without unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool with no output schema, the description covers purpose, parameter sourcing, and consequences. It could explicitly state prerequisites like governance admin permission or that the action must be pending, but these are largely implied. Overall, it is complete enough for an agent to invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents both parameters (100% coverage), but the description adds meaningful context: it explains what the action enum value does ('allows the blocked action to proceed' vs 'permanently blocks it'). It also reinforces the provenance of content_hash. This goes beyond the schema's basic descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: approve or deny a pending governance action. This specific verb+resource combination distinguishes it from sibling tools like vaibot_decide, vaibot_receipts, and vaibot_finalize, which handle other parts of the workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context on how to use the tool: source content_hash from vaibot_decide or vaibot_receipts, and explains the two possible actions. However, it doesn't explicitly discuss when not to use this tool or how it relates to vaibot_finalize, so it stops short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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/vaibot-io/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server