<?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: Tapesh Chandra Das</title>
    <description>The latest articles on DEV Community by Tapesh Chandra Das (@tapesh_chandradas_5f7919).</description>
    <link>https://dev.to/tapesh_chandradas_5f7919</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%2F3856211%2F3f71c4ec-121a-4b8f-916f-38739efd5644.jpeg</url>
      <title>DEV Community: Tapesh Chandra Das</title>
      <link>https://dev.to/tapesh_chandradas_5f7919</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tapesh_chandradas_5f7919"/>
    <language>en</language>
    <item>
      <title>I Built a Fully Local, AI-Native Hedge Fund System (Multi-Agent, Auditable, No Paid APIs)</title>
      <dc:creator>Tapesh Chandra Das</dc:creator>
      <pubDate>Thu, 16 Apr 2026 20:38:41 +0000</pubDate>
      <link>https://dev.to/tapesh_chandradas_5f7919/i-built-a-fully-local-ai-native-hedge-fund-system-multi-agent-auditable-no-paid-apis-k8f</link>
      <guid>https://dev.to/tapesh_chandradas_5f7919/i-built-a-fully-local-ai-native-hedge-fund-system-multi-agent-auditable-no-paid-apis-k8f</guid>
      <description>&lt;p&gt;&lt;a href="https://github.com/td-02/ai-native-hedge-fund****" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most “AI trading projects” fall into one of three categories:&lt;/p&gt;

&lt;p&gt;notebook experiments&lt;br&gt;
single-model pipelines&lt;br&gt;
or black-box systems with no observability&lt;/p&gt;

&lt;p&gt;They don’t resemble real trading systems.&lt;/p&gt;

&lt;p&gt;So I built something closer to production reality:&lt;/p&gt;

&lt;p&gt;A free, portable, AI-native hedge fund prototype with:&lt;/p&gt;

&lt;p&gt;multi-agent decision making&lt;br&gt;
backtesting + paper execution&lt;br&gt;
full audit infrastructure&lt;br&gt;
and zero paid API dependencies&lt;/p&gt;

&lt;p&gt;Project:&lt;br&gt;
&lt;a href="https://github.com/td-02/ai-native-hedge-fund" rel="noopener noreferrer"&gt;https://github.com/td-02/ai-native-hedge-fund&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What this actually is&lt;/p&gt;

&lt;p&gt;This is not just a model.&lt;/p&gt;

&lt;p&gt;It’s a complete trading runtime with:&lt;/p&gt;

&lt;p&gt;data ingestion&lt;br&gt;
research layer&lt;br&gt;
strategy ensemble&lt;br&gt;
risk management&lt;br&gt;
execution system&lt;br&gt;
audit + tracing&lt;/p&gt;

&lt;p&gt;All wired together into a single pipeline.&lt;/p&gt;

&lt;p&gt;From the README:&lt;/p&gt;

&lt;p&gt;“A production-grade multi-agent trading system with backtesting, paper execution, and full audit infrastructure. No paid APIs required.”&lt;/p&gt;

&lt;p&gt;Why I built this&lt;/p&gt;

&lt;p&gt;The gap is simple:&lt;/p&gt;

&lt;p&gt;Most people optimize models.&lt;br&gt;
Real systems fail on integration, control, and visibility.&lt;/p&gt;

&lt;p&gt;This project focuses on:&lt;/p&gt;

&lt;p&gt;system design over isolated intelligence&lt;br&gt;
traceability over black-box outputs&lt;br&gt;
reliability over demos&lt;br&gt;
Architecture (high-level)&lt;/p&gt;

&lt;p&gt;The system runs as a structured pipeline:&lt;/p&gt;

&lt;p&gt;Data Ingest&lt;br&gt;
→ Data Quality Gate&lt;br&gt;
→ Research Agent&lt;br&gt;
→ Strategy Ensemble&lt;br&gt;
→ Overlays (alpha / arbitrage / macro)&lt;br&gt;
→ Fund Manager&lt;br&gt;
→ Risk Manager&lt;br&gt;
→ Execution Controls&lt;br&gt;
→ Broker Router&lt;br&gt;
→ Audit + Tracing&lt;/p&gt;

&lt;p&gt;There’s also a more advanced AI-native v2 layer with:&lt;/p&gt;

&lt;p&gt;regime-aware routing&lt;br&gt;
AI forecast calibration&lt;br&gt;
benchmark-relative optimization&lt;br&gt;
“no-harm” guards&lt;/p&gt;

&lt;p&gt;This is closer to how institutional systems evolve over time.&lt;/p&gt;

&lt;p&gt;Multi-agent system (core idea)&lt;/p&gt;

&lt;p&gt;Instead of one model making decisions, the system uses:&lt;/p&gt;

&lt;p&gt;Research &amp;amp; Data&lt;br&gt;
market data ingestion (yfinance)&lt;br&gt;
deterministic + LLM-based research&lt;br&gt;
multi-agent research council&lt;br&gt;
Strategy Layer&lt;br&gt;
trend following&lt;br&gt;
mean reversion&lt;br&gt;
volatility carry&lt;br&gt;
event-driven strategies&lt;br&gt;
alpha signals (earnings, volume, options proxies, etc.)&lt;br&gt;
Risk &amp;amp; Execution&lt;br&gt;
portfolio aggregation&lt;br&gt;
VaR / ES constraints&lt;br&gt;
drawdown brakes&lt;br&gt;
TWAP/VWAP-style execution&lt;br&gt;
broker failover&lt;/p&gt;

&lt;p&gt;Each component is independent but coordinated.&lt;/p&gt;

&lt;p&gt;What makes this different&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fully free stack
yfinance for data
Ollama for local LLMs
Alpaca for paper execution&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;No paid APIs required.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Auditability by design&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Every decision is:&lt;/p&gt;

&lt;p&gt;logged&lt;br&gt;
traceable&lt;br&gt;
reproducible&lt;/p&gt;

&lt;p&gt;Artifacts include:&lt;/p&gt;

&lt;p&gt;audit logs in Postgres&lt;br&gt;
decision snapshots&lt;br&gt;
TraceLM execution traces&lt;br&gt;
heartbeat monitoring&lt;/p&gt;

&lt;p&gt;This is rarely implemented properly in open projects.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Production-style reliability&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The system includes:&lt;/p&gt;

&lt;p&gt;circuit breakers per stage&lt;br&gt;
retries and degraded modes&lt;br&gt;
data quality validation&lt;br&gt;
dead-man heartbeat&lt;/p&gt;

&lt;p&gt;These are not typical in hobby projects, but essential in real systems.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Runs anywhere&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can deploy it on:&lt;/p&gt;

&lt;p&gt;Docker&lt;br&gt;
Oracle Always Free&lt;br&gt;
Render / Railway&lt;br&gt;
GitHub Actions (scheduled execution)&lt;/p&gt;

&lt;p&gt;This makes it practical, not just experimental.&lt;/p&gt;

&lt;p&gt;Backtest performance (honest view)&lt;/p&gt;

&lt;p&gt;The current strategy (momentum + trend, ETF universe):&lt;/p&gt;

&lt;p&gt;Sharpe: ~0.61&lt;br&gt;
CAGR: ~7.6%&lt;br&gt;
Max drawdown: ~-25.8%&lt;/p&gt;

&lt;p&gt;Comparable to SPY in some regimes, worse in others.&lt;/p&gt;

&lt;p&gt;This is intentional.&lt;/p&gt;

&lt;p&gt;The goal here is not “alpha marketing” — it’s building the system correctly first.&lt;/p&gt;

&lt;p&gt;Observability (critical but ignored in most projects)&lt;/p&gt;

&lt;p&gt;This system includes:&lt;/p&gt;

&lt;p&gt;TraceLM-based execution tracing&lt;br&gt;
structured audit logs&lt;br&gt;
decision-level introspection&lt;/p&gt;

&lt;p&gt;You can answer:&lt;/p&gt;

&lt;p&gt;why a trade happened&lt;br&gt;
which agent contributed&lt;br&gt;
what constraints were applied&lt;/p&gt;

&lt;p&gt;Without this, scaling any AI system becomes guesswork.&lt;/p&gt;

&lt;p&gt;Enterprise-style runtime (beyond toy setups)&lt;/p&gt;

&lt;p&gt;The system already includes:&lt;/p&gt;

&lt;p&gt;FastAPI service layer&lt;br&gt;
Celery worker queues (research / strategy / execution)&lt;br&gt;
Redis + Postgres/TimescaleDB&lt;br&gt;
feature flags&lt;br&gt;
metrics (Prometheus)&lt;/p&gt;

&lt;p&gt;This is closer to a distributed system than a script.&lt;/p&gt;

&lt;p&gt;What’s still missing&lt;/p&gt;

&lt;p&gt;This is not production-ready.&lt;/p&gt;

&lt;p&gt;Key gaps:&lt;/p&gt;

&lt;p&gt;stronger portfolio optimization&lt;br&gt;
execution realism (slippage, liquidity impact)&lt;br&gt;
better regime detection (HMM, change-point models)&lt;br&gt;
more robust ML layers (RL, transformers)&lt;br&gt;
real capital deployment safeguards&lt;/p&gt;

&lt;p&gt;These are hard problems and intentionally not abstracted away.&lt;/p&gt;

&lt;p&gt;Who this is for&lt;br&gt;
ML engineers moving into finance&lt;br&gt;
developers interested in multi-agent systems&lt;br&gt;
early quant developers&lt;br&gt;
people tired of toy AI demos&lt;br&gt;
Key lessons from building this&lt;br&gt;
Systems matter more than models&lt;br&gt;
Observability is non-negotiable&lt;br&gt;
Reliability is harder than intelligence&lt;br&gt;
Finance is a coordination problem, not just prediction&lt;br&gt;
Final note&lt;/p&gt;

&lt;p&gt;Most AI projects optimize for:&lt;/p&gt;

&lt;p&gt;demos&lt;br&gt;
benchmarks&lt;br&gt;
or isolated components&lt;/p&gt;

&lt;p&gt;This project tries to optimize for:&lt;/p&gt;

&lt;p&gt;structure&lt;br&gt;
traceability&lt;br&gt;
and real system constraints&lt;/p&gt;

&lt;p&gt;If you’re building in AI + systems + finance, this is the direction that actually compounds.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>backenddevelopment</category>
      <category>programming</category>
    </item>
    <item>
      <title>I built a replay testing tool for MCP servers — here's why and how it works</title>
      <dc:creator>Tapesh Chandra Das</dc:creator>
      <pubDate>Wed, 01 Apr 2026 18:49:55 +0000</pubDate>
      <link>https://dev.to/tapesh_chandradas_5f7919/i-built-a-replay-testing-tool-for-mcp-servers-heres-why-and-how-it-works-1f8d</link>
      <guid>https://dev.to/tapesh_chandradas_5f7919/i-built-a-replay-testing-tool-for-mcp-servers-heres-why-and-how-it-works-1f8d</guid>
      <description>&lt;p&gt;&lt;a href="ur[](https://github.com/td-02/mcp-observer)l"&gt;&lt;/a&gt;When your AI agent does something unexpected, where do you look?&lt;/p&gt;

&lt;p&gt;For most teams right now: stderr noise, missing logs, or vendor black boxes. The execution path disappears, you have no idea what the agent actually sent to the tool, and there's no way to reproduce the failure in a test.&lt;/p&gt;

&lt;p&gt;I kept hitting this wall while building MCP agents, so I built mcpscope — an open source observability and replay testing layer for MCP servers.&lt;/p&gt;

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

&lt;p&gt;MCP (Model Context Protocol) is becoming the standard way AI agents call external tools. But the tooling around it is still catching up. When something goes wrong in production:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;There's no standard trace format for MCP traffic&lt;/li&gt;
&lt;li&gt;Tool call failures vanish into stderr with no context&lt;/li&gt;
&lt;li&gt;Schema changes on upstream servers break your agent silently&lt;/li&gt;
&lt;li&gt;There's no way to reproduce a production failure in a test environment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the gap mcpscope fills.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;mcpscope is a transparent proxy. You point it at your MCP server and it intercepts every JSON-RPC message — recording requests, responses, latency, and errors — without changing a single line in your server.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;go &lt;span class="nb"&gt;install &lt;/span&gt;github.com/td-02/mcp-observer@latest
mcpscope proxy &lt;span class="nt"&gt;--server&lt;/span&gt; ./your-mcp-server &lt;span class="nt"&gt;--db&lt;/span&gt; traces.db
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open &lt;a href="http://localhost:4444" rel="noopener noreferrer"&gt;http://localhost:4444&lt;/a&gt; and you have a live dashboard showing every tool call, with P50/P95/P99 latency histograms and error timelines.&lt;/p&gt;

&lt;p&gt;For Python servers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mcpscope proxy &lt;span class="nt"&gt;--&lt;/span&gt; uv run server.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For HTTP MCP servers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mcpscope proxy &lt;span class="nt"&gt;--transport&lt;/span&gt; http &lt;span class="nt"&gt;--upstream-url&lt;/span&gt; http://127.0.0.1:8080
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The feature I'm most excited about: replay
&lt;/h2&gt;

&lt;p&gt;This is the part I haven't seen in any other MCP tooling.&lt;/p&gt;

&lt;p&gt;Once mcpscope has recorded your production traces, you can export and replay them against your server in CI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Export real production traces&lt;/span&gt;
mcpscope &lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nt"&gt;--config&lt;/span&gt; ./mcpscope.example.json &lt;span class="nt"&gt;--output&lt;/span&gt; traces.json &lt;span class="nt"&gt;--limit&lt;/span&gt; 200

&lt;span class="c"&gt;# Replay in CI — fail on errors or latency regressions&lt;/span&gt;
mcpscope replay &lt;span class="nt"&gt;--input&lt;/span&gt; traces.json &lt;span class="nt"&gt;--fail-on-error&lt;/span&gt; &lt;span class="nt"&gt;--max-latency-ms&lt;/span&gt; 500 &lt;span class="nt"&gt;--&lt;/span&gt; uv run server.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Record in prod. Replay in CI. Catch regressions before they reach your agent.&lt;/p&gt;

&lt;p&gt;This unlocks a workflow that wasn't possible before: take a session where your agent behaved unexpectedly, export the exact traces, and turn them into a reproducible test case. No more "it only happens in production."&lt;/p&gt;

&lt;h2&gt;
  
  
  Schema drift in CI
&lt;/h2&gt;

&lt;p&gt;The other thing that kept biting me: upstream MCP servers changing their tool schemas without warning, silently breaking my agent.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Capture baseline&lt;/span&gt;
mcpscope snapshot &lt;span class="nt"&gt;--server&lt;/span&gt; ./your-mcp-server &lt;span class="nt"&gt;--output&lt;/span&gt; baseline.json
git add baseline.json &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"chore: add MCP baseline snapshot"&lt;/span&gt;

&lt;span class="c"&gt;# On every PR:&lt;/span&gt;
mcpscope snapshot &lt;span class="nt"&gt;--server&lt;/span&gt; ./your-mcp-server &lt;span class="nt"&gt;--output&lt;/span&gt; current.json
mcpscope diff baseline.json current.json &lt;span class="nt"&gt;--exit-code&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The --exit-code flag makes it CI-friendly — exits non-zero on breaking changes so your PR check fails before the change reaches your agent. There's a GitHub Actions example in the repo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Everything else in v0.1.0
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Live web dashboard — tool call feed, latency percentile views, error timelines&lt;/li&gt;
&lt;li&gt;Alerts — Slack, PagerDuty, or any webhook&lt;/li&gt;
&lt;li&gt;OpenTelemetry export — plugs into Grafana or Jaeger via OTLP gRPC&lt;/li&gt;
&lt;li&gt;SQLite trace store — local by default, Postgres-ready, configurable retention&lt;/li&gt;
&lt;li&gt;Workspace + environment scoping — prod vs staging&lt;/li&gt;
&lt;li&gt;Docker + Docker Compose included&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why open source and MIT
&lt;/h2&gt;

&lt;p&gt;Tool call data can contain sensitive information. I wanted something that keeps traces local by default, plugs into the stack you already have, and can run in air-gapped environments. No telemetry, MIT licensed.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;Per-team budget enforcement, audit log export (CSV and JSON), and a hosted cloud version are on the roadmap.&lt;/p&gt;

&lt;p&gt;But right now I'm most interested in hearing from people building MCP agents — what are you running into that mcpscope doesn't solve yet?&lt;/p&gt;




&lt;p&gt;Repo: &lt;a href="https://github.com/td-02/mcp-observer" rel="noopener noreferrer"&gt;https://github.com/td-02/mcp-observer&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>devtools</category>
      <category>go</category>
    </item>
  </channel>
</rss>
