<?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: Mustafa.Ramx</title>
    <description>The latest articles on DEV Community by Mustafa.Ramx (@max_ramx).</description>
    <link>https://dev.to/max_ramx</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%2F3254640%2F2055f111-e623-4795-84c5-5bee771b9544.jpg</url>
      <title>DEV Community: Mustafa.Ramx</title>
      <link>https://dev.to/max_ramx</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/max_ramx"/>
    <language>en</language>
    <item>
      <title>Building FinMCP: A Free Financial Data MCP Server for Global Markets (Including ASX)</title>
      <dc:creator>Mustafa.Ramx</dc:creator>
      <pubDate>Sun, 15 Mar 2026 11:27:13 +0000</pubDate>
      <link>https://dev.to/max_ramx/building-finmcp-a-free-financial-data-mcp-server-for-global-markets-including-asx-4kop</link>
      <guid>https://dev.to/max_ramx/building-finmcp-a-free-financial-data-mcp-server-for-global-markets-including-asx-4kop</guid>
      <description>&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.amazonaws.com%2Fuploads%2Farticles%2Fn7mlsv4k83iiq6hdn9g5.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.amazonaws.com%2Fuploads%2Farticles%2Fn7mlsv4k83iiq6hdn9g5.png" alt="FinMCP" width="800" height="438"&gt;&lt;/a&gt;&lt;br&gt;
TL;DR — I built a MCP server that connects Claude and other AI assistants to live financial data across any market. No API keys, free forever, open source. Works for US stocks, ASX, crypto, forex — everything Yahoo Finance covers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Problem:&lt;/strong&gt; AI That Doesn't Know Today's Market&lt;br&gt;
Here's the thing nobody mentions when you start using AI for investing decisions: your AI model has a knowledge cutoff. It doesn't know what happened in the market yesterday, last week, or last month.&lt;br&gt;
I'm constantly asking Claude things like:&lt;/p&gt;

&lt;p&gt;"How does VAS compare to A200 over the last 5 years?"&lt;br&gt;
"What's the analyst consensus on this ASX stock right now?"&lt;br&gt;
"Show me the free cash flow trend for this company."&lt;/p&gt;

&lt;p&gt;And I'd get answers that were weeks old or completely fabricated.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Solution: FinMCP&lt;/strong&gt;: I discovered Yahoo Finance has an undocumented free API that supports everything — US stocks, ASX, LSE, TSE, crypto, forex, global ETFs. No API key required. The yahoo-finance2 npm library handles all the authentication.&lt;br&gt;
So I forked an existing basic MCP wrapper and rebuilt it properly.&lt;br&gt;
What emerged was FinMCP — a production-grade financial data server that connects Claude, ChatGPT, Cursor, Cline, and Perplexity to live market data across 50+ exchanges worldwide.&lt;/p&gt;

&lt;p&gt;I also added cloud deployment (Railway, Docker, any VPS) so you can deploy this publicly and share it with teammates over HTTPS — something the original couldn't do.&lt;/p&gt;

&lt;p&gt;The 15 Tools You Get:&lt;br&gt;
✅ Real-time quotes (any market, any asset)&lt;br&gt;
✅ Financial statements (annual/quarterly)&lt;br&gt;
✅ Options chains with Greeks&lt;br&gt;
✅ Analyst consensus &amp;amp; price targets&lt;br&gt;
✅ Institutional holdings data&lt;br&gt;
✅ News with relevance scoring&lt;br&gt;
✅ Market screener (P/E, yield, beta, etc.)&lt;br&gt;
✅ Earnings data&lt;br&gt;
✅ Dividend history&lt;br&gt;
✅ Crypto quotes&lt;br&gt;
✅ Forex data&lt;br&gt;
✅ And more...&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.amazonaws.com%2Fuploads%2Farticles%2Fo3dz6kpucgxy8mjgqer1.gif" 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.amazonaws.com%2Fuploads%2Farticles%2Fo3dz6kpucgxy8mjgqer1.gif" alt="FinMCP" width="720" height="441"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real Example:&lt;/strong&gt; I asked Claude: "Compare the free cash flow margin trends for three ASX mining companies over the last four years."&lt;br&gt;
It pulled the balance sheet and cash flow statements for each company, calculated the trends, and gave me a structured breakdown.&lt;br&gt;
Normally? That's 20 minutes of spreadsheet work.&lt;/p&gt;

&lt;p&gt;How to Deploy&lt;br&gt;
Local (5 minutes)&lt;br&gt;
Prerequisites: Node.js 22+&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/Steve-sy/finmcp.git
&lt;span class="nb"&gt;cd &lt;/span&gt;finmcp
npm &lt;span class="nb"&gt;install
&lt;/span&gt;npm run build
npm run start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Point Claude Desktop at it:&lt;br&gt;
&lt;/p&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;"finmcp"&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;"node"&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;"/path/to/finmcp/dist/index.js"&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;Done. Every Claude conversation now has live financial data access.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cloud (Railway, Docker, Any VPS)&lt;/strong&gt;&lt;br&gt;
Deploy to Railway with one click (free tier is plenty):&lt;/p&gt;

&lt;p&gt;Clone/Fork the repo&lt;br&gt;
Connect to Railway&lt;br&gt;
Set YF_MCP_API_KEY environment variable for auth protection&lt;br&gt;
Share the public HTTPS URL with teammates or friends&lt;/p&gt;

&lt;p&gt;Connect with: &lt;a href="https://your-app.up.railway.app/mcp?key=YOUR_SECRET" rel="noopener noreferrer"&gt;https://your-app.up.railway.app/mcp?key=YOUR_SECRET&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👉&lt;a href="https://railway.com/?referralCode=Wvt6V5" rel="noopener noreferrer"&gt; Deploy to Railway with this referral link — helps both of us out.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Why Yahoo Finance:&lt;br&gt;
Yahoo Finance: Free, global coverage, no API key, no rate limits on the API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-World Use Cases:&lt;/strong&gt;&lt;br&gt;
Pre-market brief automation:&lt;br&gt;
Schedule a daily prompt at 8am that pulls your watchlist, overnight moves, analyst sentiment, and relevant news.&lt;/p&gt;

&lt;p&gt;Portfolio health check:&lt;br&gt;
Monthly scan across all holdings. Flag companies with deteriorating free cash flow or rising debt ratios.&lt;/p&gt;

&lt;p&gt;Options flow monitoring:&lt;br&gt;
Track put/call ratios and unusual activity for stocks you're watching or holding.&lt;/p&gt;

&lt;p&gt;Most MCP servers built on older yahoo-finance2 versions are returning broken data right now. This one is updated for the current v3 API.&lt;br&gt;
&lt;strong&gt;Get Started:&lt;/strong&gt;&lt;br&gt;
GitHub: github.com/Steve-sy/finmcp&lt;/p&gt;

&lt;p&gt;Want the full story? Read the deep dive on my &lt;a href="https://www.mustafaramx.com/post/finmcp-i-built-a-financial-data-mcp-because-ai-doesn-t-know-today-s-prices" rel="noopener noreferrer"&gt;blog&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>node</category>
      <category>docker</category>
      <category>mcp</category>
    </item>
    <item>
      <title>How I Secured My Self-Hosted Coolify Server With CrowdSec Firewall (Step-by-Step Guide)</title>
      <dc:creator>Mustafa.Ramx</dc:creator>
      <pubDate>Tue, 10 Jun 2025 00:07:14 +0000</pubDate>
      <link>https://dev.to/max_ramx/how-i-secured-my-self-hosted-coolify-server-with-crowdsec-firewall-step-by-step-guide-5e6h</link>
      <guid>https://dev.to/max_ramx/how-i-secured-my-self-hosted-coolify-server-with-crowdsec-firewall-step-by-step-guide-5e6h</guid>
      <description>&lt;p&gt;Are you self-hosting Coolify as a Vercel or Netlify alternative? It’s an awesome platform, but security is key if you run it on your own VPS.&lt;/p&gt;

&lt;p&gt;When I first deployed Coolify, I noticed that many guides ignore the topic of server security. Your Coolify server runs Traefik + Docker — and unless you secure it properly, you could be exposed to:&lt;/p&gt;

&lt;p&gt;Port scanning&lt;br&gt;
SSH brute force&lt;br&gt;
HTTP probing (bots hitting your sites)&lt;br&gt;
Path / CVE attacks&lt;br&gt;
Or… even full server compromise&lt;/p&gt;

&lt;p&gt;After testing different options, I found that CrowdSec + CrowdSec Traefik Bouncer is the best combo to protect your Coolify server &amp;amp; your websites. It works like a modern Fail2Ban but smarter.&lt;/p&gt;

&lt;p&gt;I wrote a full step-by-step guide here:&lt;br&gt;
&lt;a href="https://www.mustafaramx.com/post/secure-your-coolify-server-websites-with-crowdsec-and-traefik" rel="noopener noreferrer"&gt;Secure Your Coolify Server &amp;amp; Websites With CrowdSec and Traefik&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It covers:&lt;br&gt;
Protecting Traefik (global HTTP/HTTPS protection)&lt;br&gt;
Firewall bouncer for server-level protection (SSH, ports)&lt;br&gt;
Automatically block bots &amp;amp; attackers in real-time&lt;br&gt;
That setup will protect all your websites and the server&lt;/p&gt;

&lt;p&gt;If you’re self-hosting Coolify → this setup is a must-have in my opinion.&lt;/p&gt;

&lt;p&gt;Feel free to ask me anything! ^_^&lt;/p&gt;

</description>
      <category>coolify</category>
      <category>crowdsec</category>
      <category>firewall</category>
      <category>fail2ban</category>
    </item>
  </channel>
</rss>
