Skip to main content
Glama

Bahdan Hal

Server Details

Bahdan Hal software consulting: services, pricing, CV and skills, and contact requests.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.6% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
bahdanhal/landing
GitHub Stars
0

TDQS

A3.6/5.0

Scored across 4 tools

Disambiguation4/5

Each tool targets a distinct facet: CV/skills, portfolio overview, services catalog with pricing, and contact. The only mild overlap is between get_portfolio_overview (technical stack, ecosystem projects) and get_services_and_pricing (services catalog), since both touch on offerings, but pricing clearly separates them.

Naming Consistency4/5

Three tools follow a consistent get_<noun> retrieval pattern in snake_case (get_cv_and_skills, get_portfolio_overview, get_services_and_pricing). send_message is a natural verb deviation for the one action tool, so the set is predictable and readable.

Tool Count4/5

Four tools is reasonable for a personal CV/consulting portfolio server, covering the main content areas plus contact. It is slightly lean (no scheduling/availability or separate contact-info tool), but nothing feels redundant.

Completeness4/5

The surface covers the core read paths (CV, portfolio, services/pricing) plus an outbound contact channel, which fits a read-only public profile server. Minor gaps like availability/scheduling or social/contact details are non-blocking and agents can work around them via send_message.

Available Tools

4 tools
get_cv_and_skillsCV and SkillsA
Read-only
Inspect

Get Bahdan Hal's full curriculum vitae (CV), including professional experience, technical skill stack, education, and language proficiencies.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the agent knows this is a safe, local, non-mutating read. The description adds nothing behavioral beyond that — no note on caching, freshness, auth, or error conditions. With the safety profile already covered by annotations, a 3 is appropriate.

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?

A single sentence that front-loads the verb and resource, then lists the returned sections. Every clause carries information and there is no filler.

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?

With no output schema, the description compensates by enumerating the sections the CV contains, which tells the agent what it will receive. Combined with annotations covering the safety profile and a zero-parameter schema, this is nearly complete; only the boundary with the sibling portfolio tool is left unstated.

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 takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. No parameter-related information is missing or misleading.

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 names a specific verb and resource ("Get Bahdan Hal's full curriculum vitae") and enumerates the content sections returned: experience, skill stack, education, and languages. This makes the tool's scope clear. It stops short of a 5 because it does not draw the boundary against the sibling get_portfolio_overview, which could plausibly overlap with CV content (skills, experience).

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?

Usage is only implied: an agent can infer this is the right tool when a user asks about the person's background, experience, or skills. There is no explicit statement of when to prefer this over get_portfolio_overview or get_services_and_pricing, and no exclusions or prerequisites are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_portfolio_overviewPortfolio OverviewB
Read-only
Inspect

Get an overview of Bahdan Hal's software engineering consulting services, technical stack, and ecosystem projects.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds the content scope (services, stack, projects), which is mildly useful, but says nothing about freshness, depth, or response shape.

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?

A single front-loaded sentence with no filler or redundancy; every clause adds content scope.

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?

For a zero-parameter read with no output schema, the description covers the topic but not what the response actually contains or how it relates to the narrower sibling tools, leaving the agent to guess at routing.

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 takes zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies.

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?

Names a specific verb ('Get an overview') and enumerates the concrete content covered: consulting services, technical stack, ecosystem projects. However it never distinguishes itself from siblings like get_services_and_pricing or get_cv_and_skills, which cover overlapping ground.

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 when-to-use guidance at all. Given three siblings with overlapping subject matter, the description should state whether this is an entry point / summary tool versus the narrower alternatives, but it offers nothing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_services_and_pricingServices and PricingA
Read-only
Inspect

Get Bahdan Hal's commercial engineering services catalog with transparent hourly pricing and engagement terms.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is fully covered structurally. The description adds the useful detail that the payload includes pricing and engagement terms, but nothing about freshness, sourcing, or format, keeping it at an adequate 3.

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?

A single front-loaded sentence with no filler; the resource and its payload are stated immediately. Slightly florid wording ('transparent') is the only minor cost, so not quite a 5.

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 no-param, read-only tool with no output schema, the description adequately conveys what comes back (services, hourly pricing, engagement terms). It is complete enough to invoke correctly, though it could note currency or pricing freshness.

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 takes zero parameters, so per the rubric the baseline is 4. There is nothing for the description to disambiguate beyond confirming it is a parameter-free catalog fetch.

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?

Names a clear verb ('Get') and a specific resource ('commercial engineering services catalog with hourly pricing and engagement terms'), so an agent can distinguish it from get_cv_and_skills and get_portfolio_overview. It stops short of explicitly contrasting itself with those siblings, so it earns a 4 rather than a 5.

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?

Usage is only implied by the tool name and the catalog/pricing content it returns; there is no statement of when to prefer this over get_portfolio_overview or get_cv_and_skills, and no exclusions. For a zero-parameter read tool this is minimally viable but leaves routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_messageSend MessageBInspect

Send an engineering consultation request, project inquiry, or direct message to Bahdan.

NameRequiredDescriptionDefault
emailNoYour email address for receiving a reply.
phoneNoOptional phone number (international format).
messageNoDetailed inquiry message describing your project or requirements.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, so the agent knows this is a non-idempotent, non-destructive write. The description adds the recipient identity and the fact that it targets Bahdan, but it never says what happens after submission (delivery mechanism, confirmation, whether a reply is guaranteed) or that a valid reply address is needed to get a response.

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?

A single front-loaded sentence that opens with the verb and wastes no words. It is appropriately sized for a three-parameter tool, though the same sentence could have absorbed one clause of usage guidance at no cost.

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?

With annotations covering the safety profile and the schema covering all three parameters, the description needs to explain only intent and outcome. It covers intent, but says nothing about what happens after the message is sent or why all three parameters are optional despite an email being needed for a reply, leaving a gap for a user-facing send tool.

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 100%, so email, phone, and message are already fully documented in the schema. The description mentions message categories but adds no syntax, format, or validation detail beyond what the schema supplies, so the baseline of 3 applies.

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?

States a specific verb (Send) and resource (message) and enumerates the message categories: engineering consultation request, project inquiry, or direct message. The recipient, Bahdan, is named, so the agent knows exactly what the call does. It does not explicitly contrast with the get_* siblings, but the send/write nature is unambiguous against them.

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?

Usage is only implied — the enumerated inquiry types suggest this is the path for contacting the owner, and the sibling tools are all read-only retrievals, so an agent can infer this is the only outreach route. There is no explicit when-to-use guidance, no prerequisite to supply a reply address, and no statement of what this tool is not for.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Addedsend_message
    • Removedsubmit_contact_lead
  2. 4 tool updates
    • First observedget_cv_and_skills
    • First observedget_portfolio_overview
    • First observedget_services_and_pricing
    • First observedsubmit_contact_lead

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.