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

Loading summary...