IP Library Granted Patent US 12705267
Granted Patent B1
US 12705267 · App. 19/431,810 · Granted Aug 11, 2026

Query permission properties for controlling model context protocol (MCP) server tool access

Inventors: Quan Nguyen (San Francisco, CA); Marissa Jessica Lafontant Felix (Brooklyn, NY); Kenneth Sinder (San Francisco, CA)
Assignee: Notion Labs, Inc.
G06F16/3331G06F40/284G06F40/30
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12705267
App. No.
19/431,810
Granted
Aug 11, 2026
Kind
B1
Abstract

Disclosed herein are systems, methods, and computer-readable media for connecting a model context protocol (MCP) server, an MCP client, and a workspace application. In some embodiments, a first query is received from a first MCP client and a second query is received from a second MCP client, where the queries are associated with different users having different query permission properties within the workspace application. The different query permission properties may result in different sets of tools being executed to respond to each query.

Claims (136)

1 . One or more non-transitory, computer-readable storage media comprising instructions recorded thereon, wherein the instructions, when executed by at least one data processor of a system, cause the system to:

receive, at a model context protocol (MCP) server, a first query from a first MCP client,

wherein the first query is associated with a first user of a workspace application, and

wherein the first user is associated, within the workspace application, with a first query permission property;

based on the first query permission property, select a first set of tools for responding to the first query,

wherein each tool from the first set of tools is accessible by the MCP server via one or more API requests,

wherein each tool from the first set of tools, when executed, performs a particular function within the workspace application, and

wherein each tool from the first set of tools is associated with a description of the particular function performed when the tool is executed;

generate, by the MCP server, a first response to the first query by:

determining a subset of the first set of tools to execute to respond to the first query;

for each tool from the subset of the first set of tools:

providing as input, via the one or more API requests, a first set of context tokens based on the first query to the tool that generates, as output, a tool result; and

receiving, from the tool, the tool result; and

compiling each received tool result to generate the first response;

provide, via the MCP server, the first response to the first MCP client;

receive, at the MCP server, a second query from a second MCP client,

wherein the second query is associated with a second user of the workspace application,

wherein the second user is different from the first user, and

wherein the second user is associated, within the workspace application, with a second query permission property different from the first query permission property;

based on the second query permission property, select a second set of tools for responding to the second query,

wherein the first set of tools includes at least one tool that is not included in the second set of tools;

generate, by the MCP server, a second response to the second query; and

provide, via the MCP server, the second response to the second MCP client.

2 . The one or more non-transitory, computer-readable storage media of claim 1 :

wherein the first query permission property is based on a first set of credits associated with the first user,

wherein the first set of credits represents a first amount of previous API requests associated with the first user,

wherein the first set of credits indicates that the first user has access to a particular tool included in the first set of tools,

wherein the second query permission property is based on a second set of credits associated with the second user,

wherein the second set of credits represents a second amount of previous API requests associated with the second user,

wherein the second set of credits indicates that the second user does not have access to the particular tool, and

wherein the particular tool is not included in the second set of tools.

3 . The one or more non-transitory, computer-readable storage media of claim 1 :

wherein the first query permission property is based on the first user having a first subscription level within the workspace application, and

wherein the second query permission property is based on the second user having a second subscription level within the workspace application, the second subscription level including fewer features than the first subscription level.

4 . The one or more non-transitory, computer-readable storage media of claim 1 , wherein determining the subset of the first set of tools comprises:

determining, using one or more AI agents, a semantic meaning of the first query;

comparing, using the one or more AI agents, the semantic meaning to one or more descriptions associated with one or more tools from the first set of tools; and

based on the comparing, determining, using the one or more AI agents, the subset of the first set of tools to execute to respond to the first query.

5 . The one or more non-transitory, computer-readable storage media of claim 4 , wherein each received tool result is compiled by the one or more AI agents to generate the first response.

6 . The one or more non-transitory, computer-readable storage media of claim 1 , wherein generating the second response to the second query comprises:

determining a subset of the second set of tools to execute to respond to the second query;

for each tool from the subset of the second set of tools:

providing as input, via the one or more API requests, a second set of context tokens based on the second query to the tool that generates, as output, a tool result; and

receiving, from the tool, the tool result; and

compiling each received tool result to generate the second response.

7 . The one or more non-transitory, computer-readable storage media of claim 1 , wherein generating the second response to the second query comprises:

determining that the second set of tools is insufficient to respond to the second query; and

generating an insufficiency notification as the second response.

8 . A system comprising:

at least one hardware processor; and

at least one non-transitory memory storing instructions, which, when executed by the at least one hardware processor, cause the system to:

receive, at a model context protocol (MCP) server, a first query from a first MCP client,

wherein the first query is associated with a first user of a workspace application, and

wherein the first user is associated, within the workspace application, with a first query permission property;

based on the first query permission property, select a first set of tools for responding to the first query,

wherein each tool from the first set of tools is accessible by the MCP server via one or more API requests,

wherein each tool from the first set of tools, when executed, performs a particular function within the workspace application, and

wherein each tool from the first set of tools is associated with a description of the particular function performed when the tool is executed;

generate, by the MCP server, a first response to the first query by executing, via the one or more API requests, a subset of the first set of tools;

provide, via the MCP server, the first response to the first MCP client;

receive, at the MCP server, a second query from a second MCP client,

wherein the second query is associated with a second user of the workspace application,

wherein the second user is different from the first user, and

wherein the second user is associated, within the workspace application, with a second query permission property different from the first query permission property;

based on the second query permission property, select a second set of tools for responding to the second query,

wherein the first set of tools includes at least one tool that is not included in the second set of tools;

generate, by the MCP server, a second response to the second query; and

provide, via the MCP server, the second response to the second MCP client.

9 . The system of claim 8 :

wherein the first query permission property is based on a first set of credits associated with the first user,

wherein the first set of credits represents a first amount of previous API requests associated with the first user,

wherein the first set of credits indicates that the first user has access to a particular tool included in the first set of tools,

wherein the second query permission property is based on a second set of credits associated with the second user,

wherein the second set of credits represents a second amount of previous API requests associated with the second user,

wherein the second set of credits indicates that the second user does not have access to the particular tool, and

wherein the particular tool is not included in the second set of tools.

10 . The system of claim 8 :

wherein the first query permission property is based on the first user having a first subscription level within the workspace application, and

wherein the second query permission property is based on the second user having a second subscription level within the workspace application, the second subscription level including fewer features than the first subscription level.

11 . The system of claim 8 , wherein determining the subset of the first set of tools comprises:

determining, using one or more AI agents, a semantic meaning of the first query;

comparing, using the one or more AI agents, the semantic meaning to one or more descriptions associated with one or more tools from the first set of tools; and

based on the comparing, determining, using the one or more AI agents, the subset of the first set of tools to execute to respond to the first query.

12 . The system of claim 11 , wherein each received tool is compiled by the one or more AI agents to generate the first response.

13 . The system of claim 8 , wherein executing the subset of the first set of tools comprises:

for each tool from the subset of the first set of tools:

providing as input, via the one or more API requests, a set of context tokens based on the first query to the tool that generates, as output, a tool result; and

receiving, from the tool, the tool result; and

compiling each received tool result to generate the first response.

14 . A method comprising:

receiving, at a model context protocol (MCP) server, a first query from a first MCP client,

wherein the first query is associated with a first user of a workspace application, and

wherein the first user is associated, within the workspace application, with a first query permission property;

based on the first query permission property, selecting a first set of tools for responding to the first query,

wherein each tool from the first set of tools is accessible by the MCP server via one or more API requests,

wherein each tool from the first set of tools, when executed, performs a particular function within the workspace application, and

wherein each tool from the first set of tools is associated with a description of the particular function performed when the tool is executed;

generating, by the MCP server, a first response to the first query by executing, via the one or more API requests, a subset of the first set of tools;

providing, via the MCP server, the first response to the first MCP client;

receiving, at the MCP server, a second query from a second MCP client,

wherein the second query is associated with a second user of the workspace application,

wherein the second user is different from the first user, and

wherein the second user is associated, within the workspace application, with a second query permission property different from the first query permission property;

based on the second query permission property, selecting a second set of tools for responding to the second query,

wherein the first set of tools includes at least one tool that is not included in the second set of tools;

generating, by the MCP server, a second response to the second query; and

providing, via the MCP server, the second response to the second MCP client.

15 . The method of claim 14 :

wherein the first query permission property is based on a first set of credits associated with the first user,

wherein the first set of credits represents a first amount of previous API requests associated with the first user,

wherein the first set of credits indicates that the first user has access to a particular tool included in the first set of tools,

wherein the second query permission property is based on a second set of credits associated with the second user,

wherein the second set of credits represents a second amount of previous API requests associated with the second user,

wherein the second set of credits indicates that the second user does not have access to the particular tool, and

wherein the particular tool is not included in the second set of tools.

16 . The method of claim 14 :

wherein the first query permission property is based on the first user having a first subscription level within the workspace application, and

wherein the second query permission property is based on the second user having a second subscription level within the workspace application, the second subscription level including fewer features than the first subscription level.

17 . The method of claim 14 , wherein determining the subset of the first set of tools comprises:

determining, using one or more AI agents, a semantic meaning of the first query;

comparing, using the one or more AI agents, the semantic meaning to one or more descriptions associated with one or more tools from the first set of tools; and

based on the comparing, determining, using the one or more AI agents, the subset of the first set of tools to execute to respond to the first query.

18 . The method of claim 14 , wherein executing the subset of the first set of tools comprises:

for each tool from the subset of the first set of tools:

providing as input, via the one or more API requests, a set of context tokens based on the first query to the tool that generates, as output, a tool result; and

receiving, from the tool, the tool result; and

compiling each received tool result to generate the first response.

19 . The method of claim 14 , wherein generating the second response to the second query comprises:

determining a subset of the second set of tools to execute to respond to the first query;

for each tool from the subset of the second set of tools:

providing as input, via the one or more API requests, a set of context tokens based on the second query to the tool that generates, as output, a tool result; and

receiving, from the tool, the tool result; and

compiling each received tool result to generate the second response.

20 . The method of claim 14 , wherein generating the second response to the second query comprises:

determining that the second set of tools is insufficient to respond to the first query; and

generating an insufficiency notification as the second response.