Skip to main content
Glama
MeruLocal

hemmiles-mcp-server

by MeruLocal

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoHTTP transport port.3000
HEMMILES_TRANSPORTNoTransport to use: 'stdio' or 'http'.stdio
HEMMILES_TIMEOUT_MSNoPer-request timeout in milliseconds (1000–60000).20000
HEMMILES_USER_AGENTNoOutbound User-Agent header.hemmiles-mcp-server/1.0 …
HEMMILES_MAX_RETRIESNoRetries for transient errors (0–5).3
HEMMILES_DEFAULT_LOCALENoDefault market (global, in, us, gb, ca, au, nz, ie, sg, ae, za).in
HEMMILES_CACHE_TTL_SECONDSNoIn-memory cache TTL in seconds (0 disables).300
HEMMILES_MIN_REQUEST_INTERVAL_MSNoMinimum spacing between requests in milliseconds.600

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
hemmiles_list_pagesA

List the public pages of hemmiles.com, grouped by section, as discovered from the site's sitemap.

Hemmiles is field-visit / field-sales SaaS (not an online store), so this returns marketing and documentation pages — the closest equivalent to "categories". Sections include: home, product, pricing, features, teams, integrations, security, resources, docs, help, guides, blog, company.

Args:

  • section (string, optional): restrict to one section (e.g. 'features').

  • locale ('global'|'in'|'us'|'gb'|'ca'|'au'|'nz'|'ie'|'sg'|'ae'|'za', optional): which market's URLs to return; defaults to the server's locale.

  • response_format ('markdown'|'json'): output format (default markdown).

Returns JSON: { total, count, sections: string[], pages: [{ url, path, section, locale }] }.

Examples:

  • "What pages does Hemmiles have?" -> no args.

  • "List the feature pages" -> section='features'.

hemmiles_get_pageA

Fetch a single hemmiles.com page and return its normalized content: title, description, headings, breadcrumbs, in-page links, the detected JSON-LD schema types, and the main body text.

This is the detail view — the brief's "get_product_details" — adapted to a SaaS marketing site. For pricing use hemmiles_get_pricing; for FAQs use hemmiles_get_faqs.

Args:

  • path (string): page path (e.g. 'features/route-planning', 'product') OR a full https://hemmiles.com URL.

  • locale (optional): market prefix for a bare path (default: server locale). Ignored for full URLs.

  • response_format ('markdown'|'json').

Returns JSON: { url, path, locale, title, description, headings:[{level,text}], breadcrumbs:[], jsonldTypes:[], links:[{text,href}], text }.

Error handling:

  • NOT_FOUND if the page does not exist — use hemmiles_list_pages / hemmiles_search_site to find valid paths.

  • DISALLOWED_PATH for robots-blocked paths such as /api/...

hemmiles_search_siteA

Search hemmiles.com for pages matching a keyword query.

Because Hemmiles is a SaaS marketing site (no shopping catalog), this searches content pages — features, teams/use-cases, guides, blog posts, docs, pricing, etc. — rather than purchasable products.

Args:

  • query (string): keywords to match (2–100 chars).

  • section (string, optional): restrict to one section (e.g. 'guides', 'features').

  • locale (optional): market whose URLs to return (default: server locale).

  • deep (boolean, default true): fetch page bodies for full-text matches + snippets. Set false for a fast slug-only match.

  • limit (1–50, default 20), offset (default 0): pagination.

  • response_format ('markdown'|'json').

Returns JSON: { query, total, count, offset, has_more, next_offset?, results: [{ url, path, section, title, score, snippet }] }.

Examples:

  • "offline" -> finds features/offline-mode and the offline-first blog post.

  • "medical reps" with section='teams'.

Note: results are ranked by keyword relevance in titles, descriptions, slugs and body text; scores are relative, not absolute.

hemmiles_list_featuresA

List the Hemmiles product's capabilities (the "featured" items on a SaaS site), taken from the site's SoftwareApplication JSON-LD feature list and linked to each feature's dedicated page when one exists.

Args:

  • locale (optional): market whose feature-page URLs to return (default: server locale).

  • response_format ('markdown'|'json').

Returns JSON: { total, features: [{ name, url? }] }. Typical features include Visit planning, Route planning, GPS check-in, Photos & notes, Follow-ups, Offline mode, Manager dashboard, Reports.

Example: "What can Hemmiles do?" / "List Hemmiles features".

hemmiles_get_pricingA

Get Hemmiles subscription pricing for a market, parsed from the pricing page's schema.org Offer data.

Pricing is per user per month and varies by locale/currency (for example, India is billed in INR, the US in USD). Always pass the locale you care about.

Args:

  • locale (optional): market to price (default: server locale). One of global/in/us/gb/ca/au/nz/ie/sg/ae/za.

  • response_format ('markdown'|'json').

Returns JSON: { url, locale, currency, summary, plans: [{ id, name, price, priceCurrency, unit, description, url }] }.

Example: "How much is Hemmiles in India?" -> locale='in'. Note: this reports the publicly displayed list price only; it does not include negotiated, annual-discount, or promotional pricing beyond what the page states.

hemmiles_list_resourcesA

List Hemmiles resource content: guides, blog posts, and the resources/docs/help hubs, as discovered from the sitemap.

Args:

  • kind ('all'|'guides'|'blog'|'resources'|'docs'|'help', default 'all').

  • locale (optional): market whose URLs to return (default: server locale).

  • response_format ('markdown'|'json').

Returns JSON: { total, count, pages: [{ url, path, section, locale, title? }] }.

Example: "What guides does Hemmiles have?" -> kind='guides'.

hemmiles_get_faqsA

Return the frequently-asked-questions published on a Hemmiles page, parsed from its FAQPage JSON-LD. The pricing page in particular carries detailed FAQs (billing, user minimums, trials, etc.).

Args:

  • path (string, default 'pricing'): page to read FAQs from (path or full URL).

  • locale (optional): market prefix for a bare path.

  • response_format ('markdown'|'json').

Returns JSON: { url, total, faqs: [{ question, answer }] }.

Example: "What are Hemmiles' pricing FAQs?" -> path='pricing'.

hemmiles_get_company_infoA

Return Hemmiles' public company and contact information, parsed from the site's Organization JSON-LD: name, website, logo, support email, description, social profiles, and structured contact points (support, sales, etc.).

This is the brief's "get_store_information" for a SaaS vendor.

Args:

  • locale (optional): which market's page to read (org data is global; default: server locale).

  • response_format ('markdown'|'json').

Returns JSON: { name, url, logo, email, description, sameAs:[], contactPoints:[{ contactType, email, telephone, url }] }.

Example: "How do I contact Hemmiles?" / "Who makes Hemmiles?".

hemmiles_get_policiesA

Fetch Hemmiles' publicly available policy pages (security, privacy, terms, legal, cookies) and return their summaries.

Important: Hemmiles is a digital SaaS subscription, so there is NO shipping policy and NO product return/refund policy in the e-commerce sense (the brief's get_shipping_information / get_return_policy do not apply). Billing, trial, and cancellation terms are covered by pricing FAQs (hemmiles_get_faqs) and the terms page when present. This tool reports only the policy pages that actually exist; missing ones are listed as unavailable.

Args:

  • topic ('all'|'security'|'privacy'|'terms'|'legal'|'cookies', default 'all').

  • locale (optional): market prefix (falls back to the global page if the localized one is absent).

  • response_format ('markdown'|'json').

Returns JSON: { note, found: [{ topic, url, title, description, excerpt }], unavailable: string[] }.

hemmiles_get_contact_optionsA

Return the official, supported ways to engage with Hemmiles: the sales/demo request page, the general contact page, and the support email — assembled from the site's Organization contact points and known pages.

Why this instead of cart/checkout: Hemmiles has no online store, cart, or self-serve checkout, so the brief's add_to_cart / get_cart / remove_from_cart / create_checkout_link tools are not implemented. This tool is the safe, legitimate alternative — it only returns official links and never performs any transaction or submits any form.

Args:

  • locale (optional): market prefix for the page links (default: server locale).

  • response_format ('markdown'|'json').

Returns JSON: { email?, demoUrl, contactUrl, pricingUrl, salesContactUrl?, note }.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 10 tools

Disambiguation4/5

Each tool maps to a distinct slice of the site (pages, search, features, pricing, resources, FAQs, policies, contact, company info), and descriptions explicitly cross-reference each other (e.g. get_page points to get_pricing/get_faqs). The only residual overlap is that get_page can return much of what get_pricing, get_faqs, and get_policies would, and get_company_info vs get_contact_options both surface contact data, but the guidance is clear enough that an agent can choose correctly.

Naming Consistency5/5

All ten tools use the same prefixed verb_noun snake_case pattern (hemmiles_get_*, hemmiles_list_*, hemmiles_search_*), with get_ for single-resource fetch, list_ for collections, and search_ for queries used consistently and semantically. No mixed conventions or casing deviations.

Tool Count5/5

Ten tools is well within the ideal 3-15 range and each corresponds to a real, non-redundant surface of a marketing/docs site. Nothing feels padded; each tool earns its place.

Completeness4/5

The surface covers discovery (list_pages, list_resources), retrieval (get_page), search, and the key content verticals (features, pricing, FAQs, policies, contact, company info), which is essentially full lifecycle for a read-only site server. Minor gaps: no way to enumerate integrations or teams/use-case pages as first-class lists, and no direct docs/help retrieval beyond get_page.

Maintenance

ActivityMaintained
ResponsivenessNo issues