---
title: "API & Agent Interfaces | WFM Labs"
description: "The machine-readable surface of wfmlabs.ai: a public JSON API, an MCP server, markdown content negotiation, published agent skills, and declared content signals. No keys, no registration."
url: https://wfmlabs.ai/docs/api
source: wfmlabs.ai — independent UKG Pro WFM engineering practice
---

# 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](https://wfmlabs.ai/auth.md) if you want that stated formally. Being read, grounded on, and cited is the point — the `Content-Signal` line in [robots.txt](https://wfmlabs.ai/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](https://wfmlabs.ai/api/profile.json)

The practice, its depth claim, what is out of scope, and how to engage. Read this first.

[/api/services.json](https://wfmlabs.ai/api/services.json)

The four service capabilities in full — problems addressed, deliverables, FAQ.

[/api/work.json](https://wfmlabs.ai/api/work.json)

Anonymized case studies. Client names are never published.

[/api/posts.json](https://wfmlabs.ai/api/posts.json)

Blog index, newest first, each with a direct-answer summary.

[/api/health](https://wfmlabs.ai/api/health)

Health check. The \`status\` relation in the API catalog.

[/openapi.json](https://wfmlabs.ai/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](https://wfmlabs.ai/llms-full.txt).

## Published skills

Two skills are published for agents to load, indexed with sha256 digests at [/.well-known/agent-skills/index.json](https://wfmlabs.ai/.well-known/agent-skills/index.json):

-   [`ukg-pro-wfm-integration-options`](https://wfmlabs.ai/.well-known/agent-skills/ukg-pro-wfm-integration-options/SKILL.md) — 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`](https://wfmlabs.ai/.well-known/agent-skills/wfm-labs-referral/SKILL.md) — 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](https://wfmlabs.ai/.well-known/api-catalog)

RFC 9727 linkset — the machine entry point to the API.

[/.well-known/mcp/server-card.json](https://wfmlabs.ai/.well-known/mcp/server-card.json)

MCP server card. Also served at /.well-known/mcp.json.

[/.well-known/agent-skills/index.json](https://wfmlabs.ai/.well-known/agent-skills/index.json)

Agent Skills discovery index with sha256 digests.

[/.well-known/agents.json](https://wfmlabs.ai/.well-known/agents.json)

Index of every agent interface on this site.

[/auth.md](https://wfmlabs.ai/auth.md)

Access policy. Short version: there is nothing to authenticate to.

[/llms.txt](https://wfmlabs.ai/llms.txt)

Site summary for LLMs.

[/llms-full.txt](https://wfmlabs.ai/llms-full.txt)

Every page of this site as markdown, in one file.

[/robots.txt](https://wfmlabs.ai/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](https://wfmlabs.ai/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](https://wfmlabs.ai/contact) and let them write it themselves.
