Okay, let's dig in.
So first up we used the Fire Crawl MCP server five times.
And these were in fact all fire crawl searches.
All five of them.
I looked through them.
And that's interesting.
Last time I did five searches and then a bunch of scrapes.
This time it didn't bother with the scrapes.
It decided it had enough information from from these searches that it was good to go.
And that's okay.
The reason that we love Agentic AI is because we want the LLM to make its own decision about what it
wants to do next, based on the information it has to hand, and that is what it decided.
If we wanted it to be rigid and we wanted it to always first do a search and then do a scrape, then
we should set up separate workflows steps and use something like structured outputs and different prompts
to make it operate in that regimented way.
But the idea of Agentic AI is no.
Let the LLM decide based on the information it has to hand.
And that is exactly what we did.
Okay.
So how about these 13 uses of Hunter.
So in fact it was all using different email tools.
So Hunter has a bunch of them.
It was using a the email finder and the email verifier to check emails.
And it was also using something else as well.
I seem to remember hang on, it was using domain search as well.
So it was using a bunch of different tools that that that Hunter makes available to try and really dig
in to, to make the best shot at finding a reliable email address.
So it really took the time over that, and that's pretty cool.
And that's why as a result, we end up with this results with five good prospects here, starting with
Yuval Adson, uh, Atzmon from McKinsey and company, uh, the senior partner and CFO at McKinsey.
And with this, that apparently is a very good guess, a very good prediction of his email address.
Um, from Hunter.io.
And then this is the CFO of BCG.
And similarly that's a very credible looking email courtesy of Hunter.io.
And you'll find the same for the others.
And hopefully you have something similar.
So this is really great to see.
If you look here by the way you can see the whole flow of everything that happened.
An awful lot happened.
This was a pretty sophisticated workflow.
And let's face it, it was actually pretty easy just adding these two MCP clients.
There really wasn't much to it.
In fact, the hardest part of all this was just explaining all the terminology about MCP, MCP, client
and host and server and streamable, HTTP and everything else.
Actually using MCP was super easy and that's how it often is.
MCP is very easy to use.
We just bunged on extra tools here.
Now I have a secret that I should reveal, which I didn't want to reveal it, but I probably should
that whilst what we did with Fire Crawl was totally legit because Fire Crawl doesn't have tools.
It turns out that, uh, that, uh, Hunter.io does, in fact have a tool.
And so we could have just used the tool right here instead of using MCP.
But one thing is that we would have then had to have picked these three things separately and had three
separate tool operations, and it would have been more messy and more clunky.
So it was easier perhaps to use MCP, but that is a bit of a stretch.
The bottom line is, if you can use an na n node, you're probably should.
And I had a really hard time finding things that didn't already have an N nodes.
Uh, that.
Which is why we've used this this, uh, Hunter MCP client.
Anyway, just so we could put MCP to good use.
But the fire crawler one was totally legit.
That one I stand behind.
But anyway, here we go.
We've explored and we've used MCP servers.
Uh, we've built the MCP clients to connect to the MCP servers other people have provided and they've
worked great for our business objective.
Okay, now we're gonna do something crazy.
We're going to turn all of this into an MCP server so that someone else can use it.
Which is confusing because this itself contains MCP clients which call other MCP servers.
But we're going to package all of this up to make it into a tool which the outside world can use.
Are you ready for this?
That's what we're going to do now.
I'm going to do it quite fast and I will do recaps another time.
And it's not a common task that you'd often want to do this.
So it's more for the show of it.
So let's let's go and do it.
Okay.
First up I'm going to do something crazy.
I'm going to delete this chat message thing here.
I'm going to add a new trigger.
And the trigger is going to be when executed by another workflow, meaning that this whole workflow
is going to become something that can be called by another workflow.
And, and I'm going to have it have one input field, which is going to be query, which is going to
be the user's question, so that the query has to be passed in to this workflow and that will trigger
this whole thing running.
So far you may be only half with me, but when I escape, here we go.
When executed by another workflow, this is the new trigger.
This is replacing the chat window.
And so now I just have to edit this agent.
It can't be that anymore.
It's not connected to a chat trigger node.
We need to define it and we're going to define it.
Can you think we're going to define it.
What do you think it's going to be.
It's going to be JSON query.
We want to take the query fields from what comes in okay.
So what comes in is then going to to be passed in here as the query okay I'm also going to name this.
It's currently called my workflow 18.
And I'm going to call it something different I'm going to have it be called prospecting.
Prospecting I'm going to call it Subagent.
Now, that might sound fancy to you.
My point is that since this is itself a whole agent flow that can be kicked off by another workflow,
then this whole thing is what we could describe as like a subagent.
It's an agent that could run as part of some bigger, grander plan.
And we're going to cover some agents tomorrow.
So you don't need to worry too much about this, but just get a sense.
We're calling this prospecting Subagent because it's able to prospect, and it is a little agent that
can be within a bigger, grander plan.
All right.
Okay.
Back to amplify again.
Now in MCP, we have prospecting subagent.
Let's make a new workflow.
And this time we're going to call it prospecting MCP.
Here we have it.
And I'm going to add a step which is going to be an MCP server trigger.
Expose tools as an MCP server endpoint.
So here we go.
I open this up and look.
It's given me some URLs.
It's given me a test URL and a production URL.
And this is a URL that you could share with somebody else to say, hey, I'm running an MCP server.
Connect to me if you want access to my tools.
Okay.
So, uh, here we go.
Here it is MCP server trigger.
It's going to expose whatever tools we put here to the outside world as an MCP server.
And what we can put in here can be any, any, any tools that are available from, from all the different
tools we've looked at at the past, including like the, the, the, um, not the firewall tool, the,
the, uh, Hunter tool, it could be any tool that you found from your list of tools, but we don't
want to expose any old tool.
We don't want to expose Hunter.
We want to expose the prospecting workflow that we just built as a tool for the outside world.
So what we put in here is call and workflow tool, a tool which can call an entire workflow.
Now that is starting to make some sense.
And from this list we need to choose the workflow.
The problem is we first need to publish the workflow we just made so that we can pick it from this list.
Let's go and do that.
Okay.
First I press on amplify.
I go to MCP.
I go back to my subagent where we were just a minute ago.
And I press publish and I say publish.
And now a little green tick here appears to say this is published.
Back to amplify back into MCP and to prospecting MCP.
And here we are.
And now we can open this guy up and we should be able to connect to our workflow.
Let's see.
And when I click here you should certainly see.
I hope that there will be a prospecting subagent that appears on the list, and we just need to do a
few more things.
We need to describe this tool.
So I'm going to say call this tool to find sales prospects.
For prospects for a given sales query, this tool hunts for prospective clients and returns them and
returns five leads okay.
And then it says here workflow inputs.
It knows that there's one field called query.
And we want to say that the model can define this.
It's a tool where the model can define what that query should be.
It's an input and we can add a description and we can say, uh, state.
Uh, what kind of, uh, sales prospect you are looking for such as?
Such as find five.
Yes.
I don't think the five.
Yeah.
Fine.
Find uh, um, uh, suitable, um, accountants.
In the, uh, us to sell accounting software.
Okay, that's a good example.
I'm going to take out the number five there.
Just have it be.
Returns.
Leads.
Okay, great.
There is our description.
We have done that.
I'm going to save and come back.
And we're almost ready now to actually put this to use.
But first I want to recap what we've done.