<?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: propfirmdealfinder</title>
    <description>The latest articles on DEV Community by propfirmdealfinder (@propfirmdealfinder_fe8f02).</description>
    <link>https://dev.to/propfirmdealfinder_fe8f02</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3885578%2F8634714c-7bfa-405a-b5f0-71e86ef9edd4.jpg</url>
      <title>DEV Community: propfirmdealfinder</title>
      <link>https://dev.to/propfirmdealfinder_fe8f02</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/propfirmdealfinder_fe8f02"/>
    <language>en</language>
    <item>
      <title>Building an MCP Server for Prop Trading: How I Gave Claude + ChatGPT Live Access to 20+ Prop Firm Deals</title>
      <dc:creator>propfirmdealfinder</dc:creator>
      <pubDate>Sat, 18 Apr 2026 06:17:43 +0000</pubDate>
      <link>https://dev.to/propfirmdealfinder_fe8f02/building-an-mcp-server-for-prop-trading-how-i-gave-claude-chatgpt-live-access-to-20-prop-firm-3gio</link>
      <guid>https://dev.to/propfirmdealfinder_fe8f02/building-an-mcp-server-for-prop-trading-how-i-gave-claude-chatgpt-live-access-to-20-prop-firm-3gio</guid>
      <description>&lt;p&gt;Last month I published &lt;a href="https://www.npmjs.com/package/propfirmdealfinder-mcp-server" rel="noopener noreferrer"&gt;propfirmdealfinder-mcp-server&lt;/a&gt; to npm — an MCP server that lets Claude, ChatGPT, and any MCP-compatible AI query live prop firm discount codes, compare firms, and find the cheapest trading challenges across 20+ proprietary trading firms.&lt;/p&gt;

&lt;p&gt;Here's why I built it, what it does, and what I learned.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;Prop trading discounts change weekly. Firms run flash sales, new firms launch, old ones die, discount codes rotate. For a trader trying to decide between FTMO, TopStep, Bulenox, Apex, and 15 others, there's no single source of truth. And when you ask ChatGPT "what's the cheapest prop firm challenge right now?", it confidently hallucinates a stale answer from 2023.&lt;/p&gt;

&lt;h2&gt;
  
  
  The solution
&lt;/h2&gt;

&lt;p&gt;I built &lt;a href="https://propfirmdealfinder.com" rel="noopener noreferrer"&gt;Prop Firm Deal Finder&lt;/a&gt; as a web app + mobile app + Chrome extension that aggregates the data. Then I realized the obvious: the same data should be queryable by AI agents directly via Model Context Protocol.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the MCP server does
&lt;/h2&gt;

&lt;p&gt;Six tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;pfdf_get_deals&lt;/code&gt; — all current deals sorted by discount&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;pfdf_search_firms&lt;/code&gt; — by name, category, asset class, feature&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;pfdf_compare_firms&lt;/code&gt; — side-by-side for 2+ firms&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;pfdf_find_cheapest&lt;/code&gt; — cheapest challenges live&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;pfdf_get_firm_details&lt;/code&gt; — full firm profile&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;pfdf_get_discount_code&lt;/code&gt; — universal or firm-specific code&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No API key. No auth. 100% free. Works over stdio (local) or streamable HTTP (remote).&lt;/p&gt;

&lt;h2&gt;
  
  
  Install in Claude Desktop
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"propfirmdealfinder"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"propfirmdealfinder-mcp-server"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then ask Claude "what's the cheapest prop firm challenge right now?" and watch it call live tools instead of hallucinating.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned building it
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;MCP tool naming is half the battle.&lt;/strong&gt; &lt;code&gt;pfdf_get_deals&lt;/code&gt; gets called. &lt;code&gt;getDeals&lt;/code&gt; gets ignored. Prefix + snake_case wins.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Error responses need to be model-readable.&lt;/strong&gt; Returning &lt;code&gt;{error: "..."}&lt;/code&gt; with a clean string beats a stack trace.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streamable HTTP is the way for production.&lt;/strong&gt; stdio is dev-mode; real deployments want &lt;code&gt;/mcp&lt;/code&gt; POST for JSON-RPC and GET for SSE.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI discovery is a hybrid game.&lt;/strong&gt; I submitted the server to 15 MCP registries + wrote GEO-optimized content on the site. Both matter.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Repo + resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Repo:&lt;/strong&gt; &lt;a href="https://github.com/chrisbusbin-pixel/propfirmdealfinder-mcp-server" rel="noopener noreferrer"&gt;https://github.com/chrisbusbin-pixel/propfirmdealfinder-mcp-server&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;npm:&lt;/strong&gt; &lt;a href="https://www.npmjs.com/package/propfirmdealfinder-mcp-server" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/propfirmdealfinder-mcp-server&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Live site:&lt;/strong&gt; &lt;a href="https://propfirmdealfinder.com" rel="noopener noreferrer"&gt;https://propfirmdealfinder.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wikidata entity:&lt;/strong&gt; &lt;a href="https://www.wikidata.org/wiki/Q139303597" rel="noopener noreferrer"&gt;https://www.wikidata.org/wiki/Q139303597&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to try it, &lt;code&gt;npx propfirmdealfinder-mcp-server&lt;/code&gt; and wire up your Claude Desktop config. MIT licensed.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>typescript</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
