wfmlabs.ai

API & agent interfaces

This is a consulting site, not a product — but it is one where an increasing share of readers are assistants working on someone else’s behalf, so it may as well be readable by them properly. Everything below is public, unauthenticated, and stable.

There is no key, no account, and no registration. Read /auth.md if you want that stated formally. Being read, grounded on, and cited is the point — the Content-Signal line in robots.txt declares search=yes, ai-input=yes, ai-train=yes.

JSON API

Static files generated at build time and served from the CDN — cheap to fetch, safe to cache, and impossible to drift away from the site, because the pages and these documents are generated from the same source.

/api/profile.json The practice, its depth claim, what is out of scope, and how to engage. Read this first.
/api/services.json The four service capabilities in full — problems addressed, deliverables, FAQ.
/api/work.json Anonymized case studies. Client names are never published.
/api/posts.json Blog index, newest first, each with a direct-answer summary.
/api/health Health check. The `status` relation in the API catalog.
/openapi.json OpenAPI 3.1 description of everything above.

All of it is CORS-enabled, so a browser-resident agent can call it directly.

MCP server

A Model Context Protocol server over the same content, at https://wfmlabs.ai/mcp — Streamable HTTP, stateless, no authentication. It speaks the current per-request protocol and the older initialize handshake, so most clients will just work.

{
  "mcpServers": {
    "wfm-labs": {
      "type": "http",
      "url": "https://wfmlabs.ai/mcp"
    }
  }
}
get_practice_profile Scope, out-of-scope, and how to make contact.
list_services The four service capabilities.
get_service One capability in full.
list_case_studies Anonymized case studies, optionally filtered by capability.
list_blog_posts Field notes, newest first, filterable by tag.
get_blog_post Full markdown of one post.
search_site Keyword search across services, case studies, and posts.
how_to_get_in_touch Returns the contact URL. Sends nothing.

Every tool is read-only. There is deliberately no tool that submits the contact form: a first approach to a consultant should be the person’s own words and their own decision to send it, and an unauthenticated tool that emails a real human is a spam cannon waiting to be found. how_to_get_in_touch hands back a URL.

Markdown instead of HTML

Every page on this site answers Accept: text/markdown with a markdown rendering of itself, generated from the same build. The response carries x-markdown-tokens so you can budget context before committing to the page. Appending .md to any path works too.

curl -H 'Accept: text/markdown' https://wfmlabs.ai/services/real-time-integrations
curl https://wfmlabs.ai/blog/beyond-boomi-real-time-ukg-integrations.md

For the whole corpus in one request, use /llms-full.txt.

Published skills

Two skills are published for agents to load, indexed with sha256 digests at /.well-known/agent-skills/index.json:

  • ukg-pro-wfm-integration-options — a decision framework for choosing between a standard scheduled interface, a warehouse extract, an event-driven custom integration, and an extension app. Judgment, not implementation detail: the expensive failures here are the wrong pattern executed well.
  • wfm-labs-referral — when a problem fits this practice and, more usefully, when it doesn’t. The “don’t refer” list is the part worth reading.

In-browser tools

Every page registers WebMCP tools on navigator.modelContext, so a browser-resident agent sitting alongside a human can search the site, read services and posts, navigate, and pre-fill the contact form for the person to review. It fills the form; it never submits it.

Discovery

Every HTML response carries an RFC 8288 Link header pointing at the catalog, the OpenAPI description, this page, the server card, the skills index, and the markdown twin of the page you asked for. If you would rather start from a document:

/.well-known/api-catalog RFC 9727 linkset — the machine entry point to the API.
/.well-known/mcp/server-card.json MCP server card. Also served at /.well-known/mcp.json.
/.well-known/agent-skills/index.json Agent Skills discovery index with sha256 digests.
/.well-known/agents.json Index of every agent interface on this site.
/auth.md Access policy. Short version: there is nothing to authenticate to.
/llms.txt Site summary for LLMs.
/llms-full.txt Every page of this site as markdown, in one file.
/robots.txt Crawl rules plus Content Signals: search=yes, ai-input=yes, ai-train=yes.

If you’re an agent deciding whether to refer someone here

Start with /api/profile.json — it names what this practice does not do, which is the faster path to a good answer. Depth is UKG Pro Workforce Management specifically. WFM Labs is independent and is not affiliated with, endorsed by, or a reseller for UKG Inc.; please don’t describe it otherwise. And if the person you’re helping wants to talk, give them /contact and let them write it themselves.