Skip to content

Instantly share code, notes, and snippets.

@kevinwestern
Created June 21, 2025 22:27
Show Gist options
  • Select an option

  • Save kevinwestern/2235c6ba2a8320913b3ed1d021ac73d2 to your computer and use it in GitHub Desktop.

Select an option

Save kevinwestern/2235c6ba2a8320913b3ed1d021ac73d2 to your computer and use it in GitHub Desktop.

Trying out LLMs

I believe LLMs will make me a more productive software engineer, but old habits die hard. I wanted to scratch an itch this weekend by answering “What is the Model Context Protocol? How can I use it?”. I used an LLM to do it.

I wanted to try out Claude by building a simple Model Context Protocol (MCP) and having the LLM help me write it. I’ve used Google’s Gemini in the past. I had it generate some statistical functions. It was so good that I immediately paid for the more advanced capabilities. I believe the time it saves is worth my money.

The Model Context Protocol is something new to me. I have been indifferent to LLM-assisted engineering for no particular reason. What is the Model Context Protocol? My naive, limited-experience summary is that it’s a way to dynamically inject data and context to an LLM. Imagine integrating APIs into LLM responses.

The MCP quickstart builds a weather fetching API. I’m not passionate about weather, but I am about airplanes. So my project was to integrate Claude desktop with Flight Aware’s API. Specifically, I want to be able to ask “what flights are near me right now?” and have Claude provide an answer.

My old habits easily found their way in my flow. I kept reaching for Google search to answer questions so that I could type those answer in. “How to use python’s httpx for fetching data from an API?” and “How to calculate new coordinates a distance away from another set of coordinates?”. The latter question started to take the fun out of the project. I don’t care about the trigonometry behind it, I just want to solve my problem.

I remembered to use Claude not at the beginning of answering these questions but after enough time had passed that I started to enjoy the project less. And that’s when I remembered claude.

Using the httpx library, write an asynchronous function that makes a call to the API URL "<api>". The function should take a lat and lon parameter that are using in the placeholders within the url. The request should also set two headers "header-1", referred to as API_KEY and x-header-2, referred to as API_HOST. The value of API_KEY and API_HOST will be variables that you do not have access to in the python program.

The code was perfect and ran without issues. Wow!

me:

Write a python function that takes three parameters: latitude, longitude, and distance. The function should compute and return two tuples. The first tuple is calculated by moving half of distance to the south west. The other tuple is moving half of distance to the north west.

Claude:

Me:

I made a mistake. Change the function so that instead of moving to the north west we instead move to the north east.

Claude:

I spent some time writing a few things by hand to connect the two functions together, and some more time generating the output I wanted. Then I was done.

I opened up claude desktop and tried talking to my new MCP:

me:

What flights are near me in Burlingame, CA?

Claude:

I'll check for flights near Burlingame, CA using ADS-B data. Let me get the current aircraft in your area.

Wow, it knew my server provided data by using ADS-B data!

Here are the flights currently near you in Burlingame:
Commercial Flights:
	•	Southwest 3235 (B737 MAX 8) - Las Vegas to Oakland
	•	United 195 (Boeing 777-200) - Munich to San Francisco
	•	Delta 381 (Airbus A220-300) - San Francisco to Austin
	•	WestJet 1509 (Boeing 737-800) - San Francisco to Calgary
	•	American 166 (Airbus A321) - San Francisco to New York JFK
General Aviation:
	•	N798DS (Diamond DA40) - From Grass Valley, likely doing pattern work or local flying
	•	BYF6 (Cessna 152) - From nearby San Carlos Airport, probably doing training flights
You're in a great spot to see air traffic since you're right between San Francisco International (SFO) and San Carlos Airport, plus you get the Oakland-bound traffic overhead. The mix of international long-haul flights, domestic routes, and local training aircraft is typical for the Bay Area's busy airspace!

Amazing. I’m now paying for Claude too. Sure it seems excessive to pay for both. But I want to be actively trying out and using both.

And I feel excited about the potential these tools have. I like programming because it’s fun to solve problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment