hp-mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation4/5
The three tools target clearly distinct purposes: news listing, news detail, and company profile. get_news and get_news_detail are related but well-differentiated by list vs. single-article granularity. The main potential confusion is an agent confusing get_news's list vs. detail, but the descriptions make the distinction clear.
Naming Consistency4/5All tools follow a consistent get_<noun> pattern with snake_case, which is predictable and readable. The only minor deviation is the mixed use of get_news (list) vs. get_news_detail (single), which slightly breaks the implied noun granularity, but overall the convention is uniform.
Tool Count3/5Three tools is on the low end but borderline acceptable for a simple company HP content server. The scope appears to be news + company info, which a 3-tool set could plausibly cover, though it feels thin for a full website.
Completeness3/5The news lifecycle (list + detail) and company profile are covered with no dead ends for the demonstrated use case. However, there are notable gaps: no pagination/create/update/delete for news, no other HP sections (e.g., product listings, contact info), and reading is the only supported operation. For a read-only company wiki this is acceptable, but it lacks breadth.
Average 3.5/5 across 3 of 3 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 2 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 carries the full burden of behavioral disclosure. It's clearly a read-only fetch operation (safe), which is a positive signal, but the description doesn't disclose anything beyond that—no mention of what the profile includes, whether it's static/cached, authentication needs, or error behaviors. For a tool with zero annotation coverage, more behavioral context would be expected.
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 a single concise sentence that fully states its purpose. It's appropriately brief for a zero-parameter tool. Minor demerit: it doesn't use the full 1-2 sentences it could afford to add behavioral or return context.
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?
For a zero-parameter, read-only fetch tool with no output schema, the description is relatively complete. However, it doesn't describe the return value or content scope (what fields the company profile contains). With no output schema and no annotations, some indication of what 'company profile' encompasses would improve completeness. It's adequate but minimal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema coverage is 100% (empty schema), so there are no parameter semantics to explain. The baseline 4 for 0-param tools applies—nothing further is needed since there's nothing to document.
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 'Fetch the company (会社情報) profile from the HP' clearly states the action (fetch) and resource (company profile). It distinguishes reasonably from siblings get_news and get_news_detail, which target news content. Slight weakness: it doesn't name the destination company in the title/description explicitly beyond the function name, and 'HP' is ambiguous (could be Hewlett-Packard or homepage).
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 indicates this fetches company profile info, which is distinct from news-related siblings by context. However, there's no explicit when-to-use guidance or exclusions stated. The implied context (company info vs news) is clear enough to select it, but no explicit alternatives 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?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions fetching a list and what's returned, but doesn't state whether this is a read-only operation, sort order, default page size, or any rate limits. For a simple read tool, this is adequate but not rich.
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 one concise sentence spanning two lines that captures purpose, resource, and return contents. Zero waste, front-loaded with the verb 'Fetch'. Ideal length for a tool of this simplicity.
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?
This is a simple list tool with one optional parameter, no output schema, and no annotations. The description covers the return shape (news items, total count, categories) which aids the agent in understanding output. It's reasonably complete for the tool's simplicity, though it could mention pagination behavior or default page size.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the single 'page' parameter at 100% coverage with a clear 1-based pagination description. The description adds that this is a news list fetch with pagination implied, but since schema coverage is 100%, the baseline of 3 is appropriate and the description doesn't need to add much beyond what's already there.
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 (fetch), resource (news list from HP), and the return data (news items, total count, categories). It's specific and functional. However, it doesn't explicitly distinguish itself from the sibling tool get_news_detail, though the names make the relationship fairly self-evident.
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 it returns a paginated list with total count and provides a page parameter for pagination, giving clear context on how to paginate. However, it doesn't explain when to use this vs get_news_detail (which likely retrieves a single news item), nor does it provide any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the response includes previous/next links, which is a useful behavioral detail. However, it does not describe navigation pagination behavior, error cases, or what constitutes a 'number' boundary, leaving some gaps for a fetch operation.
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?
A single sentence that is front-loaded with the primary purpose and appends a useful detail about previous/next links. Zero 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 single-parameter fetch tool with full schema coverage, the description is nearly complete. The inclusion of the previous/next links detail is valuable context. It could note error behavior for nonexistent newsnumbers, but this is minor for a simple retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage with a clear description of 'newsnumber' ('The news number (id) to fetch') and an exclusiveMinimum constraint. The description echoes the parameter concept by saying 'by its number' but adds little beyond the schema's existing documentation.
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 states a specific verb+resource ('Fetch a single news article by its number') and adds useful scope details (includes previous/next links). This clearly distinguishes from the sibling tools since 'get_news_detail' vs 'get_news' implies single-item vs list retrieval, and 'get_company' is a different resource entirely.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by identifying it's for fetching a single article by number, which differentiates it from the sibling list tool 'get_news'. However, it does not explicitly state when to choose this tool over alternatives or provide exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/keisukearai/hp_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server