Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: model loading, SHAP computation, global importance, local explanation, interaction values, and plotting. There is no overlap or ambiguity in what each tool does, so an agent can reliably select the correct one for a given task.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with lowercase and underscores (load_model, run_analysis, get_feature_importance, etc.). The verbs vary but are semantically appropriate, and the naming style is uniform across the set, making the API predictable.

    Tool Count5/5

    Six tools provide a well-scoped surface for SHAP analysis. This is an appropriate size that covers the core workflow (load, analyze, query results, plot) without redundancy or unnecessary bloat. Each tool earns its place in the server.

    Completeness5/5

    The tool surface covers the full lifecycle of a SHAP analysis: loading a model, running the explainer, retrieving global and local explanations, getting interactions, and generating visualizations. There are no obvious gaps that would block an agent from completing typical analysis tasks.

  • Average 3.4/5 across 6 of 6 tools scored. Lowest: 2.2/5.

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

    • No community issues in the last 6 months
    • 4 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 passing
  • 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?

    The description states the tool returns a SHAP breakdown but does not specify the output format (e.g., list, table), any side effects, or error behavior. Since there are no annotations, the description alone fails to convey what the user can expect beyond a vague 'breakdown'. No information on whether the model is retrained or data is modified.

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

    Conciseness3/5

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

    The description is concise (one sentence) and well-structured, but it is so brief that it sacrifices necessary information. While there is no fluff, the extreme brevity reduces its utility; a slightly longer description with parameter clarification would be more balanced.

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

    Completeness1/5

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

    Given the tool's simplicity, the description is still incomplete. It lacks any mention of when to use it relative to siblings, what parameters are required, or what the output looks like. The presence of sibling tools (get_feature_importance, get_interaction, etc.) makes contextual guidance essential, but none is provided.

    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 parameters 'index' and 'data' are not described at all in the description. The schema provides no annotations, and the description adds no explanation of what these parameters mean, their constraints, or how they interact. A user cannot know whether to provide an index, data, or both, or what format 'data' should take.

    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 uses a clear verb 'Return' and specifies the resource 'SHAP breakdown for a single instance', distinguishing it from sibling tools like get_feature_importance or get_plot. However, it does not elaborate on what the breakdown contains (e.g., feature contributions), leaving some ambiguity for users unfamiliar with SHAP.

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

    Usage Guidelines1/5

    Does 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, such as get_feature_importance or get_interaction. It does not mention any conditions, prerequisites, or typical scenarios, leaving the user to guess when this is the appropriate choice.

    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, the description carries the full behavioral disclosure burden. It does add a key constraint ('Tree models only') and states that the tool returns SHAP interaction values, but it doesn't disclose prerequisites like having a loaded model, failure behavior for unsupported models, or the exact structure of the returned values.

    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 core description is one short, front-loaded sentence that delivers the main idea. The parameter section is clear but partially redundant with the schema, which keeps it from being a 5.

    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 tool appears to have an output schema, so little is needed about return values. However, the description is minimal for a tool with no annotations: it lacks preconditions, error behavior, and sibling distinctions. It is a borderline acceptable definition but could be much more helpful.

    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 description coverage is 0%, so the description must compensate, but it only restates the obvious: feature_a is the first feature and feature_b is the second. It doesn't explain where these names come from, expected format, or any relationship to model features, leaving the agent with little additional meaning over 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 uses a specific verb 'Return' and identifies a distinct resource: SHAP interaction values between two features, with the important 'Tree models only' limitation. This purpose is clear and sufficiently differentiates it from sibling tools like get_feature_importance and explain_prediction, though it doesn't name them.

    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?

    The description provides no explicit guidance on when to choose this tool over its siblings. 'Tree models only' is a precondition, not a usage selection criterion, and no alternatives or trade-offs are mentioned.

    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 provided, the description carries the full burden of behavioral disclosure. It states the tool runs a SHAP explainer, but does not mention whether it is read-only, whether it modifies state, whether a model must be loaded first, or what side effects occur. The sample_size parameter hints at auto-sampling, but the overall behavioral profile is opaque.

    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 well-organized with a clear purpose statement, a practical note, and a parameter list. Each section is necessary, particularly because the schema lacks parameter descriptions. It is not excessively verbose and is easy to parse.

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

    Completeness2/5

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

    Although an output schema exists, the description lacks important context. It does not mention whether a model must be loaded first (sibling load_model suggests so), what the default sampling behavior is, or how the tool behaves when conflicting data inputs are provided. These are critical for correct usage.

    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 schema description coverage is 0%, so the description's parameter block is essential. It clearly explains each parameter: data_path, data_url, data, and sample_size. The guidance about small CSVs and using data directly in chat adds practical semantics. However, it does not explain mutual exclusivity or precedence when multiple data sources are supplied.

    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 opens with 'Run SHAP explainer against a dataset', which is a specific verb and resource. It clearly distinguishes this from sibling tools like get_feature_importance or explain_prediction, which have different purposes. The intent is immediately understandable.

    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?

    The description provides no guidance on when to choose this tool over sibling tools like explain_prediction or get_interaction. The note about sourcing data (local paths, URLs, inline data) is about how to provide input, not which tool to select. No alternatives or exclusions are mentioned.

    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 that the tool saves a PNG file and returns a file path and URL, which is useful. However, it doesn't mention side effects like file system writes, potential overwrites, or any permissions needed. It also doesn't describe the output schema beyond the return of path and URL, though an 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.

    Conciseness4/5

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

    The description is well-structured with a clear summary sentence followed by a parameter list. It's front-loaded with the core action and output. The parameter list is concise and informative, though it could be slightly more compact by merging some lines.

    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 has 6 parameters, an output schema, and no annotations, the description covers the essential usage details: plot types, conditional parameters, and output format. It doesn't mention error cases or edge conditions, but for a visualization tool, this is reasonably complete. The output schema likely covers return structure.

    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 description coverage is 0%, so the description must compensate. It does well by explaining each parameter's purpose, including conditional requirements (index for waterfall/force, feature_name for dependence) and defaults (top_n=10, color_feature='auto'). This adds significant value beyond the raw 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 states the tool generates a SHAP visualization, saves it as PNG, and returns file path and URL. It lists the plot types, which helps distinguish it from siblings like get_feature_importance or explain_prediction. However, it doesn't explicitly differentiate from get_interaction, which might also produce plots.

    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 by listing required parameters for certain plot types (e.g., index for waterfall/force, feature_name for dependence), but it doesn't explicitly state when to use this tool versus alternatives like get_feature_importance or explain_prediction. No exclusions or alternative routing is provided.

    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, the description carries the behavioral burden. It discloses that the tool reads 'stored SHAP values' and returns global importance, implying a read-only operation. It does not mention ordering, error behavior, or what happens if SHAP values are absent, but 'top_n' implies a ranked result.

    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 compact and front-loaded with the core purpose. The parameter documentation is minimal and directly useful, with no filler or redundant restatement of the tool name.

    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?

    For a simple read-only tool with one optional parameter and an output schema, the description is largely complete. It covers purpose, source, and parameter semantics. It could add explicit usage guidance relative to siblings, but that gap is minor given the clear purpose and available output schema.

    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 schema provides only the default value for top_n, while the description explains its meaning: 'Number of top features to return'. This adds real semantic value beyond the schema, fully compensating for the 0% schema description coverage.

    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 states a specific verb ('Return') and a specific resource ('global feature importance from stored SHAP values'). The word 'global' distinguishes it from sibling tools like explain_prediction (local) and get_interaction, and the source ('stored SHAP values') clarifies it is a read of precomputed results.

    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 when to use the tool: when global feature importance from SHAP values is needed. However, it does not explicitly state when not to use it or name alternatives such as explain_prediction or get_interaction, leaving the routing decision to inference.

    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 carry the weight. It discloses the operational constraint about cloud-container paths, which is a non-obvious behavioral detail. It also implies the tool is a prerequisite for other tools. It doesn't state whether it mutates state or returns the explainer, but the output schema exists, and the description is focused on prerequisites, which is beyond what schema conveys.

    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 well-organized: a purpose sentence, a critical usage note, then parameter definitions. The warning about cloud paths is space-efficient and high-value. Slightly repetitive in noting upload methods, but overall concise and front-loaded with the most important behavioral caveat.

    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?

    For a 4-parameter tool with zero schema descriptions and no annotations, the description covers the key decision points: which parameter to set, required vs optional, and the path accessibility warning. It doesn't describe return values, but an output schema exists, so that's not required. The 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 description coverage is 0%, but the description explains each parameter's purpose and optionality (model_path vs model_url as alternatives, background_path required for deep, optional for tree/kernel). It adds meaningful semantics beyond raw schema types, which is essential given zero coverage.

    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 loads a model file and instantiates a SHAP explainer, specifying the model types (tree, linear, deep, kernel) and the input sources (local path, URL, or upload). This distinguishes it from sibling tools that focus on analysis/explanation, not loading.

    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?

    It provides explicit guidance on when to use this tool (before running analyses) and, crucially, what not to do: it warns that files attached in chat are stored in a cloud container that local tools cannot reach, so the user must provide accessible paths. It doesn't explicitly mention alternatives (sibling tools are analysis tools, not load alternatives), but the context is clear.

    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

shap-mcp MCP server

Copy to your README.md:

Score Badge

shap-mcp 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/Manas-maker/shap-mcp'

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