<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: echo lee</title>
    <description>The latest articles on DEV Community by echo lee (@echo_lee_ffc1c9d3ca304d70).</description>
    <link>https://dev.to/echo_lee_ffc1c9d3ca304d70</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4175173%2F3f9e70d9-be08-4471-9fce-91b2d3042992.png</url>
      <title>DEV Community: echo lee</title>
      <link>https://dev.to/echo_lee_ffc1c9d3ca304d70</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/echo_lee_ffc1c9d3ca304d70"/>
    <language>en</language>
    <item>
      <title>I Built an Open-Source McDonald's Meal Recommender Using MCP and Python</title>
      <dc:creator>echo lee</dc:creator>
      <pubDate>Sat, 10 Oct 2026 12:07:23 +0000</pubDate>
      <link>https://dev.to/echo_lee_ffc1c9d3ca304d70/i-built-an-open-source-mcdonalds-meal-recommender-using-mcp-and-python-35db</link>
      <guid>https://dev.to/echo_lee_ffc1c9d3ca304d70/i-built-an-open-source-mcdonalds-meal-recommender-using-mcp-and-python-35db</guid>
      <description>&lt;h2&gt;
  
  
  Why I Built McPilot
&lt;/h2&gt;

&lt;p&gt;Choosing what to eat sounds simple, but finding a meal that fits your budget, nutritional goals, and taste preferences can be surprisingly complicated.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;McPilot&lt;/strong&gt;, an open-source McDonald's meal recommendation assistant powered by the official &lt;strong&gt;McDonald's China MCP (Model Context Protocol)&lt;/strong&gt; service.&lt;/p&gt;

&lt;p&gt;Instead of generating arbitrary suggestions, McPilot uses available menu, store, nutrition, and coupon information to create explainable meal recommendations.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Does It Do?
&lt;/h2&gt;

&lt;p&gt;McPilot supports three recommendation strategies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Budget First:&lt;/strong&gt; Finds more affordable meal combinations within a specified budget.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;High Protein:&lt;/strong&gt; Prioritizes meals with better protein content when reliable nutritional information is available.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Balanced Recommendation:&lt;/strong&gt; Considers price, nutrition, personal preferences, and meal composition.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Users can provide their budget, party size, dietary restrictions, and nutritional goals.&lt;/p&gt;

&lt;p&gt;The system also supports price calculations, explanations for its recommendations, missing-data warnings, and suggestions when no suitable meal combination is found.&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;McPilot combines several components:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;McDonald's China MCP:&lt;/strong&gt; Provides access to supported restaurant, menu, nutrition, and coupon information.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python:&lt;/strong&gt; Handles data processing, validation, and recommendation logic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tencent WorkBuddy:&lt;/strong&gt; An AI coding assistant used during development, debugging, and Skill creation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Responsive Web Interface:&lt;/strong&gt; Allows users to enter preferences and view recommendations on desktop or mobile devices.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; Hosts the open-source code and documentation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project communicates with the MCP service through Streamable HTTP.&lt;/p&gt;

&lt;p&gt;All MCP operations are read-only. McPilot does not place orders, claim coupons, or perform transactions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Screenshots
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Main Interface
&lt;/h3&gt;

&lt;p&gt;McPilot's main interface allows users to configure their meal preferences.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw9j4dy275b00cvi37wlm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw9j4dy275b00cvi37wlm.png" alt="McPilot main interface with meal preference settings" width="800" height="706"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Recommendation Results
&lt;/h3&gt;

&lt;p&gt;The application presents different meal recommendations based on the selected strategy.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feelagbfgr4rldandsz3z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feelagbfgr4rldandsz3z.png" alt="McPilot recommendation results showing three meal selection strategies" width="800" height="702"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Mobile Interface
&lt;/h3&gt;

&lt;p&gt;The interface is also designed for smaller screens.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FEchoLee1234567899999999999999%2FMcPilot%2Fmain%2Fdocs%2Fimages%2Fresult-mobile.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FEchoLee1234567899999999999999%2FMcPilot%2Fmain%2Fdocs%2Fimages%2Fresult-mobile.png" alt="McPilot responsive mobile interface" width="780" height="5412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Lessons Learned
&lt;/h2&gt;

&lt;p&gt;One challenge was handling incomplete nutritional information.&lt;/p&gt;

&lt;p&gt;If an item has no reliable protein or calorie data, the system should not automatically treat the missing value as zero. McPilot explicitly identifies missing data to avoid misleading recommendations.&lt;/p&gt;

&lt;p&gt;Another important consideration was explainability. Rather than only showing a meal combination, the application aims to explain why it was recommended.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limitations
&lt;/h2&gt;

&lt;p&gt;McPilot currently integrates with &lt;strong&gt;McDonald's China MCP&lt;/strong&gt;, so its data availability and supported ordering scenarios are specific to that service.&lt;/p&gt;

&lt;p&gt;Using the live MCP functionality requires appropriate access and configuration. The project is a recommendation tool, not a global McDonald's ordering service.&lt;/p&gt;

&lt;h2&gt;
  
  
  Open Source
&lt;/h2&gt;

&lt;p&gt;The repository includes the Python implementation, WorkBuddy Skill, MCP integration documentation, configuration examples, and usage instructions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/EchoLee1234567899999999999999/McPilot" rel="noopener noreferrer"&gt;McPilot — Open-Source Meal Recommender&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;McPilot has also been accepted as an entry in the 2026 McDonald's Developer Innovation Challenge.&lt;/p&gt;

&lt;p&gt;If you're interested in MCP, AI agents, or recommendation systems, feel free to explore the code and share feedback.&lt;/p&gt;

&lt;p&gt;If you find it useful, a GitHub Star is appreciated!&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;McPilot is an experiment in bringing AI-assisted development and real-world MCP data together to solve a small everyday problem.&lt;/p&gt;

&lt;p&gt;The goal is not simply to generate meal suggestions, but to make recommendations more transparent, data-driven, and practical.&lt;/p&gt;

</description>
      <category>python</category>
      <category>ai</category>
      <category>opensource</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
