Part 5

Adding in a Resume

To expand on our portfolio website, we're going to be adding in our resume. However, rather than simply embed a PDF onto the website, we're going to learn how to use Claude Code to extract the contents of our resume and have Claude add in the contents of our resume for us.

Model Context Protocol (MCP)

Instead of copying and pasting a text-based version of our resume, we're going to simply provide Claude with a shareable Google Drive link to our resume. Claude will then do the following:

  1. Use the link to access the file in Google Drive.
  2. Read the contents of the file by automatically downloading it.
  3. Extract the relevant contents from the resume that we specify.
  4. Use the contents of the resume to build the resume portion of the website.

At this point, you might be wondering: how can we give Claude access to Google Drive? And why even bother doing all this work with a resume? The answer lies in understanding the super powerful Model Context Protocol.

As software continues to expand, we want to give these agents access to this software so that we can perform actions. In other words, we want to give our agent access to many tools.

However, there's a problem that arises: for each software we wish to integrate into Claude to use as a tool, we need to ensure that Claude communicates with this software correctly. Since every software is different, there might be multiple ways to communicate with other software. Model Context Protocol unifies this communication into a single standard.

You can think of MCP like giving Claude access to an intercom system. Instead of talking directly to Google Drive, we talked to a specialized worker that exists outside of Claude that can access Google Drive for us. So, to get access to our resume, we have the following flow:

  1. You ask Claude to read your resume from Google Drive.
  2. Claude cannot directly see into your private Google Drive. So, it uses the language defined in the Model Context Protocol to tell our Google Drive "worker" to find our resume file and provide Claude with the contents.
  3. The worker goes into our Drive, finds the file, and provides it to Claude to temporarily download it to allow Claude to grab the contents.

While this may not seem like a big deal at the moment (after all, we could have just downloaded the resume and copy-pasted the contents into Claude), MCP provides agents like Claude Code to access multiple pieces of software, all while only needing to know 1 language: MCP.

AI Agent accessing the tools from the Google Drive MCP server.
AI Agent accessing tools from the Google Drive MCP Server.
Also: for now, think about MCP Servers as giving Claude access to other software through a specialized set of tools. However, instead of needing to know how to build those tools and how the tools interact with something like Google Drive, Claude just needs to know how to correctly call those tools.

Setting up a Google Drive MCP Server

To actually provide Claude with the tools to search your Google Drive, you need to use an MCP Server. This provides Claude Code with access to the set of tools needed to access your Google Drive.

You can think of it like a specific program that lives between Claude Code and Google Drive, containing the "worker" that goes into our Google Drive on behalf of Claude Code.

To set up Claude Code with a Google Drive MCP Server, which contains the tools we need to give Claude Code the ability to search + read files in your Google Drive, we need credentials.

Specifically, we need to use Google Cloud to provide us with a file that we can download that we then provide to Claude Code to make authenticated requests to our Google Drive.

To obtain the credentials, the steps are as follows:

  1. Go to console.cloud.google.com
  2. Click on the projects icon at the top, and then create a new project.
    • Feel free to call the project whatever you'd like. It does not matter for our purposes.
  3. Once the new project is created, click on the search bar at the top and search for "Google Drive API".
  4. Once you find the Google Drive API, click on the option, then click "Enable".
  5. Click on the left sidebar to make it appear, then click on the "OAuth consent screen" option under the APIs and Services menu.
  6. Once you reach the landing page, click "Get Started", and fill in your information. You can set the name to whatever you'd like, but be sure to use the email associated with your Google Drive account.
  7. Once you're done, head over to the left sidebar, and find the option for "Credentials" under the APIs and Services menu. Open the Credentials page.
  8. At the top, click "Create Credentials", and select "OAuth Client ID".
    • Application Type: Desktop App
    • Name: Whatever you'd like.
    • At the end: be sure to click download JSON to download the credentials.
  9. Click on the set of credentials you just made, then on the navigation bar on the left, select the "Audience" tab.
  10. Under this tab, you will see an area called "Test users". Add your email in to ensure you are added as a test user.

You may also refer to the following video for getting a credentials file from Google Cloud:

Once you have your credentials file downloaded, go ahead and get the file path of the JSON file.

Once you have the file path, you need to run 1 command to install the Google Drive MCP server:

Terminal
claude mcp add gdrive -e GOOGLE_DRIVE_OAUTH_CREDENTIALS="[FILE_PATH]" -- npx -y @piotr-agier/google-drive-mcp
Be sure to replace the [FILE_PATH] portion with the file path that you just copied.

Here is a video demonstrating this command being run, along with the expected output:

After the MCP Server has been installed, you can type in claude to open up Claude Code. Immediately, you should be prompted to log in with Google, and you should also see a screen like this:

Google OAuth login screen for an unpublished app, showing a warning that the app has not been verified by Google.
Don't worry, we're not installing a virus or anything. This is simply just an unpublished project. Feel free to hit continue (which is NOT highlighted in blue).

After that, with Claude Code open, type in the command /mcp. You should see something similar to this:

Terminal output after running the /mcp command in Claude Code, showing gdrive listed under Local MCPs with a connected status.

Notice under the "Local MCPs" option, we see gdrive. This is our Google Drive MCP server. You can also see that it's still "connecting". Let's click enter to see the status:

Claude Code /mcp status screen showing the Reconnect option and 104 available Google Drive tools.

Notice here that we have the option to "Reconnect". You should select this, then re-run the /mcp command to see the image above. Notice: we have nearly 104 tools, all for Google Drive related functionality!

With the Google Drive MCP server setup, we can finally use Claude Code to get the contents of our resume. Here are the general set of steps that we'll take:

  1. Start a new session for "phase 2". This is the resume insertion phase, and will provide Claude Code with all the necessary information related to other phases and tasks completed previously.
  2. Enter plan mode and have Claude Code create a plan. This includes fetching the contents of your resume.
  3. Execute the plan with Claude Code.
  4. Preview the website and its changes.
  5. Commit the code to GitHub.
  6. Close the session, allowing Claude Code to log its progress.
Note: after you close the session, you should also commit the files that Claude Code has updated. Or, you can simply close the session before committing to GitHub.

Here is a video going over this process (note: there is no audio as we're simply prompting Claude and confirming it's outputs - feel free to skip ahead throughout the video!):

Here's the final result:

Portfolio website with the resume section added by Claude Code.
Well done! You've successfully learned all about MCP and have added your resume to your personal portfolio!