agentscore-mcp-server
Server Quality Checklist
Latest release: v2.2.0
- Disambiguation4/5
Most tools have distinct purposes: scanning, checking verdicts, monitoring, policy enforcement, etc. However, 'install_policy_gate' and 'generate_policy_gate_setup' are closely related (generate vs write workflow), which could cause misselection. Also, 'check_abuse' and 'get_verdict' both return trust-related info but from different sources, which is fine.
Naming Consistency4/5Tools use a consistent verb_noun pattern: check_abuse, check_exposure, generate_policy_gate_setup, etc. The only minor inconsistency is 'install_policy_gate' where 'install' could be seen as more specific than 'generate', but still follows the pattern. No mixing of camelCase or other styles.
Tool Count5/58 tools is appropriate for an MCP package security server. Each tool covers a core function: scanning, verdict, monitoring, abuse check, exposure analysis, repo check, and policy gate generation/installation. Neither too few nor too many.
Completeness4/5The tool set covers key lifecycle operations: scan, get verdict, monitor, check abuse, check exposure, and policy enforcement (generate+install). Missing tools could include updating a verdict or removing a policy gate, but the core workflow is well-covered.
Average 4.1/5 across 8 of 8 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
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.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/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 behavioral disclosure. It only states it checks the database and returns abuse status/details, but does not mention side effects, auth requirements, or whether it's read-only. The description is minimal, providing no behavioral traits beyond the basic operation.
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 two sentences long, which is concise and to the point. It front-loads the core purpose and then specifies the output. No unnecessary words, though it could be slightly more structured (e.g., bullet points for clarity).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (one parameter, no nested objects, no output schema), the description is adequate but lacks details about the output format or any error conditions. It mentions 'returns whether abuse has been reported and any details' but does not specify the structure. For a simple lookup tool, this is minimally complete, but it could be more informative about the returned data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage for the single parameter 'agent', describing it as 'Package name or agent identifier to check'. The description adds context by explaining the purpose of the parameter (used to check against the abuse database) and the return indicates it relates to abuse reports. Since the schema already documents the parameter well, the description adds marginal value but clarifies the domain.
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 specific verb 'Check' and resource 'abuse database', indicating that the tool looks up a package or agent against the KYA abuse database. It distinguishes itself from siblings like check_exposure by specifying the database type and the returned information (whether abuse was reported and details).
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 when to use the tool (when you want to know if a package/agent is in the abuse database) but does not provide guidance on when not to use it or alternatives. Siblings like check_exposure or get_verdict might be used for related but different checks, but no comparison is made.
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 discloses that the tool is read-only ('Check') and lists outputs, but does not mention what happens if the package is not monitored (e.g., error vs. empty result) or any side effects. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the main action, and every word adds value. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only one parameter and no output schema. The description clearly explains what it does and what outputs to expect. It is complete for the tool's simplicity, though it could hint at return format or edge cases.
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 coverage is 100% for the sole parameter 'npm', and its description 'npm package name' is clear. The description reinforces the parameter by stating 'Check if an MCP package' which aligns with the 'npm' parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Check' and the resource 'MCP package' under monitoring, and specifies what it returns: 'current score, risk level, and recent changes'. It distinguishes from siblings by focusing on monitoring status rather than abuse, exposure, or scanning.
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 when to use (when needing monitoring status), but does not explicitly state when not to use or provide alternatives among siblings. Given sibling tools like scan_package and get_verdict, some guidance on differentiation would improve usage clarity.
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?
The description clearly explains the scanning scope (install scripts, prompt injection, etc.) and output format without annotations. It does not mention side effects or permissions, but as a read-only scan, it's transparent enough.
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 concise (three sentences) and front-loaded with the main action. It provides enough detail without verbosity. Could be slightly improved by removing the redundant 'Returns score...' since that's implied by 'security issues'.
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 a simple tool with one parameter, no output schema, and no annotations, the description provides sufficient context about what is checked and what is returned. It is complete for its complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not add details beyond the schema for the single parameter 'npm'. Schema coverage is 100%, so baseline 3 is appropriate; the description's mention of npm package names with examples adds minor value.
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 scans an npm package for MCP security issues, specifying what it checks (install scripts, prompt injection, etc.) and what it returns (score, risk level, detailed findings). It distinguishes itself from sibling tools like check_abuse that likely focus on other aspects.
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 when to use (scanning npm packages for security) but does not explicitly state when not to use it or compare to siblings. It lacks guidance on alternatives, e.g., using get_verdict for final decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the key behavioral trait: it performs a bulk scan of the repo, looking up verdicts from AgentScore, and produces a summary for CI gating. It does not explicitly mention side effects (likely none), but the behavior is clearly described.
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 and front-loaded with the essential action, followed by usage guidance. 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 the low complexity (1 optional parameter, no output schema), the description adequately covers what the tool does and when to use it. No output schema means the description does not need to explain return values, but it could hint at the output format (e.g., a report). Still, it's complete enough for its complexity level.
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% (the single parameter 'path' is described). The description adds no additional detail beyond the schema's description, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: inspect a repo for MCP dependencies, look up AgentScore verdicts, and summarise what should be gated in CI. It uses specific verbs ('inspect', 'look up', 'summarise') and a clear resource ('the current repo'). It also differentiates from scanning one package at a time.
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 explains when to use this tool ('when a developer wants to understand all MCP packages in a repo instead of scanning one package at a time'), which provides context compared to alternatives like scan_package. However, it does not explicitly mention when not to use it or list specific alternatives.
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 exist, so description must carry weight. It discloses key behaviors: requires no API key, detects MCP dependencies locally, returns YAML. Lacks details on side effects (none expected) or error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences efficiently convey purpose, method, and a key constraint. No wasted words.
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 tool generates YAML and has no output schema, the description adequately covers inputs and key behavioral traits. Could include more about output format, but sufficient for agent decision-making.
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% with descriptions for both params. Description adds context about defaults and purpose of repo_url, but does not significantly extend beyond 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?
Description clearly states the verb 'Generate', resource 'GitHub Actions workflow', and purpose 'enforce AgentScore Policy Gate'. It distinguishes from siblings by specifying local dependency detection and OIDC-based YAML setup.
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?
Description implies when to use (setting up Policy Gate) and highlights that no API key or secret is required, but does not explicitly state when not to use or reference sibling alternatives.
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 convey behavioral traits. It explains the output types (allow/warn/block, monitoring status, publisher posture) and ties them to scan findings. However, it does not disclose whether the tool has side effects, requires authentication, or has rate limits. Since annotations are absent, the description carries the full burden but provides only partial transparency.
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 long, each packed with essential information: purpose, output details, and usage guidance. No filler or redundancy. Front-loaded with the main action.
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 low complexity (1 parameter, no nested objects, no output schema), the description adequately covers the tool's purpose and usage. The output is described qualitatively (allow/warn/block, monitoring status, publisher posture). However, without an output schema, the description could be more precise about the structure of the return value.
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 coverage is 100% with one parameter 'npm' described as 'npm package name.' The description adds meaning by specifying the package is an MCP package and that the verdict is based on scan findings, going beyond the schema's minimal description.
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 a trust verdict (allow, warn, block) for an MCP package, based on scan findings, and also reports monitoring status and publisher posture. It uses a specific verb ('get') and resource ('trust verdict for MCP package'), and distinguishes it from sibling tools like 'scan_package' (which likely performs the scan) and 'check_abuse' (which checks for abuse specifically).
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 states 'Use this before installing or connecting to an MCP server,' providing clear context for when to invoke the tool. However, it does not explicitly state when not to use it or name alternative tools for similar purposes, though the sibling tools suggest alternatives.
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?
The description discloses key behaviors: file creation, OIDC authentication (no API key), dependency detection, and auto-provisioning. Since no annotations are provided, the description carries the full burden, and it does well by explaining what happens on first push.
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 very concise: two sentences that cover purpose, authentication, dependency detection, and auto-provisioning. No wasted words.
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 simplicity of the tool (two optional parameters, no output schema), the description covers the necessary context: what is created, how authentication works, and side effects. It is complete enough for the agent to use 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?
Both parameters are fully described in the input schema (100% coverage). The description does not add any additional semantic meaning beyond what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool writes a specific workflow file (AgentScore Policy Gate) to the repo, with distinctive details like OIDC authentication and auto-provisioning on first push. It distinguishes itself from siblings by focusing on a specific file creation task.
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 implies the tool is for setting up the policy gate workflow, which is a one-time setup. It doesn't explicitly state when not to use it or provide alternatives, but the context of setup is clear.
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?
The description is transparent about the tool's purpose and provides an example query. It discloses that the tool checks dependencies on MCP servers, which implies it reads data without modification. No annotations are provided, so the description carries the full burden, and it adequately informs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, each sentence providing essential information: purpose and usage guidance. It is concise with no wasted words.
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 tool with one required parameter and no output schema, the description is sufficiently complete. It explains the tool's function, usage context, and provides an example. Slight deduction for not describing the output format, but that is not critical.
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 input schema already has a clear description for the parameter 'npm', and the tool description adds an example ('axios') and context about what the parameter means. Since schema coverage is 100%, the description provides extra value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks which monitored MCP servers depend on a given package, with a specific verb (check) and resource (exposure of MCP servers). It is distinct from siblings like check_abuse or scan_package.
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 includes a usage context: 'Use this during incident response to find blast radius.' This indicates when to use the tool, though it doesn't explicitly state when not to use it or mention alternatives.
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/Thezenmonster/agentscore-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server