# What is an MCP Query?

> An MCP Query is a Fishbowl query an admin approves once and saves in ILC MCP. Your team runs it from their AI assistant, each person can see only their own rows, and every change is a version you can roll back.

With ILC MCP, an AI assistant can write SQL against your Fishbowl data and answer almost any question. That doesn't mean everyone on your team should be writing their own queries, or that the same question should be worked out from scratch every time someone asks it.

An MCP Query is a query an admin approves once and saves in ILC MCP. After that, the people it's granted to run it from their AI chat by asking in their own words. It's called an MCP Query because you reach it through ILC MCP. It doesn't show up in Fishbowl. For queries saved in Fishbowl's own Data module, see [Data Module Queries](/blog/ai-data-module-queries-fishbowl).

<figure>
<svg class="mq" viewBox="0 0 720 432" role="img" aria-label="On the left, an admin asks the AI to save a query for the sales team showing each rep's open orders. The AI saves it as version 1, filtered to the person running it, granted to the Sales group, with a note that it's for internal use. On the right, a sales rep asks what their open orders are and gets only their own orders, with an option to export to Excel." style="display:block;width:100%;height:auto;border-radius:16px;font-family:'Hanken Grotesk',system-ui,sans-serif"><style>
.mq .a1{animation:mq-a1 14s infinite}
.mq .a2{animation:mq-a2 14s infinite}
.mq .a3{animation:mq-a3 14s infinite}
.mq .a4{animation:mq-a4 14s infinite}
.mq .a5{animation:mq-a5 14s infinite}
.mq .b1{animation:mq-b1 14s infinite}
.mq .b2{animation:mq-b2 14s infinite}
.mq .b3{animation:mq-b3 14s infinite}
@keyframes mq-a1{0%,3%{opacity:0}7%,92%{opacity:1}100%{opacity:0}}
@keyframes mq-a2{0%,14%{opacity:0}18%,92%{opacity:1}100%{opacity:0}}
@keyframes mq-a3{0%,20%{opacity:0}24%,92%{opacity:1}100%{opacity:0}}
@keyframes mq-a4{0%,26%{opacity:0}30%,92%{opacity:1}100%{opacity:0}}
@keyframes mq-a5{0%,32%{opacity:0}36%,92%{opacity:1}100%{opacity:0}}
@keyframes mq-b1{0%,46%{opacity:0}50%,92%{opacity:1}100%{opacity:0}}
@keyframes mq-b2{0%,57%{opacity:0}61%,92%{opacity:1}100%{opacity:0}}
@keyframes mq-b3{0%,68%{opacity:0}72%,92%{opacity:1}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.mq *{animation:none!important}}
</style>
<rect width="720" height="432" rx="16" fill="#1C2045"/>
<text x="32" y="44" font-size="13" font-weight="800" fill="#B8BCD6" letter-spacing=".08em">ADMIN</text>
<text x="380" y="44" font-size="13" font-weight="800" fill="#B8BCD6" letter-spacing=".08em">SALES REP</text>
<g class="a1"><rect x="24" y="60" width="324" height="64" rx="14" fill="#fff"/><text x="42" y="87" font-size="14.5" font-weight="700" fill="#1C2045">Save this for the sales team:</text><text x="42" y="108" font-size="14.5" font-weight="700" fill="#1C2045">each rep's open orders.</text></g>
<g class="a2"><rect x="24" y="140" width="324" height="200" rx="14" fill="#2E3466"/><text x="42" y="166" font-size="11" font-weight="800" fill="#FAB435" letter-spacing=".06em">AI ASSISTANT</text><text x="42" y="192" font-size="15" font-weight="800" fill="#fff">Saved my_open_orders</text><rect x="246" y="176" width="40" height="22" rx="6" fill="#FAB435"/><text x="266" y="192" text-anchor="middle" font-size="12.5" font-weight="800" fill="#1C2045">v1</text></g>
<g font-size="13.5" font-weight="700" fill="#fff">
<g class="a3"><text x="42" y="228">✓ Each person sees only their own</text></g>
<g class="a4"><text x="42" y="258">✓ Granted to the Sales group</text></g>
<g class="a5"><text x="42" y="288">✓ Note: internal use only</text><text x="42" y="318" font-size="12.5" fill="#B8BCD6">Every save is a new version.</text></g>
</g>
<g class="b1"><rect x="372" y="60" width="324" height="44" rx="14" fill="#fff"/><text x="390" y="88" font-size="14.5" font-weight="700" fill="#1C2045">What are my open orders?</text></g>
<g class="b2"><rect x="372" y="120" width="324" height="220" rx="14" fill="#fff"/><text x="390" y="146" font-size="11" font-weight="800" fill="#6B6F86" letter-spacing=".06em">MY_OPEN_ORDERS · 3 ROWS</text>
<g font-size="11.5" font-weight="800" fill="#6B6F86" letter-spacing=".05em"><text x="390" y="176">ORDER</text><text x="460" y="176">CUSTOMER</text><text x="680" y="176" text-anchor="end">VALUE</text></g>
<g stroke="#E6E7EF"><line x1="386" y1="186" x2="682" y2="186"/><line x1="386" y1="220" x2="682" y2="220"/><line x1="386" y1="254" x2="682" y2="254"/></g>
<g font-size="14.5" font-weight="600" fill="#1C2045"><text x="390" y="208">10412</text><text x="460" y="208">Acme Supply</text><text x="680" y="208" text-anchor="end">$8,420</text><text x="390" y="242">10427</text><text x="460" y="242">Cedar Labs</text><text x="680" y="242" text-anchor="end">$3,150</text><text x="390" y="276">10433</text><text x="460" y="276">Delta Tools</text><text x="680" y="276" text-anchor="end">$2,975</text></g></g>
<g class="b3"><rect x="390" y="296" width="134" height="28" rx="7" fill="#DDF1E5"/><text x="457" y="315" text-anchor="middle" font-size="12.5" font-weight="800" fill="#17603A">Export to Excel</text></g>
<text x="360" y="392" text-anchor="middle" font-size="14" font-weight="700" fill="#B8BCD6">The admin approves the query once. The team runs it from their AI chat.</text>
</svg>
<figcaption>An admin saves a query for the sales team, and a sales rep runs it and sees only their own orders.</figcaption>
</figure>

## How an admin saves one

1. **Ask the question first.** The AI writes the SQL and tests it on your Fishbowl data until the answer is right.
2. **Ask the AI to save it.** Only admins can save MCP Queries, and a saved query can only read data.
3. **Describe it.** The description tells your team, and their AI assistant, what the query answers, so the right query gets picked. You can add a note that comes back with every run, like "Internal use only. Don't share prices with customers."
4. **Add choices.** A query can ask for a date range, a customer or a part number when it runs.
5. **Grant it.** A new query is visible to admins only until you grant it to everyone, a group or one person.

## Each person sees their own rows

An MCP Query can filter on the person running it. ILC MCP fills in who that is from their login, and nobody can type in someone else's name. A sales rep who asks "what are my open orders?" gets their own orders, and the same query gives the next rep theirs.

## How your team uses it

People ask in their own words. Their AI assistant looks at the queries they're allowed to run, picks the one that answers the question and fills in the choices. People who aren't allowed to write their own SQL can still get answers, from the queries you approved.

A chat shows up to 1,000 rows. People allowed to export can get every row as an Excel file instead.

## Changing a query

Saving a query again creates a new version, with a note about what changed. If a change is wrong, you can roll back to an earlier version. You can also disable a query, which hides it from everyone but admins until you turn it back on.

## Limits today

- An MCP Query reads data. It can't change anything in Fishbowl.
- It's one query. A report with several sections or a printed layout is a [CloudPage](/blog/ai-cloudpages-fishbowl), [BI Report](/blog/ai-bi-report-fishbowl) or [Jasper report](/blog/ai-jasper-reports-fishbowl).
- MCP Queries live in ILC MCP. If you want a query people can also run inside Fishbowl, save it as a [Data Module Query](/blog/ai-data-module-queries-fishbowl).

MCP Queries are included with ILC MCP.

## Where to start

Think of the question your team asks you most often, like "what's late?" or "what did we ship to this customer?" Have the AI answer it once, save it, and grant it to the people who ask. If you'd like help picking the first few, [tell us what your team asks](/contact).

**Related:**
- [Can an AI assistant build a Fishbowl report and install it?](/blog/ai-builds-fishbowl-reports)
- [Can your AI assistant run your Fishbowl Data module queries?](/blog/ai-data-module-queries-fishbowl)
- [ILC MCP for Fishbowl](/fishbowl-mcp)

---

*From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published October 19, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact*
