Skip to main content
Tools & Catalog

Catalog modes: compact and minimal tool serving

A single broad connector can expose hundreds of tools, and a multi-connector tenant can easily have far more tools than an AI client can hold. Many clients cap the tool list on their side and drop the…

Written By Christopher Scaminaci

Last updated 3 days ago

A single broad connector can expose hundreds of tools, and a multi-connector tenant can easily have far more tools than an AI client can hold. Many clients cap the tool list on their side and drop the overflow silently. Catalog mode is the fix: instead of handing a harness your whole catalog, StackJack can serve it a small, searchable surface and let the AI discover any tool on demand. Use the generated connector catalogs when you need the current per-connector totals.

Catalog mode changes what a harness sees, not what it is authorized to do. Permissions still come from the MCP client's Allowed Tools, configured connector credentials, subscriptions, and the runtime safety gates. Permitted, configured connector tools remain reachable either directly or through catalog discovery and dispatch, and every runtime check still fires. Modes and pins are presentation, never authorization. One deliberate routing exception applies in Minimal mode: grant-gated Automation run/configuration/authoring tools are not routed through stackjack_platform; search tells the harness to switch to Compact or Full so each tool appears natively with its grant boundary visible.

This page is the deep dive. For choosing which tools a client may call at all, see Choosing tools for each client.

How catalog modes become active

The compact endpoint is the exception to everything on this page. A connection that arrives on your compact address is served the compact catalog always, whatever your organization has chosen and however large or small your catalog is. That address exists for one purpose and it does that one thing. Everything below describes the standard endpoint.

On the standard endpoint your organization has one of three enablement states:

  • Explicitly on — an administrator enabled catalog modes on the Settings page. Mode settings, pins and ?tools= overrides can take effect on every eligible interactive connection.
  • Explicitly off — an administrator turned the feature off. Every connection to the standard endpoint receives the pre-feature full catalog; stored mode settings, pins and query-string overrides remain inert.
  • Never chosen — the platform can decide per connection. A known tool-capped harness receives its configured reduced mode only when the resolution reaches auto-detection (no URL, host, or stored mode won first) and the tenant's estimated permitted, configured catalog exceeds that harness's operational threshold. Other connections receive the pre-feature full catalog. This decision is not persisted as an organization-wide opt-in.

To make the behavior deterministic across your standard-endpoint connections, open Settings (in the sidebar, under More) and save Enable catalog modes for this organization as on or off. You may configure modes and pins before opting in; they remain inert on the standard endpoint until the organization is explicitly on. A ?tools= override does not itself opt in a never-chosen or explicitly-off organization, and neither does using the compact address — the compact address serves compact without changing your organization's setting at all. On a never-chosen tenant, any URL, host, or stored mode that wins the precedence chain also prevents auto-detection from being the source for that request, so preconfiguration can deliberately leave a standard-endpoint connection on Full until you enable the organization.

Why harnesses need a smaller catalog

Two different problems push in the same direction. Some AI clients impose a hard tool budget and drop or refuse anything past it, often without telling you which tools went. Others have no published cap at all but become less reliable as the catalog grows: every tool description spends context, and a model picks worse from a menu of thousands than from a menu of thirty. A reduced mode helps in both cases, and it costs you nothing, because permitted, configured tools stay reachable through the catalog tools either way.

Client tool limits

This is the one maintained table for every tool-budget number in these docs. If another page quotes a figure that disagrees with a row here, this row is the one to trust.

Where a vendor publishes a number, the table links it. Where StackJack has only its own testing to go on, the row says so — a compatibility observation is guidance, not a promise about a vendor's current implementation.

"Auto-reduce threshold" is StackJack's own operational number for that client, not a vendor limit. It is configuration, deliberately set at or near the client's known cap. When the threshold is actually tested depends on your organization's enablement state, described above: an organization that is explicitly on gets the client's reduced mode selected by auto-detection with no size test, while an organization that has never chosen gets it only when the estimated permitted, configured catalog exceeds this number. An explicitly off organization always gets Full on the standard endpoint. None of this applies on the compact address, which serves compact regardless.

Recognition happens two ways. The four clients listed with a threshold are recognized by how the tool identifies itself. Microsoft 365 Copilot connections are recognized too — by how the connection signs in rather than by the tool's name — and that recognition carries no client-specific number, because no tool-list ceiling has ever been observed for it: an explicitly on organization gets compact on the standard endpoint with no size test, while one that has never chosen gets compact once its estimated permitted, configured catalog clears StackJack's general auto-reduce threshold. Every other client needs a mode set in the Portal, the compact address, or ?tools= — and that includes the two other products with Copilot in the name, GitHub Copilot in VS Code and Microsoft Copilot Studio, which are separate products and present nothing StackJack can recognize them by.

ClientAuto-reduce threshold and modeWhat StackJack has observedPublished vendor limit
Claude / Claude Desktop / Cowork256 → compactClaude Desktop re-sorts a large catalog alphabetically and then truncates it, so no server-side ordering protects a given tool.Not verified in this documentation.
claude.ai (web)256 → compact when the connection registers under the name "Claude"; otherwise set the mode yourself.Large catalogs degrade, and an existing connector definition can retain a cached tool list. Re-add the connector after changing mode.Not verified in this documentation.
Cursor40 → minimalCursor has been observed warning "The limit is 40 tools", counted across every MCP server. Treat 40 as the planning number.Not verified in this documentation; Cursor's current official docs state no numeric cap.
Windsurf100 → minimalCascade counts tools across every MCP server combined, and StackJack plans against a 100-tool ceiling.Not verified in this documentation.
GitHub Copilot in VS CodeNot auto-detected. Set compact or minimal yourself.StackJack serves hundreds of tools once a few connectors are configured, so this cap is reached quickly.128 enabled tools per request, counting built-in tools and every MCP server. Its optional virtual-tools setting can manage larger inventories on demand.
Microsoft Copilot StudioNot auto-detected. Use compact.stackjack.io.70 tools per MCP server, observed in StackJack testing in June 2026 and enforced by StackJack's own tool-selector warning. Microsoft's published quotas page, checked 2026-07-15, documents no per-server MCP tool cap.Microsoft's Business Central MCP guidance is the source this documentation cites for the 70. Its Copilot Studio tool guidance separately caps generative orchestration at 128 tools per agent and recommends 25–30 for best results.
Microsoft 365 Copilot (connector)Recognized by how the connection signs in, with no client-specific number. On the standard endpoint: compact for an explicitly-on organization, and compact for a never-chosen one once its catalog clears the general auto-reduce threshold. On compact.stackjack.io: always compact.Copilot connectors are a retrieval surface (search-and-fetch style tools). No tool-list ceiling has ever been observed for it, which is why this row carries no number. StackJack's published connector setup uses the compact host as the Base URL.Not verified in this documentation.
Claude CodeNot auto-detected; full or compact both work.Handles larger MCP inventories well. A smaller menu still improves context use and tool choice.Not verified in this documentation.
Any other clientNot auto-detected.Unknown until you test it. If tools go missing, start at compact.Check the vendor's own documentation.

Two Copilot numbers are often confused. The 70 is Microsoft Copilot Studio, per MCP server. The 128 is GitHub Copilot in VS Code, per chat request — a different product. Copilot Studio has its own separate 128-tool per-agent orchestration ceiling, so adding a second MCP server does not buy room against the agent-wide budget. Microsoft 365 Copilot is a third product and has no number here at all — it is the only one of the three StackJack recognizes on its own.

Treat every "not verified" row as a planning figure rather than a contract: it can change with a client update and StackJack does not learn about the change. Re-test after your AI application updates, and prefer a reduced mode over sitting just under a cap.

The three modes

  • Full — every ordinary platform tool and every permitted, configured connector tool is listed. When catalog machinery is active, the four direct catalog tools for discovery and dispatch are also listed; the folded stackjack_platform router is hidden because the real tools are already present.

  • Compact — ordinary platform tools, the four direct catalog tools for discovery and dispatch, the two mode-inspection/switch tools, and pinned connector tools are listed. The router and unpinned connector tools are hidden. The AI calls stackjack_search_tools to find an unpinned tool and then dispatches it through the route returned by search.

  • Minimal — the five catalog tools (including the stackjack_platform router), the two mode-inspection/switch tools, stackjack_get_quota_status, and pinned connector tools are listed. Other ordinary platform tools are reached through the router and unpinned connector tools through the catalog dispatchers when permitted. Grant-gated Automation run/configuration/authoring tools require Compact or Full and are reported as mode_change_required rather than being routed around their native grant boundary.

    stackjack_get_quota_status is the one ordinary platform tool minimal keeps by name, for the same reason the mode-switch tools are kept: minimal is the mode for the tightest tool budgets, and those are the connections most likely to work through a monthly allowance and get stopped by it. A harness that cannot see the tool would not think to ask a router for it. It is still routable through stackjack_platform as well. See Checking your remaining call allowance.

The five catalog tools are stackjack_search_tools, stackjack_describe_tools, stackjack_run_readonly_tool, stackjack_run_tool, and stackjack_platform. They are Free and appear only when catalog machinery is active. Full and compact list the first four; minimal lists all five. Dispatching a tool through them runs the real tool body with every permission, configuration, subscription, billing, and safety check applied, and usage is attributed to the tool you actually ran. See Platform tools for what each one does.

Because compact mode shrinks the served list rather than restricting it, it often removes the need to split one broad MCP client into several narrow ones — though splitting by job function still helps the AI pick tools reliably, so the two techniques work together.

Pinned tools

Pinned tools are the tools you always want visible by name in compact and minimal mode — your day-to-day handful (create a ticket, list devices) that the AI shouldn't have to search for. Pin up to 50. Pins are presentation only: they never widen what a client may call, and unknown or unavailable pins are simply dropped.

Setting the mode

Catalog mode is set in three places, and the most specific one wins:

  1. Per MCP client — on MCP Setup, when editing a client ("Catalog mode").
  2. Per team member — on the Connectors page, in the My AI tool catalog card. Every team member sees this card, and so does the account owner — whose own setting would otherwise quietly outrank the organization default with nowhere to change it. (If your account has no membership record on the organization, there is no per-user setting to hold; the card is replaced by a note saying so, and the organization default applies.)
  3. Organization default — on the Settings page ("Default catalog mode"), inherited by everything that doesn't override it.

Every organization-wide catalog setting — the switch that turns catalog modes on, the default mode and the default pinned tools — is on the Settings page. Everyone in your organization can open it and read the current values; owners, co-owners and administrators can change them.

A connected harness can also change its own mode. Once your organization has opted in, a connection backed by a persisted MCP-client credential or an active membership can call stackjack_set_catalog_mode to move itself to full, compact or minimal — that is the point: a client whose tool list is being truncated is the one that knows it, and it can fix itself without waiting for an admin. It writes the same per-client or per-member setting you see above (never the organization default), so the portal shows whatever it last chose, and stackjack_get_catalog_mode reports the mode a connection is on right now. A connection with neither persistence target receives no_persistence_target and must use an administrator-set default or a supported URL override instead. See Platform tools.

And it can hand the decision back. Calling the same tool with inherit instead of a mode clears the connection's own setting, so it follows the organization default again — the harness's word for the Auto (inherit) choice you see in the portal. A harness that put itself on minimal is therefore not stuck there, and neither are you: clearing the setting is also a portal action on whichever level holds it.

Leave a level on Auto (inherit) to fall through to the next one. For an explicitly-on organization with no higher-precedence mode, StackJack auto-detects configured known-capped harnesses (Claude, Claude Desktop, Cursor, and Windsurf, plus Microsoft 365 Copilot connections by how they sign in) and selects their reduced mode. For an organization that has never chosen, that auto-detected mode activates only when no URL, host, or stored mode won first and the estimated permitted, configured catalog is above the matched operational threshold. An explicit mode setting always beats auto-detection—even while it remains inert on a never-chosen tenant.

The Catalog defaults card — the "Enable catalog modes for this organization" opt-in toggle, the Default catalog mode selector, and the pinned-tools picker. It is on the Settings page now; this capture is from when it sat on the MCP Setup page.
The Catalog defaults card — the "Enable catalog modes for this organization" opt-in toggle, the Default catalog mode selector, and the pinned-tools picker. It lives on the Settings page.

Overriding per connection with ?tools=

Where your client lets you edit the server URL, append ?tools=compact (or ?tools=minimal / ?tools=full) to it:

https://mcp.stackjack.io/mcp?tools=compact

That host is the US example, not the only valid address. StackJack serves each region on its own hostnames, so append the query string to your workspace's endpoint rather than copying this one. Your endpoint is on MCP Setup in the Portal, and Your region and your endpoint explains which standard, compact, and per-connector hosts apply to you. The same applies to every stackjack.io host quoted on this page.

This beats every Portal setting for that one connection, which makes it the quickest way to test a mode. It does not beat a serving-profile address: on a compact address the parameter is ignored, because that address always serves the compact catalog. Use it on your standard endpoint address.

Caveat — it doesn't work everywhere. Treat ?tools= as a convenience, not the primary control: some clients reject or strip query strings from MCP server URLs. Microsoft Copilot Studio models a server as host + path with no room for one at all. If your client cannot preserve the query string, use the host alias below or set the mode in the Portal instead.

Serving profiles by host alias

Some harnesses can't carry a ?tools= query string on the server URL at all — Microsoft Copilot Studio models a server as host + path with no room for one, while other clients may reject or strip query strings. For those, StackJack serves the compact profile on a dedicated hostname. Point the harness at the compact host instead of the standard one — in the US that is https://compact.stackjack.io/mcp instead of https://mcp.stackjack.io/mcp, and other regions have their own pair, which MCP Setup shows you. Every request on the compact host is served the compact catalog automatically — no query string, no per-connection Portal setting. Authentication and permissions are unchanged and every permitted, configured connector tool stays reachable; only the served list shrinks. The Minimal-mode Automation-platform exception described above still applies if the connection later selects Minimal.

The compact address needs no setup at all. It serves the compact catalog for every organization — one that enabled catalog modes, one that turned them off, and one that has never chosen. There is nothing to enable first and nothing that can switch it off by accident, which is the point of having a separate address. It does not change your organization's setting either: your standard endpoint keeps behaving exactly as your Endpoints choice says. Nothing appended to that URL changes it either: a ?tools= parameter is ignored on a serving-profile address, so there is no way to be served something else there — connect to your standard endpoint address for that. For OAuth sign-in connections like Copilot Studio's dynamic discovery, the per-client setting on Endpoints doesn't apply — the compact address (or the organization default, or the per-member setting on the Connectors page) is how those connections select compact.

Which setting wins

Catalog mode can be chosen at several levels; the highest one present decides:

PrioritySignalWhere you set it
1 (highest)Host aliasConnect to a serving-profile host such as compact.stackjack.io. On such an address this is the whole answer — every signal below it, ?tools= included, is ignored
2?tools= on the server URLAppend ?tools=compact (or minimal / full) to the URL — on your standard endpoint address
3Per MCP clientMCP Setup → edit client → Catalog mode
4Per team memberConnectors → personal sign-ins → My AI tool catalog
5Organization defaultSettings → Default catalog mode
6Auto-detectConfigured for known capped harnesses (Claude, Claude Desktop, Cursor, Windsurf), and for Microsoft 365 Copilot connections by how they sign in; a never-chosen organization must also exceed the matched operational threshold, or the general one where the client has no number of its own
7 (fallback)Full catalog—

For an explicitly-on organization, both URL-shaped signals — the host, then the query string — beat every stored Portal setting, because each is an explicit per-connection choice for that endpoint. The address is the stronger of the two on purpose: a serving-profile address exists to serve one catalog and does so every time, so ?tools= is the escape hatch on your standard endpoint address rather than a way to change what a compact address serves. An explicitly-off organization always receives Full on the standard endpoint. A never-chosen organization can use only the thresholded known-capped-harness auto-default, and only when the precedence chain actually reaches auto-detection; its URL, host, stored modes, and pins remain inactive until an administrator enables the feature, while a winning URL/host/stored mode suppresses the auto-default for that request.

StackJack compatibility observation: claude.ai may need a reconnect

StackJack compatibility testing has observed claude.ai retaining an existing connector's tool list after a mode change. If the new mode does not appear, remove and re-add the connector (or change its URL, which creates a new connector definition). Other harnesses generally pick up a new list after they reconnect or request tools/list again.