unlob Docs
Browse documentation

MCP profiles: two tools for grounding, or the full set

A profile shapes what tools/list advertises. The grounding profile lists two tools; the default lists every one, and every tool stays callable on both.

Why profiles exist

A model choosing among many tools reaches for plain search more often than for the call that would answer in one round trip, and every tool’s schema is context spent on every request. For most tasks the right surface is two tools: one that grounds an objective and one that fetches a document. The graph operations are still there for the tasks that need them.

Selecting one

Append ?profile= to the endpoint URL:

https://api.unlob.com/mcp?profile=grounding
https://api.unlob.com/mcp?profile=full
Profiletools/list reports
groundingground, get_document
full (default)Every tool: web_search, get_document, similar, why_not, browse, related, corroborate, authorities, dossier, path, assemble_context, ground, evidence_changes

An unknown profile name falls back to the default rather than to an empty list, so a typo cannot produce the characteristic MCP failure of zero tools and no error.

The same subset is readable without a session at https://api.unlob.com/mcp/tools.json?profile=grounding, which is what the tool reference is generated from.

Discovery, not permission

A profile changes what tools/list says. It does not change what tools/call accepts: a client connected on grounding that calls corroborate by name gets corroborate. The split is deliberate — a client that knows a tool’s name should never be refused, and a client that does not should not have to read about it.

Claude Code, for example

claude mcp add --transport http unlob "https://api.unlob.com/mcp?profile=grounding" \
  --header "x-api-key: $UNLOB_API_KEY"

Every client on Connect a client takes the profile the same way: it is part of the URL. Frameworks that let you filter tools client-side still can; the profile is the server-side default for clients that cannot.

Over stdio

The stdio server has no query string. Set UNLOB_MCP_PROFILE=grounding in its environment and it advertises the same two tools; the startup line names the profile and the tool count.

Next