Skip to main content
Glama
mfbaig35r

procurement-graph

by mfbaig35r

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.4.0

  • Disambiguation5/5

    Each tool targets a distinct concept or action: ordering, feasibility, analysis details, artifact examples, deliverables, dependencies, etc. The descriptions clearly differentiate them, and there is no overlap in purpose.

    Naming Consistency5/5

    All tool names follow a consistent snake_case verb_noun pattern (e.g., build_order, list_analyses, get_dependencies). The exceptions like feasible_now and data_gap_analysis still align with adjective_noun, maintaining overall consistency.

    Tool Count5/5

    The 16 tools cover the full range of operations expected for a procurement knowledge graph: listing, getting details, dependency analysis, feasibility checks, and phase browsing. Neither too few nor too many for the domain.

    Completeness5/5

    The tool surface provides comprehensive coverage for a read-only catalog: listing all node types, fetching full specs, exploring dependencies both upstream and downstream, ordering builds, and assessing feasibility. No obvious gaps for the stated purpose.

  • Average 3.8/5 across 16 of 16 tools scored. Lowest: 2.7/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 6 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
  • This repository is licensed under Apache 2.0.

  • 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.json to 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

  • Behavior2/5

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

    With no annotations, the description bears full responsibility for behavioral disclosure. It only states the basic purpose and defines deliverables; it fails to mention important traits like read-only nature, pagination, authentication requirements, or whether results are filtered by default. This is insufficient for an agent to fully understand the tool's behavior.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

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

    The description consists of two concise sentences. The first sentence states the core purpose, and the second adds valuable context about deliverables. It is front-loaded and efficient, though a more structured format (e.g., listing constraints or parameters) could improve usability.

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

    Completeness3/5

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

    Given the tool's low parameter count and existence of an output schema, the description provides a minimal but acceptable overview. However, it lacks usage guidelines and parameter semantics, which are necessary for confident use. The description is adequate for an agent familiar with the domain but incomplete for a new agent.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description provides no explanation or examples for the two parameters (primary_phase and layer). The agent cannot infer what these parameters control or their formats, making the tool difficult to invoke correctly.

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

    Purpose4/5

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

    The description clearly states the tool lists deliverables from a phase-by-phase taxonomy (Layer 3-5 nodes) and defines deliverables as formatted artifacts. This is specific and informative, but it does not differentiate from sibling tools like list_analyses or get_deliverable.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. The description omits any conditions, prerequisites, or hints about when to prefer list_deliverables over related tools such as get_deliverable or list_analyses.

    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 are provided, so the description carries the full burden. It mentions 'transitive closure' and the concept of staleness, but does not disclose details such as whether the operation is read-only, error handling for missing or invalid slugs, or performance considerations. The behavioral description is minimal.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

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

    The description is extremely concise, consisting of two sentences and a usage example. Every word adds value, with no redundancy or filler.

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

    Completeness3/5

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

    Given the tool's complexity (transitive closure) and the presence of an output schema (which makes return value documentation unnecessary), the description is moderately complete. However, it lacks details about the input parameter and does not differentiate from similar sibling tools, leaving gaps in completeness.

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

    Parameters1/5

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

    The schema has 0% description coverage for the single parameter 'slug', and the description does not mention 'slug' at all. It provides no context on what the parameter represents or how it should be used, failing to add meaning beyond the schema.

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

    Purpose4/5

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

    The description clearly explains the tool's purpose as 'transitive closure of downstream nodes' and illustrates with a concrete example. It is specific about what it does, but could more explicitly state that it returns a list of affected nodes.

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

    Usage Guidelines3/5

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

    The description provides an example use case ('if I restate the spend cube, what reviews do I need to redo?') that implies impact analysis, but it does not explicitly specify when to use this tool versus alternatives like 'get_dependencies' or 'get_dependents'. Usage context is implied but not fully articulated.

    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 cover behavioral aspects. It describes the returned content but does not disclose side effects, authentication needs, rate limits, or explicitly state it is read-only. The tool name suggests reading, but not guaranteed.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

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

    Single sentence listing many aspects, efficient but run‑on. Could be structured for better readability, but no wasted words.

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

    Completeness3/5

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

    Has output schema, so description need not repeat return values. However, given the complexity and no parameter semantics, the description is adequate but not fully complete—missing error conditions or prerequisite info.

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

    Parameters1/5

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

    Schema description coverage is 0% and the description does not explain the 'slug' parameter at all. The parameter's purpose, format, or source is not mentioned, leaving the agent without guidance.

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

    Purpose5/5

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

    Description uses specific verb 'get' and resource 'analysis', and enumerates the content (source firms, inputs, feasibility, method, outputs, etc.), clearly distinguishing from sibling tools like 'list_analyses' which returns a list.

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

    Usage Guidelines3/5

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

    No explicit when-to-use or alternatives mentioned. It implies use when needing full details of a single analysis, but does not differentiate from tools like 'get_dependencies' or 'get_phase' that return subsets.

    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, and description only lists what the tool returns without disclosing behavioral aspects such as idempotency, read-only nature, or error handling. Relies on output schema but does not explain behavior.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

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

    Description is a single sentence that clearly front-loads the purpose ('Full spec for a single deliverable') and lists contents concisely, though separating into two sentences could improve readability.

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

    Completeness3/5

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

    The description tells what the tool returns but lacks context about the required slug parameter and does not differentiate usage from siblings. Output schema exists, but parameter info is absent.

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

    Parameters1/5

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

    The single parameter 'slug' has no description in schema or tool description. The description does not clarify its meaning beyond what the name implies, providing no added value for parameter understanding.

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

    Purpose5/5

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

    Description clearly states the tool retrieves the full specification for a single deliverable, listing specific components (purpose, audience, inputs, etc.), which distinguishes it from sibling tools like list_deliverables or get_dependencies.

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

    Usage Guidelines3/5

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

    Description implies usage for obtaining comprehensive details about one deliverable, but does not explicitly state when to use this vs. alternatives like list_deliverables for overviews or get_dependencies for graph dependencies.

    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 describes the content of the output (purpose, activities, etc.) but does not disclose error behavior, performance, or other operational details.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

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

    The description is a single sentence covering the main elements, but it could be more front-loaded by explicitly naming the parameter. Efficient but slightly vague.

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

    Completeness3/5

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

    Given the output schema exists, the return values are documented. However, the description lacks explicit parameter guidance and behavioral details. Adequate for a simple get tool but leaves gaps.

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

    Parameters2/5

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

    The input schema has a single integer parameter 'number' with 0% schema description coverage. The description does not explain that 'number' refers to the phase identifier. The meaning is only implicitly linked through context.

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

    Purpose5/5

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

    The description clearly states it returns a 'full spec for a single phase' listing specific aspects like purpose, activities, source firms, and layer focus. This distinguishes it from 'list_phases' and other 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 Guidelines3/5

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

    The description implies use for a specific phase, but does not explicitly state when to use this over alternatives like 'list_phases' for browsing phases or 'get_deliverable' for phase-related items. No when-not or exclusive context provided.

    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 are provided, so the description carries full burden. It does not disclose whether the tool is read-only, safe to call repeatedly, or any side effects. Key behavioral traits like pagination or data freshness are missing.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

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

    Two sentences with zero wasted words. The second sentence provides high-value guidance. Front-loaded and efficient.

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

    Completeness4/5

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

    Given the output schema exists, return values are covered. The description covers filtering and core purpose. Minor omissions like pagination support are not critical for basic use.

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

    Parameters5/5

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

    With 0% schema description coverage, the description fully compensates, explaining ranges for primary_phase (0-6), layer (1-5), and feasibility values with practical context. This adds significant meaning beyond parameter names.

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

    Purpose4/5

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

    The description clearly states the tool lists analyses from the procurement analytics catalog (Layer 2 nodes). It identifies the resource and action, but does not explicitly differentiate from sibling tools like 'feasible_now' or 'list_deliverables'.

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

    Usage Guidelines3/5

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

    The description advises that feasibility is the most useful filter, providing implicit guidance on when to apply it. However, it does not explicitly state when to use this tool versus alternatives or specify exclusions.

    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?

    With no annotations, the description carries full burden but only explains core functionality (input availability check). It does not disclose whether this is a read-only operation, potential side effects, performance implications, or any prerequisites beyond having a dataset. This leaves the agent guessing about safety and statefulness.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

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

    The description is remarkably concise: three sentences that assert purpose, provide a value-focused question, and differentiate from alternatives. Every sentence adds unique value without redundancy.

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

    Completeness3/5

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

    The description explains what the tool does but omits details about the output structure (despite an existing output schema) and uses domain jargon ('nodes', 'PO-line', 'entity-profile') without clarification. For a tool with no parameters and a rich sibling set, some additional context on output format would improve completeness.

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

    Parameters4/5

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

    The tool has zero parameters, so the description cannot add information beyond the schema. Per guidelines, a baseline of 4 is appropriate when no parameters exist, as the description is not penalized for lacking parameter details.

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

    Purpose5/5

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

    The description clearly states the tool identifies analyses that can be run immediately because all required inputs are available. It directly answers the question 'what analyses can I run today without acquiring new data?' and distinguishes itself from sibling tools like list_analyses by emphasizing feasibility filtering.

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

    Usage Guidelines4/5

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

    The description contrasts this tool with typical analysis listing tools, implying it should be used when the goal is to find runnable analyses. However, it does not explicitly state when not to use it or provide alternative tools for different scenarios, missing some nuance.

    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 bears full responsibility for disclosure. It indicates the tool is a read operation (fetches an example) and describes the content of the output. However, it does not discuss potential side effects, permissions, or rate limits. The description adds some behavioral context but could be more explicit.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

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

    The description is two sentences, front-loaded with the action and resource. Every sentence provides essential information without redundancy. It is highly concise and well-structured.

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

    Completeness4/5

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

    Given the tool's simplicity (one parameter, output schema present), the description adequately explains the output (a filled example with concrete data). It covers the main use case. However, it could mention that the tool returns a single example, not a list, and provide a bit more detail on how the slug relates to other tools.

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

    Parameters3/5

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

    Schema description coverage is 0%, so the description must add meaning for the single parameter 'slug'. It describes it as 'given a parent node slug', which provides context but does not explain what a 'slug' is or how to obtain it. For a single required parameter, the description adds moderate value but not full clarity.

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

    Purpose5/5

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

    The description clearly states the action ('Fetch') and the resource ('filled-in example for a given parent node slug'). It specifies what the example contains (concrete numbers, supplier names, findings) and its use as a reference. Differentiates from sibling 'list_artifact_examples' by focusing on a single specific example.

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

    Usage Guidelines4/5

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

    The description suggests the tool is 'useful as a few-shot reference', indicating when to use it. However, it does not explicitly state when not to use it or mention alternatives like 'list_artifact_examples' for browsing. The context is clear but lacking exclusions.

    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 discloses that it returns only immediate successors, not transitive. Does not cover authentication, rate limits, or other behavioral traits, but key scope is clear.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

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

    Three efficient sentences: first states purpose, second clarifies scope, third provides alternative. No unnecessary words.

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

    Completeness4/5

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

    Output schema exists, so return value explanation is not needed. Given one parameter and simple purpose, description covers essentials. Could mention that slug is required.

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

    Parameters2/5

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

    Schema coverage 0%, but description does not explain what 'slug' is. It mentions slug only in the alternative tool reference, leaving ambiguity about the parameter meaning.

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

    Purpose5/5

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

    Clearly states it returns 'Direct downstream nodes for a given node' and answers 'what uses this?'. Distinguishes from sibling what_breaks_if by specifying immediate successors vs transitive.

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

    Usage Guidelines5/5

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

    Explicitly tells when to use alternative: 'For full downstream impact, use what_breaks_if(slug)'. Implies this tool is for immediate dependents only.

    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 explains that phases are a navigational frame, not the structural spine, which adds context about the tool's conceptual role. However, it does not disclose if there are any side effects, read-only nature, or other behavioral traits beyond the listing.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

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

    The description consists of two concise sentences. The first sentence immediately states the tool's purpose. The second sentence provides additional conceptual context. Every sentence is valuable, and there is no waste.

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

    Completeness5/5

    Given 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 an output schema exists (though not provided), the description adequately specifies the number of phases (seven) and their range. The conceptual note adds context that helps an agent understand the output's nature. The description is complete for this simple list tool.

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

    Parameters4/5

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

    The tool has zero parameters, so schema description coverage is 100%. The description adds no parameter information but provides useful context about the phases' role, which adds value beyond the empty schema. Baseline for zero params is 4.

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

    Purpose5/5

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

    The description clearly states the tool lists the seven phases of the strategic sourcing process, specifying the range Phase 0 through 6. This is a specific verb and resource, and it differentiates from sibling 'get_phase' which likely retrieves a single phase.

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

    Usage Guidelines3/5

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

    The description does not explicitly guide when to use this tool versus alternatives. It implies listing all phases, but no when-not or alternative comparison is provided. Sibling tools like 'get_phase' exist, but no guidance is given.

    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 discloses that the tool returns immediate predecessors and implies it is a read-only operation. However, it does not explicitly state it does not modify data or require permissions, but for a simple query tool this is sufficient.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

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

    The description is very concise—two sentences. The first sentence states the purpose, and the second provides guidance on alternatives. No unnecessary words.

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

    Completeness3/5

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

    While the description covers the main functionality and provides an alternative, it lacks definition of the 'slug' parameter. Given the existence of an output schema, return values are not required, but the parameter gap reduces completeness for a tool with a single parameter.

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

    Parameters2/5

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

    The schema has one required parameter 'slug' with no description, and the tool description does not explain what 'slug' represents (e.g., the node identifier). With 0% schema coverage, the description should compensate but fails to define the parameter meaning.

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

    Purpose5/5

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

    The description clearly states the tool returns 'Direct upstream nodes' for a given node, answering 'what does this need?'. It distinguishes itself from the sibling tool 'build_order' by noting it returns only immediate predecessors, preventing confusion.

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

    Usage Guidelines5/5

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

    The description explicitly tells when to use this tool (for immediate predecessors) and provides an alternative (build_order for full closure). This helps the agent choose correctly among siblings.

    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, description adds behavioral context: slug matching parent node, path structure example. But lacks disclosure of side effects, idempotency, or access requirements.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

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

    Three concise sentences front-loading purpose, adding necessary detail on slug matching, and providing usage guidance. No wasted words.

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

    Completeness4/5

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

    Output schema exists, so no need to detail returns. Description covers what the list contains and how to use with other tools. Minor gap on ordering/filtering but adequate for zero-parameter list.

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

    Parameters4/5

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

    No parameters in input schema. Baseline 4 applies. Description adds value by explaining output structure (slug matching) and usage context beyond schema.

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

    Purpose5/5

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

    Clearly states verb 'List', resource 'filled-in artifact examples', and context 'anchored to the shared engagement context'. Distinguishes from sibling get_artifact_example by listing vs fetching specific.

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

    Usage Guidelines4/5

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

    Provides explicit usage sequence: first get context via get_engagement_context(), then list, then optionally fetch specific via get_artifact_example. Clear when to use it, though does not state when not to.

    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 full burden. It describes the output as a ranked list of missing inputs with impacts, implying a read-only analysis. However, it does not disclose any potential side effects, permissions, or limits, 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/5

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

    Two concise sentences: the first states the core function, the second provides detail and use case. No wasted words, well front-loaded.

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

    Completeness5/5

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

    For a parameterless tool with an output schema, the description fully covers purpose, output format, and usage context. No additional information is needed.

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

    Parameters4/5

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

    The input schema has zero parameters, so the baseline is 4. The description adds value by explaining the output structure and ranking logic, which compensates for the lack of parameters.

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

    Purpose5/5

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

    The description clearly states the tool groups nodes by missing input, ranks them by impact, and lists data sources with direct and transitive downstream effects. It distinguishes itself from siblings like 'what_breaks_if' by focusing on prioritization for data acquisition.

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

    Usage Guidelines4/5

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

    The description explicitly says 'Used to prioritize data acquisition,' providing clear context for when to use. It lacks explicit when-not-to-use or alternatives, but the purpose is well-defined among siblings.

    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?

    Given no annotations, the description adds context that these artifacts 'span multiple phases', indicating the scope. No side effects or restrictions are disclosed, but the tool is a simple list with no parameters and likely has output schema.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

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

    The description is one sentence, front-loads the purpose, and includes just enough detail without redundancy.

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

    Completeness5/5

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

    With no parameters and an output schema (presumably), the description fully explains the tool's function and distinguishes it from siblings. It is complete for the tool's complexity.

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

    Parameters4/5

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

    The input schema has zero parameters, so baseline is 4. The description does not need to add parameter details, and it provides examples of returned artifacts.

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

    Purpose5/5

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

    The description clearly states the verb 'List' and resource 'horizontal artifacts', specifies they span multiple phases, and provides concrete examples (governance model, RAID log, etc.), distinguishing it from siblings like list_phases or list_deliverables.

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

    Usage Guidelines3/5

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

    The description implies usage for listing cross-phase artifacts and gives examples, but does not explicitly state when to use or not use this tool versus alternatives, nor provide any conditions or 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 provided, so description carries burden. It explains the algorithm and use case, implying read-only analysis. Could mention return format but output schema exists.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

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

    Two sentences: first defines action, second gives context. No wasted words, front-loaded with key information.

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

    Completeness4/5

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

    Adequately covers what it does and when to use. With one parameter and output schema, description is sufficient for correct invocation.

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

    Parameters4/5

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

    Schema coverage 0%, but description explains target_slug via example (category-strategy), adding meaning beyond schema name. Single parameter adequately described.

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

    Purpose5/5

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

    Clearly states it performs topological sort on upstream nodes plus target to determine build order. Distinguishes from siblings like get_dependencies by focusing on ordering.

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

    Usage Guidelines4/5

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

    Explicitly says useful for engagement planning with an example (category-strategy). Does not mention when not to use, but context indicates it's for build ordering.

    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 must convey behavior. It describes the tool as providing a narrative for examples, implying it's a read-only, non-destructive operation. This is transparent given the tool's simplicity.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

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

    Two short sentences with no redundant information. Front-loaded with the core purpose.

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

    Completeness5/5

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

    Given the tool has an output schema and no parameters, the description adequately explains its role as the grounding narrative for examples. No further detail needed.

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

    Parameters4/5

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

    The tool has zero parameters and schema coverage is 100%, so the description doesn't need to add param info. Per guidelines, baseline 4 applies.

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

    Purpose5/5

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

    The description clearly states that this tool retrieves a shared fictional engagement narrative that provides context for other examples. It differentiates itself from sibling tools (e.g., get_analysis, build_order) by being the foundational context-reader.

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

    Usage Guidelines4/5

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

    The description explicitly says 'Read this first', giving clear usage guidance. While it doesn't specify when not to use it or alternatives, the tool's simplicity (no parameters) makes this sufficient.

    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

procurement-graph MCP server

Copy to your README.md:

Score Badge

procurement-graph MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mfbaig35r/procurement-graph'

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