📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Extending AI Agents: A live demo of the GitHub MCP Server

GitHub15:08

Transcription

All right. Well, um, welcome everyone to hopefully a live demo of the GitHub MCP server. I'm Sam Marorrow. I'm the lead developer building GitHub's MCP server. Worked at GitHub for about four years. And as you can see, I love snow sports.

Um, and >> hi, I'm Toby Padilla. I am a principal product manager at GitHub, and I'm in charge of our MCP initiatives, which means the GitHub MCP server, the GitHub MCP registry. I'm also a member of the MCP steering committee working on the open source MCP registry. So, uh, firstly, I wanted to do a little hands up. So, uh, hands up if you know what an MCP server is. And now, keep your hands up if you've ever used one. A lot of hands and keep your hands up if you've ever built one. Oh, really? Awesome. You'll have to come and talk to us after. I'd love to know what you're building.

Uh, so yeah, firstly, Toby's just going to give a little introduction of MCP and particularly the GitHub MCP and what it does. And then I'm going to go into a demo and I'll show you kind of installing from our registry into VS Code. And then um I'll be working with some GitHub issues and coding agent and showing some fun stuff you can do. And Toby's going to go through a few use cases afterwards because 15 minutes is not enough time to show everything we can do. And uh we're not going to have any time I'm afraid for Q&A. But if anyone's got burning questions, we'll be around after the talk. So please do come up and let us know what your questions are.

Um, so Toby, >> so what is MCP? And I think a lot of you said that you're familiar with it, but just briefly, MCP is a way for AI to interact with the outside world. And that primarily means two things. One is that it can fetch context that the model wasn't trained on. So this might be information that was published after the model's cut off training date, or it could be information that was like private if you had like internal information that wasn't accessible to the public web and the LLM got trained on it. And secondly, it's a way for it to interact with the outside world and create side effects. So it could create a file system or a file on your local file system or a GitHub repo or a Figma design.

Um MCP is about 11 months old, so it's not even a year old. Um Anthropic created it last November. And I like to say it was more of a social innovation than a technical innovation because there was pre-existing function calling APIs, but they weren't getting a lot of traction. So what Anthropic did was create a standard around those APIs um and then bootstrap the community with 30 high-quality reference servers including the original GitHub MCP server. And this is a look at our MCP server. So we've got a bunch of tools. Like I said, Anthropic created the original one and they told us it was the most popular of the original set of MCP servers. So we worked with them to take ownership of the MCP server and we ended up rewriting it and go because it was in Typescript and we've launched it and it was quite popular. We'll just talk through what it does and and how it engaged with the community. Um, the week that we launched it, it was actually the most popular open source project on all of GitHub. So, it was exciting to see that there was sort of this pent-up demand to drive uh GitHub's platform with agents. And now I'll hand it over Sam so he can show you what it does.

>> All right. So, somebody told me there's some outages and things going on. So, fingers crossed everything works. Uh so firstly this is our MCP registry web page and um I'm going to just install it and hopefully everything will work. You can see that we have install for VS Code and VS Code insiders. Um VS Code is actually the most comprehensive MCP host that exists. So it has the complete coverage of the latest version of the spec. It has more support for the MCP protocol than any of anthropics hosts. And if you use insiders, it's sort of the nightly build for VS Code. And this is where they're launching a lot of super innovative MCP stuff. So if you're doing MCP work, I would encourage you to get VS Code insiders and test your MCP servers in there.

Okay. So I should be assuming the authentication completes successfully. Yeah, I think I'm logged in now. It's going slow. So I think the outage is affecting stuff slightly but not enough to actually stop me. So uh firstly let's actually just give stuff a go and see what happens. So um uh some of you are probably already familiar but um this is the agent mode tab and I'll make it full screen so it's easier to see. And firstly I'll just try a super simple prompt. Can you list some issues from a repo in my um account? And you can see it immediately ran the list issues from our MCP server. And because I didn't ask it to do anything with that information, it's just listing them out. Um and um it showed me the closed ones, too. That's cool.

Uh MCP also has a really interesting feature called prompts which is like a pre-baked prompts and um uh if you want to enable a more complex agentic kind of workflow from a single command, they're like slash commands. So um this one assigned coding agent. It asks me for the repository I wanted to work on and then it generates a prompt. And this is our MCP server providing that. And now it's just going to go through a list of issues from the repository and it's going to decide uh like which ones it thinks an agent can work on and then it's just going to assign coding agents. So, I'm going to allow it uh for this session and um we'll have to give it a moment, but uh it should hopefully assign a few issues and um yeah, like it it decided that some of the issues aren't worth assigning and that's good. That's that's kind of what the prompt was intended to do. So ideally low-quality issues and things that needs further specification don't get triggered. So anyway, uh that's the MCP prompt and I do think that's pretty cool.

The um for a slightly more fun one, let's try aggregating information from the GitHub MCP server repo. So for this prompt, we're going to get it to pull down recent pull requests and then generate an issue celebrating the work that was done in them. Um, so as you can see, it immediately listed the pull requests from the correct repo. And now it's just processing the information. And in a moment, it'll ask me uh to let it uh open an issue for me. Um, I spend most of my life obviously waiting for agent modes to run. Um, but um, all right. Uh, and now it's going to summarize it, but it's already created the issue. It's already done that. So, if I skip into my web browser, I should be able to have a quick look and blah blah blah. So, um, yeah, I'd asked it to summarize the pull request and to generate a bunch of mermaid charts. And, um, I don't know. I like every time I see this, it blows my mind. It's kind of, uh, from very basic prompts, it's able to generate some really advanced things. So if you're interested in um like improving your issue bodies and things like that and doing more summary work, especially for managers who think why would I touch this technology? I think like you know this is just a oneshot short prompt and you can see the kind of really interesting things it's come out with. Um and if you were to iterate on it and kind of refine things, there's all sorts of things you could create. So, um, yeah. Anyway, that amazes me every single time.

>> I think it shows off GitHub's ability to render mermaid charts as well. Like, I don't think I knew that it did that until I saw the MCP server go ahead and do that. I was like, "Oh, wow. There's this rich capability in our platform that the MCP server helps you find just because it would be way too much work as an individual to do it. But when you let the LLM do that hard work for you, it kind of scales your ability."

>> Yeah. And so, um, I'll make it slightly bigger because I think it's a little small. Um, so now I'm also just going to ask it to pull down a file for me. And so another thing is it has access to resources. So any file that you have access to on GitHub, like in any revision of it or branch or whatever, you can send off the agent to just go and get a copy of it. And so it already pulled down the index html it asked for. And I also have the preview plugin installed. So I can actually just look at the this was a silly vibe coding project I did for uh an like a fun example website. Um and um uh the coding agent prompt I did earlier to assign coding agent actually was uh sent it off to work on different revisions of this uh website. So, um, if I go back into my browser and I have a look at our agents HQ, I think I might need to Oh, no, I don't even need to refresh. So, we can see uh the latest agent session that I triggered is showing up and it actually also uses GitHub's MCP server itself. So if you reference issues in the repo it's working on uh in your issue, it can then go off and get them for example on uh other things that it can do too. So uh that's not going to finish I think probably within 15 minutes. So what I will do is just show you that um uh previous time I told it to redesign that web page. Uh, let me see if I can find one that's got a nice a nice output. Yeah. How's this? So, we can see the pull request that gets generated. And, uh, I think it should hopefully finish with a before and after screenshot of of the work it did. So, you can just kind of when you think of ideas, just say them, tell it to go off and do it, and when you come back, you've got a pull request. Hopefully. And if you don't like it, you can be like, um, you know, uh, I wanted it to be even more extreme. And then, uh, you can steer the sessions as well. So like uh really I guess what I'm trying to show is like once you get addicted to using like having the MCP and the various agentic tools that you can connect with it, you just walk around like I use GitHub's mobile app to edit websites like personal websites when I'm walking in the park and things and uh you know by the time you're home it's like there's a real version of it you can hold in your hands and you could pull it down maybe do some more coding on it like tweak it.

>> And this is actually demonstrating two MCP servers. So the copilot coding agent by default has the GitHub MCP server installed but also has the Playright MCP server installed and so this is what drives web browsers. It's sort of a human computer interaction agent and that's where it's taking the screenshots. So, this is super useful, especially if you're not on your machine. Like Sam said with his phone, you tell it to do something. If you're especially if you're building a website, although even with CLI, it'll kind mock it up as a website and it'll take the screenshot and so you can then see the result of the work without having to locally install whatever it did, build it and deploy it and test it like that. It's just a really quick round trip that you can do with the coding agent and then give it immediate feedback.

>> And very like lastly for the live demo, um I've just asked it to pull down a physical image. So hopefully, oh, it's doing the summarizing. So I'm just going to start a new one. I think it'll be faster. Um, all right. So it's pulled down an image file and then so you can use multimedia and stuff as well. So um, it's actually able to read the content of the image in the agent and provide access to it locally. So, whatever it was I wanted to do, whether it's a design mockup or an image I want to put in the repo, like I can just pull stuff from anywhere on GitHub. Um, so, uh, Toby, I think I'll pass it back to you for closing comments.

So, I we we browse through a lot of fun stuff you can do with the GitHub MCP server. Um, but you can also use it to scale. So, for instance, the GitHub MCP server, like we said, is a super popular open source project. It's got over a thousand forks, which means we get a lot of issues and pull requests given to us like on a daily basis. So, as a product manager, it's very helpful for me to come in and say like summarize the last 30 days or the last week of issues and classify them by priority or cluster them by topic. And so, it allows me to sort of sort and scale this really high volume of information that would be quite difficult to do otherwise. So, I think we've got a bunch of different tool sets. So, to you can break up the tools by use case. We've got repos, search or whatever. um you have def dedicated endpoints and ways to configure the MTP server to just have the tools that you want. I think all of this is documented in the repos. So I'd encourage you to kind of dig through our our open source repo. Start star the repo while you're there. Um and if you look at the docs, you have a lot of options there, including like putting it into read-only mode. Um defining just the tool sets you want. Uh we've got secret scanning in there so it just the agent doesn't push like your tokens up into a public repo. Um we in we integrate with the enterprise products. So if you're uh GHC, you can use the the MCP server with that. And like I said, it's in C-pilot coding agent as one of the default MCP servers. Um and finally, you should go to our registry. So this is something that we just launched, and it's right now just a list of high-quality partner servers, including the GitHub MCP server, but we're going to be hooking into the OSS MCP registry and allowing self-publication. So this is going to grow very quickly to thousands of servers as soon as we do that. So, so watch this space, but check out github.com/mcp and find a bunch of other cool MCP servers.

>> Yeah. And the last thing I wanted to leave you with is just please, if you can do one thing after this, if you haven't, like load up agent mode, go to github.com/mcp, just install the MCP server and just play with it. Like ask it to summarize issues, try and vibe code, like just see for yourself because it's awesome. Thank you very much. Thank you.