Booboo
Server Quality Checklist
Latest release: v0.4.1
- Disambiguation4/5
Most tools have clearly distinct purposes, but booboo_stats and booboo_count both provide counting functionality. Stats gives whole-graph layer counts, while count allows filtered and grouped aggregations, reducing ambiguity but still potentially confusing at first glance.
Naming Consistency3/5All tools use the consistent 'booboo_' prefix, but the suffixes mix nouns (stats, node, neighbors, path) and verbs (search, count, remember, report). This inconsistency prevents a predictable verb_noun pattern, though the names remain readable and understandable.
Tool Count5/5With 8 tools covering graph statistics, search, fetching, aggregation, neighborhood traversal, pathfinding, memory persistence, and reporting, the count is well-scoped for the server's purpose without being excessive or insufficient.
Completeness4/5The tool surface covers the primary graph query and persistence workflows well, including search, single-node retrieval, neighborhood analysis, pathfinding, and durable writes for memories and reports. Minor gaps exist, such as no explicit update/delete for persisted items and no way to list all nodes without a search query, but these are workable within the intended domain.
Average 3.8/5 across 8 of 8 tools scored. Lowest: 2.9/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 210 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is failing
This repository is licensed under MIT License.
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.
This server has been verified by its author.
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
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states it fetches a node with all fields but does not explain error handling (e.g., missing id), rate limits, authentication needs, or the exact return structure. This is insufficient for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one sentence) and front-loaded with the main action. However, it leaves out important usage and behavioral details. While concise, it could be restructured to pack more information without adding length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a single parameter, no output schema, and no annotations, the description should cover the return value, error conditions, and any side effects. It only states 'all fields + data', which is vague. The description is incomplete for a simple fetch tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description should provide meaning for the 'id' parameter. It adds 'exact' indicating precision required, but does not explain the format, constraints, or typical examples. The value added is minimal.
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 verb 'Fetch', the resource 'a single node', and the condition 'by its exact id'. It implies the return of all fields and data, and distinguishes it from siblings like booboo_neighbors or booboo_search which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the siblings. It does not mention alternatives, prerequisites, or situations where this tool is preferred. The agent is left to infer without explicit instructions.
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 provided, so description carries full burden. It mentions returning nodes and links up to depth hops but doesn't disclose whether starting node is included, direction of links, or performance implications of large depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no unnecessary words. However, the sentence could be more structured to include parameter roles or usage hints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks details on return format, parameter constraints, and behavior for edge cases. No output schema, so description should compensate but is insufficient for a 3-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and description only explains 'depth' conceptually but not 'id' or 'limit'. 'limit' parameter is not mentioned at all, leaving ambiguity about its role.
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 retrieves the neighborhood around a node, including connected nodes and links up to a specified depth. It distinguishes from siblings like 'booboo_node' (single node) and 'booboo_path' (path finding).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 (e.g., booboo_search, booboo_node). Lacks explicit conditions or exclusions for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavioral traits. It mentions returning null for unreachable paths, which is a key behavior, but lacks details on computational cost, error handling, or how maxHops affects results. Minimal disclosure beyond the core behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with 12 words, no waste. Efficiently communicates the core purpose. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of path-finding in a graph, the description is too sparse. It does not specify the return format (e.g., list of node ids), how maxHops is applied, or what constitutes a path. No output schema, so more detail is needed. Sibling tools provide some context but not enough for complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%; only maxHops has a description. The tool description mentions 'between two node ids' but does not explicitly link to the required 'from' and 'to' parameters or clarify their format. Description adds little meaning beyond the schema's minimal information.
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 computes the shortest path between two node ids, specifying it returns null if unreachable. This is a specific verb+resource combination and distinguishes from sibling tools like booboo_neighbors and booboo_node.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description does not mention that booboo_neighbors is for direct neighbors or booboo_node for single node details. Usage context is implied by the name but not stated.
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 must disclose behavior. It states that reports are durable and immediately queryable, and that they land on the Reports timeline, indicating persistence. However, it does not disclose whether calls are append-only, any authentication requirements, rate limits, or the return value, leaving some behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences, with the main purpose front-loaded in the first sentence. It uses a dash to define the report and includes only necessary details about durability, queryability, and timing.
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?
Given the simple interface (3 parameters, no output schema), the description covers the tool's role, placement, and call timing. It could mention the return value or any response, but it doesn't need to for this simple tool. The high schema coverage further reduces the need for parameter explanation.
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 all parameters are documented in the schema. The description adds a bit of context by linking the report content to 'what an agent just closed,' but does not add significant meaning beyond the schema, so baseline 3 applies.
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 verb 'File a report' and defines it as a plain-English summary of closed work, landing on the panel's Reports timeline. It distinguishes itself from siblings like booboo_remember and booboo_stats by specifying the timeline and session-closing context.
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 'Call this as the last act of a session,' providing a clear when-to-use trigger. However, it does not name alternatives or exclusions, though the session-last context implicitly separates it from other tools.
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 full burden. It discloses the ranking order (exact > prefix > substring), which is useful, but lacks information about return format, pagination, or potential side effects.
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-loaded with the primary action. Every sentence adds value without redundancy.
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?
Given the absence of output schema and annotations, the description covers the tool's core function, search ranking, and usage priority. It could mention whether results are limited or paginated, but overall it is fairly complete for a search tool.
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 50% (only 'query' has a description, 'limit' does not). The description adds context about ranking but does not detail the 'limit' parameter. It provides some value beyond the schema but not full compensation.
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 it searches nodes by label or id, with a ranking order. This differentiates it from sibling tools like booboo_neighbors or booboo_node, which serve different purposes.
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 advises 'Use this first to find a node's id,' providing clear usage context. It does not specify when not to use it, but the guidance is sufficient for an agent.
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?
The description discloses that output is broken down by layer, but with no annotations provided, it lacks details such as whether the operation is read-only, what happens if the graph is empty, or any rate limits. The description carries the full burden but is not exhaustive.
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 a single sentence that is concise, front-loaded, and contains no superfluous words. Every word 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?
Given that the tool has no parameters and no output schema, the description is fairly complete. It tells the user exactly what the tool returns: node/link counts per layer. A minor addition would be whether totals are included, but it is adequate.
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 tool has zero parameters and schema coverage is 100% (vacuously). The description adds no parameter information, which is acceptable because there are no parameters to document. Baseline for 0 parameters is 4.
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 that the tool provides node and link counts for the entire graph, broken down by layer. This specific verb+resource combination effectively distinguishes it from siblings like booboo_neighbors, booboo_node, booboo_path, and booboo_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when overall graph statistics are needed, but it does not explicitly state when to use this tool versus alternatives or provide any exclusions.
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?
No annotations are provided, so the description carries the full burden. It discloses key behavioral traits: writes to an append-only journal, is immediately queryable, and survives rebuilds. It also gives style guidance for embedding node links. These go beyond a simple 'persist' and provide meaningful behavioral context, though it does not cover potential duplicates or error conditions.
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 three sentences, all of which earn their place: the first states the core purpose, the second explains the storage and durability model, and the third gives a content style tip. It is front-loaded with the primary objective and contains no redundancy or 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?
Given that this is a write tool with 5 parameters and no output schema or annotations, the description covers the essential aspects: purpose, durability, queryability, and one content guideline. It does not detail relationships between bucket/agent/kind, but those are described in the schema. Overall, it is complete enough for an agent to use the tool correctly.
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 coverage is 100%, so the baseline is 3. The description adds minor value by suggesting `[[node-id]]` link formatting within the text, but the schema already provides clear descriptions for all parameters (kind, text, agent, title, bucket). The description does not substantially enhance parameter understanding 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 opens with a specific verb and resource: 'Persist a memory to the brain' and elaborates with 'durable, atomic fact/decision worth recalling later.' It clearly distinguishes this write tool from the sibling read/query tools by emphasizing storage and persistence rather than retrieval or analysis.
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?
Clear context is provided: this tool is for storing a single, durable fact that should be queryable later. The mention of 'append-only journal' and 'survives every rebuild' implies long-term persistence. However, it does not explicitly state alternatives or when-not-to-use, though the sibling tool names make the contrast obvious.
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?
No annotations are present, so the description carries the full burden. It clearly explains the aggregate-filter-group-count behavior and gives concrete examples showing `where`, `since`, `groupBy` and `type` usage. It does not explicitly state read-only/reversibility, but the 'count' semantics make side effects unlikely.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core behavior and includes two concrete JSON examples that occupy most of the text. Each sentence earns its place, though the inline examples make it a bit dense; still clearly organized.
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 9-parameter tool with no output schema and no annotations, the description provides enough context for the primary use cases and even shows full request examples. It does not describe the return shape or all optional parameters, but the purpose and common syntax are well covered.
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?
Schema description coverage is 67%, and the description adds value by demonstrating how parameters combine in real examples (e.g., `where` with dotted data paths, `since` with ISO dates, `groupBy` with data.subject). It also gives meaning to the otherwise undocumented `type` parameter through the example `type:'observation'`, though `layer` and `cluster` remain unexplained.
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 uses a specific verb ('Aggregate: filter the graph, then group and count') and explicitly contrasts with booboo_search: 'search ranks, this counts.' This makes the tool's function and scope clear and distinguishes it from sibling tools.
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?
It provides explicit usage criteria: 'Use for how many, top N, most/least and any date-window question' and names the alternative ('search ranks, this counts'). This is direct when-to-use guidance with a clear exclusion.
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/jessymariau/booboo'
If you have feedback or need assistance with the MCP directory API, please join our Discord server