Cedar Valley Spring Count Intake

  • Guided Project
  • 2 hours
  • Intermediate
  • AI

Overview

In this project, you'll build a tool-using LLM agent that turns messy, multi-source records into one clean, validated dataset plus a review queue. The data is a volunteer bird count whose notes arrive in three forms: a paper logbook, an email, and a legacy spreadsheet. The model reads the mess; the tools you build enforce the rules. Along the way, you'll define a Pydantic model that doubles as a validator, build a class to hold the run's state, and expose four tools through an in-process MCP server. You'll write an agentic loop that commits each record through an authoritative gate and sends anything ambiguous to human review instead of guessing. This ties together function calling, MCP, structured output, and object-oriented design into the pattern behind real LLM systems, and makes a strong portfolio piece for any AI engineering role.

What You'll Learn

  • ✓ Define a Pydantic model for validated bird observations
  • ✓ Implement a Roster class to manage state and deduplication
  • ✓ Build validation logic combining shape, date, and taxonomy checks
  • ✓ Expose Python functions as MCP tools for LLM integration
  • ✓ Create an agentic loop processing messy data through tools

Project Steps

12 steps

  1. 1 Cleaning a Bird Count with a Tool-Using Agent
  2. 2 Describing a Clean Record with Pydantic
  3. 3 Holding the Run's State in One Class
  4. 4 One Function That Says Yes or No
  5. 5 Exposing resolve_species as a Tool
  6. 6 The Authoritative Gate
  7. 7 Recording What You Can't Clean
  8. 8 Connecting the MCP Server to OpenAI
  9. 9 Running Each Source Through the Tools
  10. 10 Processing All Three Sources
  11. 11 Checking the Result by Its Properties
  12. 12 Next Steps

Join 1M+ data learners on Dataquest.

  1. 1

    Create a free account

  2. 2

    Choose a learning path

  3. 3

    Complete exercises and projects

  4. 4

    Advance your career