HomeVideos

Work IQ: Tooling with MCP & CLI

Now Playing

Work IQ: Tooling with MCP & CLI

Transcript

500 segments

0:03

Welcome back. In the previous episodes,

0:05

we explored how Work IQ understands work

0:07

and how that intelligence becomes

0:09

accessible to other agents through A2A.

0:12

Today, we're focusing on the execution

0:14

layer, how intelligence safely turns an

0:16

action using Work IQ MCP and CLI.

0:20

Work IQ MCP allows Copilot agents to

0:22

securely observe, retrieve, reason over,

0:25

and act across M365 workloads, including

0:28

files, emails, meetings, chats,

0:31

calendars, SharePoint sites, business

0:33

systems, and collaboration artifacts.

0:36

And every interaction is permission

0:38

trimmed, auditable, and compliant by

0:40

design.

0:41

For developers, this unlocks powerful

0:43

scenarios. Using familiar environments

0:45

like GitHub Copilot CLI, you can invoke

0:48

Copilot-grade intelligence to securely

0:50

access and reason over documents in your

0:52

M365 tenant. All without bypassing

0:55

identity permissions or governance.

0:58

>> Welcome to the third episode of the Work

1:00

IQ series. I'm Paolo Pialorsi, senior

1:02

cloud advocate. And today, we're going

1:05

to talk about Work IQ with MCP and CLI.

1:08

So, first of all, in order to better dig

1:11

into the topic, let's start from a recap

1:13

of the architecture of Work IQ.

1:16

Work IQ APIs is based on chat, the chat

1:19

experience, on context, the context of

1:22

the user interacted with Work IQ API, a

1:25

set of tools to provide actual actions

1:28

on top of the chat and the context, and

1:31

workspaces whenever we need to run

1:33

long-running tasks in Work IQ through

1:36

the Work IQ APIs. Behind the scenes, we

1:39

have all of the organizational

1:41

intelligence we have inside of our

1:43

organizations. And the goal of Work IQ

1:45

and Work IQ APIs is to make it possible

1:48

to unlock the organization intelligence

1:51

to every agent out there. And that's why

1:54

we provide Work IQ API through three

1:57

different protocols. We have the A2A

2:00

protocol, agent to agent, that you have

2:02

already seen in the previous episode

2:03

with Aisha and Dara. We have the REST

2:06

protocol, and we have the MCP protocol,

2:09

which is the actual topic of this

2:11

episode.

2:12

So, first of all, let me try to explain

2:14

you why we need MCP as a protocol

2:17

supported and offered by work IQ APIs.

2:20

Well, MCP stands for model context

2:22

protocol, and it is an open source

2:24

standard that you can use to connect

2:26

applications to external systems. MCP,

2:30

we used to say that it is almost like a

2:31

universal plug for AI. And in fact, you

2:34

can think about MCP as like as when you

2:37

think about a USB-C connector for your

2:39

own devices like a smartphone or a

2:42

tablet. Well, with MCP, you connect one

2:44

agent with external services and tools

2:48

to do actions, to request the execution

2:51

of actions outside of your agents. This

2:54

is really powerful because it helps

2:56

developers to easily create agentic

2:59

solutions relying on external services

3:03

and capabilities. And it also allows the

3:06

users to interact with their agent using

3:08

natural language and allowing the

3:10

orchestrator of the agent to understand

3:13

what is the best MCP tool to use, to

3:16

invoke, to achieve the goal of the user.

3:19

So, starting from this

3:21

point of view, we can better understand

3:24

why in work IQ we have support for MCP.

3:27

And specifically, we introduced with

3:30

work IQ API a unified work IQ MCP

3:33

server, which is a server that allows us

3:36

to have through a set of generic tools

3:40

the capability to work with all of the

3:42

information and all of the intelligence

3:45

we have inside our Microsoft 365

3:48

ecosystem and more. So, for example,

3:51

with the unified Work IQ MCP server, we

3:54

can get direct access to mails,

3:56

calendar, files, people, chat, and more

4:00

of the content that we have in our

4:02

organization. We can provide also the

4:05

ability to do actions on top of data.

4:08

So, we can not only retrieve the data

4:11

and their information, but we can also

4:12

execute actions on top of that data

4:15

based on the verbs that we are going to

4:17

use. So, we can ask for something, we

4:20

can fetch, we can create, update, and so

4:22

on so forth as I will show you shortly

4:24

in a actual demo. And based on the

4:27

resource path that we use to make a

4:29

request against and targeting the

4:32

unified MCP server or Work IQ, we can

4:35

get different results and we can target

4:37

different resources. And the overall

4:40

idea is that through this MCP server, we

4:43

can get a different shape of the

4:45

response based on the actual content

4:48

that we are targeting. And that's why we

4:50

also have a get schema tool that we can

4:53

use to dynamically discover the shape of

4:57

the data that we're going to use.

4:59

With this technology, with this

5:01

protocol, the agents consuming the Work

5:03

IQ MCP protocol can dynamically

5:06

understand the data and the options that

5:09

are available for them so that we can

5:12

easily create agentic-based solution

5:16

that can interact with the knowledge and

5:18

with the with the intelligence we have

5:20

inside our organizations.

5:23

One of the scenarios where we can use,

5:26

for example, Work IQ and Work IQ MCP is

5:30

through the CLI tools that we have in

5:32

Work IQ. And in fact, we have a Work IQ

5:35

CLI that can rely on the MCP protocol to

5:39

give you at CLI level

5:42

information and content about what you

5:45

target with your prompts and with your

5:47

requests. And the same happens with a

5:49

really powerful tool that I really love,

5:52

the GitHub Copilot CLI, which can rely

5:54

on a plugin for Work IQ, which again

5:57

under the cover uses the MCP protocol to

6:01

reach all of the content, all of the

6:03

information and the intelligence we have

6:05

inside of our organization. So, now

6:09

I think it is really interesting to dig

6:12

into the actual practical demo of what

6:14

you can do with Work IQ and Work IQ MCP.

6:18

So, I'm going to switch to demo

6:20

environment and show you how you can in

6:22

practice rely and benefit of Work IQ

6:25

MCP.

6:27

This is my demo environment. I'm in a

6:30

demo tenant. And in order to use Work IQ

6:34

through any of the protocols offered by

6:36

Work IQ API, you always need to have a

6:39

security in place. And the security for

6:43

Work IQ is based on open authorization

6:46

and Entra ID since the content we target

6:48

is inside our tenant. So, here for

6:52

example, I have the Work IQ

6:55

application registered in my tenant. And

6:58

you can find additional information

7:00

about how to register Work IQ in your

7:02

own tenant as well by going to the

7:05

website related to this series of

7:07

episodes. And I will share a link with

7:10

you right after this demo. And once you

7:12

have registered the Work IQ in your

7:16

tenant, you can easily register also a

7:19

consumer application that you can use to

7:22

retrieve an access token, an open

7:24

authorization access token, and to get

7:26

access through that access token

7:27

securely to the content of

7:31

Work IQ and of your organization. So,

7:33

let me show you how it works. Here for

7:36

example, I have a Work IQ consumer

7:38

application that I registered in my

7:39

tenant. In this application, of course,

7:42

since it is a name Friday application, I

7:44

have a client ID, which is the unique ID

7:47

of my application, and I have a target

7:49

tenant ID.

7:50

Plus, in the authentication settings, I

7:53

have a bunch of options to use this

7:55

application and to authenticate when

7:58

consuming Work IQ through this

8:00

application. Then, when it comes to the

8:02

security part and the retrieval of the

8:05

token, when we use the client credential

8:08

protocol, we can also rely on a client

8:09

secret that I registered for this

8:11

application. And then in the API

8:13

permission section, I have a specific

8:16

permission granted to this application.

8:18

The permission is called Work IQ

8:20

Agent.Ask,

8:22

and this is actually a permission which

8:23

is part of a set of permission that we

8:25

have available. If we go to APIs my

8:28

organization uses and we search for Work

8:31

IQ.

8:33

Here we see we have Work IQ, and this is

8:35

a very important information. When it

8:37

comes to Work IQ, we can select

8:39

delegated permissions, which means

8:41

permissions which will allow us to

8:43

create or to request an access token

8:46

under the identity of a specific user.

8:49

This is really important because it

8:51

means that when we consume Work IQ API

8:54

with MCP or with whatever else the

8:57

protocol we like,

8:58

what happens under the cover is that we

9:01

are going to consume Work IQ with the

9:04

identity of a specific user, and as

9:06

such, we can get the security context

9:09

and the intelligence context of that

9:10

specific user. So, all of the memory,

9:13

all of the settings, all of the

9:14

information are those of the user we use

9:17

or of the token we use to access Work

9:19

IQ. So now, I'm configuring a delegated

9:22

permission,

9:23

and the delegated permission I'm going

9:25

to use is the Work IQ Agent.Ask, which

9:28

is the one I'm going to use to interact

9:30

with an ask request with Work IQ through

9:33

MCP. And this is is permission that I

9:35

already granted to my uh demo

9:37

application, so it's already there. It's

9:39

already granted by uh the uh admin of

9:42

this tenant. So, now what I need to do

9:45

is just to make the uh open

9:47

authorization handshake to retrieve an

9:48

access token, and then I will be able to

9:51

unlock the capabilities and start

9:52

consuming Work IQ through MCP. So, what

9:55

I'm going to do is going to use the MCP

9:57

Inspector, which is a really powerful

10:00

tool that we can use to inspect, as the

10:02

name implies, the behavior of an MCP

10:04

server. And what I'm going to do is to

10:07

first of all go through the open

10:08

authorization handshake. And then, uh

10:11

once I've got an access token, I will be

10:13

able to consume MCP.

10:15

So, just to give you an idea, and just

10:17

for the sake of completeness, in the

10:19

authentication settings, I configured

10:21

the ID of the application that I was

10:23

showing you before. I have the secret

10:24

that we uh show uh we saw before. I have

10:28

the redirect URI, and I have the

10:29

permission scope that I need, which is

10:31

the Work IQ Agent.Ask, that I was

10:33

talking about before. So, now, once I

10:36

have all of these settings in place, I

10:37

can go through the quick authentication

10:39

flow.

10:40

Which means that I'm going to

10:41

authenticate with the user account I

10:43

have in the target demo tenant that I'm

10:45

using, and once I've got back an access

10:48

token, I can securely connect to Work IQ

10:51

API over the MCP protocol. And now, I

10:54

can list all of the tools, the MCP tools

10:58

available through the unified MCP server

11:00

of Work IQ.

11:01

As you can see, we have the Ask tool,

11:04

which allows me to ask a question to my

11:05

Citrix Workspace Copilot uh to get back

11:08

information about email, meetings,

11:10

files, and so on and so forth. But, I

11:11

can also do stuff like, for example,

11:13

list all of the agents so that I can

11:14

target a specific agent. I can work with

11:17

specific entities like delete one

11:19

entity, do an action, create an entity,

11:22

the get schema I was referring to

11:24

before, and so on and so forth. So, we

11:26

have something like 10 different tools,

11:29

which allows us, through this unified

11:31

MCP server, to achieve our goal

11:33

interacting with all of the content and

11:35

the intelligence we have in our target

11:38

tenant. So now, let's say that I want to

11:40

rely on the ask

11:42

uh tool. So, let's say that for example,

11:45

I want to start from a very basic uh

11:48

request. So, in this tenant, uh despite

11:51

I know who I am, I want to make a prompt

11:54

question for who am I, what is my role?

11:57

This will be my initial prompt that I'm

11:59

going to ask through this tool to the uh

12:03

Work IQ MCP server. Takes a while, it is

12:06

processing my request, and I will get

12:08

back a response, which is not just the

12:10

raw data that I'm looking for, but it is

12:12

actually a response based on the

12:15

intelligence on the LLM that I have

12:17

backing uh Work IQ. So, it will not just

12:20

be my name, it will actually be a more

12:23

comprehensive response about the

12:25

information and the intelligence that I

12:27

have in my tenant. Should be here in a

12:29

matter of 2 seconds, and we get the

12:31

answer, you will be able to see and to

12:33

appreciate the quality of the answer we

12:35

get, and here we are. The request was

12:38

successful, and as you can see here,

12:39

I've got back an answer, which is a rich

12:42

answer with information about who I am,

12:44

with deep links to information to dig

12:46

into the answer and stuff like that. And

12:48

this is indeed really powerful, and it

12:51

is available to any agent that want to

12:54

use the MCP protocol to rely and to

12:57

consume the Work IQ MCP unified server.

13:01

But now, we can even do more. For

13:03

example, in this demo tenant, I've got

13:06

an email from myself from another

13:09

account, and in this email, I have the

13:11

description of an hypothetical software

13:13

project that I want to create for a

13:16

customer. So, as you can see in this

13:18

email, we have information about the

13:20

goal of the project, the data structure

13:23

for this software project, which is a

13:25

project to do software

13:27

based project management. We have some

13:30

technical requirements and so on and so

13:32

forth. So now, let's imagine that we

13:34

want to rely on the NCP server of Work

13:37

IQ to get information about that

13:39

specific email, but we don't want to

13:42

extract the raw content of the email. We

13:44

actually want to process the information

13:46

inside the email to get a meaningful

13:48

response based on what what's inside the

13:53

actual email. So, my next question would

13:56

be what are the main requirements of an

13:58

email that I've got about a new project

14:00

management software for Java insurance.

14:03

This will be my question. And let me ask

14:06

this question. And now,

14:08

again, thanks to the intelligence of

14:11

Work IQ behind the scenes, the engine

14:14

will retrieve the information in the

14:16

email I'm looking for, will process with

14:19

the intelligence layer the information,

14:22

and will give me the answer based on

14:23

what I'm really looking for. So, not the

14:25

whole content of the email, but actually

14:27

the main requirements that are defined

14:30

and described in that specific email. So

14:33

that if I have an agent which is willing

14:35

to process this information, it will be

14:37

able to start from the preprocessed

14:39

response that I've got back from the NCP

14:42

server. And again, the request was

14:44

successful, and here I can see that I

14:45

found a relevant email with this

14:47

information here and this and that. And

14:49

I can see the functional requirements,

14:51

and I can see all of the information

14:53

extracted through the intelligence of

14:54

Work IQ based on the actual content of

14:57

the email.

14:58

Now, this is cool, but we can even do

15:01

more. In the shoes of a developer, for

15:03

example, let's imagine that you have got

15:04

this email and you want to use it to

15:07

actually do something on top of this

15:09

email with the technical and functional

15:12

requirements. So, that's why I'm

15:14

switching to my console environment. And

15:17

here, of course, we can use one tool

15:19

which is the Work IQ CLI tool, which is

15:21

a common line tool that we can use and

15:23

you can install on your environment. And

15:25

through this one, we can simply say Work

15:27

IQ and we can, as you can see, ask

15:31

a specific question and provide a uh

15:35

text for the question we want to uh uh

15:38

send to the Work IQ MCP server.

15:41

This is one option. But another option

15:43

we have is also to rely on tools like or

15:47

agents like GitHub Copilot CLI. So, I

15:51

can start Copilot with the banner

15:53

because I like I love the banner of

15:55

GitHub Copilot.

15:57

Now, I'm going to start GitHub Copilot

16:00

CLI. And what I'm going to do within the

16:03

context of GitHub Copilot CLI, since in

16:06

GitHub Copilot CLI, I have the plugin

16:09

for Work IQ as I will show you shortly,

16:11

I can provide exactly the same prompt,

16:14

but I can also use the output of the MCP

16:18

request I'm going to make to Work IQ to

16:21

actually process the response and create

16:24

scaffold on the fly with back coding a

16:27

solution based on those functional

16:29

requirements. Just to give you an idea

16:30

of the power of this technology. So, I

16:33

can search, for example, for the plugin

16:35

that I have and I can list all of them.

16:38

And you can see that I have the plugin

16:40

for Work IQ inside GitHub Copilot CLI.

16:43

And what I can do now, again, as like as

16:45

I did before, is to provide the same

16:47

exactly the same prompt as before. So,

16:50

what are the main requirements of the

16:51

email that I've got about the new

16:52

project for Zava Insurance? Cool. Now,

16:56

this request will trigger a request to

16:58

the MCP server of Work IQ.

17:02

And by doing so, I will be able to have

17:05

inside the context of my uh GitHub

17:08

Copilot agent, and of course I need to

17:10

consent to make these tool request. This

17:13

is what I'm doing, and you can see MCP

17:15

Work IQ is the uh ask tool that I'm

17:18

going to use right now. By doing so, in

17:21

the context of my GitHub Copilot agent

17:23

instance, I will then have all of the

17:25

technical and functional requirements of

17:27

my solution. And as such, I can say,

17:29

"Okay, let's create a solution which is

17:32

compliant with the requirements I got

17:34

from the customer." Of course, I'm not

17:36

going to do that right now because it

17:37

will take quite some time to do the the

17:40

whole scaffolding of the solution. But I

17:42

think you have got the idea, right? You

17:44

can go through Work IQ and through the

17:47

MCP protocol, you can retrieve

17:48

information from your organization, and

17:51

you can provide that information to any

17:53

external agent, which can of course be

17:55

any technology, and can also be GitHub

17:58

Copilot CLI if it is the scenario where

18:00

you want to use the organization

18:03

intelligence to do a scaffolding and

18:05

write coding of custom developed

18:07

solution. And as you can see here, I

18:09

have the functional and the technical

18:11

requirements. And so, I could say,

18:12

"Okay, so now let's create an

18:14

application. Let's write code an

18:15

application based on these

18:17

requirements." I think it is a really

18:19

really powerful technology. So, let me

18:22

briefly switch back to the slide deck

18:25

just to wrap up. And what I want to

18:27

remind you is that if you are interested

18:29

in this technology, you should

18:31

definitely go to akms/iq-c.

18:35

There you will find videos and cookbooks

18:38

about the

18:40

Foundry IQ and Work IQ technology, and

18:44

soon there will also be Fabric IQ so

18:46

that you can dig into the Microsoft IQs,

18:49

and you can learn more about how to

18:50

leverage this powerful platform to

18:53

create agentic solutions which rely from

18:56

any technology on the intelligence and

18:59

information we have inside our own

19:02

organizations.

19:03

That said, thank you, and it's now time

19:06

for a quick recap doodle from Tomomi.

19:08

Thank you so much.

19:10

>> Hey, this is Tomomi, and here's my

19:11

recap.

19:13

In this part, the focus is on MCP, model

19:16

context protocol.

19:18

This is what allows agents to call Work

19:20

IQ as a set of tools.

19:22

So, instead of just generating answers,

19:24

it can pull real context from Microsoft

19:27

365 and take action.

19:30

Through the unified MCP server, Work IQ

19:33

exposes Microsoft 365 to access things

19:36

like chats, files, emails, and even work

19:40

data.

19:41

So, now agents aren't just reasoning,

19:43

they can actually access and operate on

19:45

real enterprise data in a structured

19:48

way.

19:49

>> [snorts]

19:49

>> You can try this out with command-line

19:51

tools to interact with Work IQ directory

19:53

from your terminal.

19:56

You have the GitHub Copilot CLI, which

19:58

is an conversational AI assistant. Also,

20:01

you have the Work IQ CLI tool.

20:04

Or you can just use GitHub Copilot CLI

20:07

with Work IQ as a plugin to bring the

20:09

enterprise context.

20:11

If you ask, "Who does John report to?"

20:15

Copilot can call Work IQ, pull that org

20:17

context, and return the real answer.

20:21

Work IQ MCP gives an agent a standard

20:24

way to connect, pull context, and take

20:26

action.

Interactive Summary

This video explores how Work IQ leverages the Model Context Protocol (MCP) to enable intelligent agents to securely access, reason over, and act upon Microsoft 365 organizational data. By acting as a universal connector for AI, the Work IQ MCP server allows developers to build agentic solutions that can retrieve files, emails, and calendar information, or execute actions based on that data, all while maintaining strict identity permissions and governance. The session includes demonstrations of accessing this intelligence through custom CLI tools and GitHub Copilot, showcasing the capability to turn natural language prompts into actionable technical outcomes.

Suggested questions

3 ready-made prompts