NEW
MCP Explained Part 2: Building Advanced Server with Tools, Resources, and Prompts
Welcome to the second article in our Model Context Protocol (MCP) series! In the first article , we covered all the basics—what MCP is, how it works, and its key components. Not only that, we even built our first simple MCP server to put that knowledge into practice. If you’re new to this topic, I highly suggest you check out that first article before continuing here. It’ll give you a clear understanding of what’s going on and make this journey a lot smoother. Now, it’s time to step things up. In this article, we’re going to take what we’ve learned and build something more advanced – a custom MCP server from scratch. This is where things get interesting, because we’ll see just how flexible and powerful MCP can be with the new tooling we’re going to explore, and how we can shape MCP to fit our own needs. Let’s get into it! First, let’s quickly mention the tech stack that we’re going to work with. We’re going to use the same one from the previous article: TypeScript, Node.js and MacOS. If you're using a different tech stack, no worries, the key ideas will be the same. As an additional reference, you can also refer to documentation which includes basics for Python and Java too.