hemmiles-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP transport port. | 3000 |
| HEMMILES_TRANSPORT | No | Transport to use: 'stdio' or 'http'. | stdio |
| HEMMILES_TIMEOUT_MS | No | Per-request timeout in milliseconds (1000–60000). | 20000 |
| HEMMILES_USER_AGENT | No | Outbound User-Agent header. | hemmiles-mcp-server/1.0 … |
| HEMMILES_MAX_RETRIES | No | Retries for transient errors (0–5). | 3 |
| HEMMILES_DEFAULT_LOCALE | No | Default market (global, in, us, gb, ca, au, nz, ie, sg, ae, za). | in |
| HEMMILES_CACHE_TTL_SECONDS | No | In-memory cache TTL in seconds (0 disables). | 300 |
| HEMMILES_MIN_REQUEST_INTERVAL_MS | No | Minimum 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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:
Returns JSON: { total, count, sections: string[], pages: [{ url, path, section, locale }] }. Examples:
|
| 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:
Returns JSON: { url, path, locale, title, description, headings:[{level,text}], breadcrumbs:[], jsonldTypes:[], links:[{text,href}], text }. Error handling:
|
| 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:
Returns JSON: { query, total, count, offset, has_more, next_offset?, results: [{ url, path, section, title, score, snippet }] }. Examples:
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:
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:
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:
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:
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:
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:
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:
Returns JSON: { email?, demoUrl, contactUrl, pricingUrl, salesContactUrl?, note }. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
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.
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.
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.
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.