<?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: William Weishuhn</title>
    <description>The latest articles on DEV Community by William Weishuhn (@kryptosai).</description>
    <link>https://dev.to/kryptosai</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%2F4020074%2Ff6f499bf-6b37-4d17-980f-5da6b7a2dd2a.jpg</url>
      <title>DEV Community: William Weishuhn</title>
      <link>https://dev.to/kryptosai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kryptosai"/>
    <language>en</language>
    <item>
      <title>I Turned My Obsession With Trustworthy AI Agents Into MCP Observatory</title>
      <dc:creator>William Weishuhn</dc:creator>
      <pubDate>Sun, 12 Jul 2026 19:56:33 +0000</pubDate>
      <link>https://dev.to/kryptosai/i-turned-my-obsession-with-trustworthy-ai-agents-into-mcp-observatory-2eh2</link>
      <guid>https://dev.to/kryptosai/i-turned-my-obsession-with-trustworthy-ai-agents-into-mcp-observatory-2eh2</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/weekend-2026-07-09"&gt;Weekend Challenge: Passion Edition&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built &lt;strong&gt;MCP Observatory&lt;/strong&gt;, an open-source security and reliability toolkit for Model Context Protocol servers.&lt;/p&gt;

&lt;p&gt;AI agents are only as trustworthy as the tools they can call. As MCP servers move from demos into real workflows, teams need a way to answer practical questions before depending on them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What capabilities does this server expose?&lt;/li&gt;
&lt;li&gt;Did its tool schemas or behavior change?&lt;/li&gt;
&lt;li&gt;Can we reproduce and inspect a failed session?&lt;/li&gt;
&lt;li&gt;Will a risky regression be caught before deployment?&lt;/li&gt;
&lt;li&gt;Is there evidence an operator or another agent can verify?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;MCP Observatory turns those questions into repeatable checks. It can discover servers, scan them, run security tests and attack simulations, detect schema and response drift, record and replay sessions, generate health scores and badges, and emit CI-friendly Markdown, JSON, and SARIF artifacts.&lt;/p&gt;

&lt;p&gt;The project is my response to a subject I keep returning to: &lt;strong&gt;how do we make increasingly capable AI agents safer without making them less useful?&lt;/strong&gt; I wanted the answer to be practical, inspectable, and open source—not just another policy document.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Landing page
&lt;/h3&gt;

&lt;p&gt;👉 &lt;a href="https://mcp-observatory.com" rel="noopener noreferrer"&gt;mcp-observatory.com&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Try the CLI
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx @kryptosai/mcp-observatory@latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run a deep security scan:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx @kryptosai/mcp-observatory@latest scan deep &lt;span class="nt"&gt;--security&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Audit an MCP server and produce a readable report:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx @kryptosai/mcp-observatory@latest audit   npx &lt;span class="nt"&gt;-y&lt;/span&gt; @modelcontextprotocol/server-everything   &lt;span class="nt"&gt;--profile&lt;/span&gt; nsa-mcp   &lt;span class="nt"&gt;--format&lt;/span&gt; markdown   &lt;span class="nt"&gt;--output&lt;/span&gt; mcp-audit.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Set up CI and SARIF output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx @kryptosai/mcp-observatory@latest setup-ci   &lt;span class="nt"&gt;--all&lt;/span&gt;   &lt;span class="nt"&gt;--command&lt;/span&gt; &lt;span class="s2"&gt;"npx -y your-mcp-server"&lt;/span&gt;   &lt;span class="nt"&gt;--sarif&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The same toolkit can run as an MCP server, which means an agent can use Observatory to inspect another MCP server:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add mcp-observatory &lt;span class="nt"&gt;--&lt;/span&gt;   npx &lt;span class="nt"&gt;-y&lt;/span&gt; @kryptosai/mcp-observatory serve
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/KryptosAI/mcp-observatory" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/@kryptosai/mcp-observatory" rel="noopener noreferrer"&gt;npm package&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/kryptosai/mcp-observatory-scan-test-and-secure-mcp-servers-before-agents-depend-on-them-2653"&gt;Technical launch article&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The core CLI and MCP server are MIT licensed for local open-source use.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;MCP Observatory is built in TypeScript and organized around a simple idea: a test should leave behind evidence.&lt;/p&gt;

&lt;p&gt;The workflow is roughly:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Discover&lt;/strong&gt; MCP servers from supported configurations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Connect&lt;/strong&gt; over the server's transport and inspect its advertised capabilities.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exercise&lt;/strong&gt; tools and prompts through targeted checks or deeper security campaigns.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Record&lt;/strong&gt; schemas, responses, timing, and failures as structured artifacts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compare&lt;/strong&gt; current behavior with earlier runs to detect drift.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Report&lt;/strong&gt; the result as Markdown for humans, JSON for automation, or SARIF for code scanning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enforce&lt;/strong&gt; the checks in CI so regressions are caught before agents depend on them.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Some of the most interesting engineering work has been making the output useful beyond a single terminal session. A pass/fail result is not enough when behavior changes over time, so Observatory supports receipts, run artifacts, record/replay cassettes, risk graphs, badges, and regression reports.&lt;/p&gt;

&lt;p&gt;I also built a GitHub Action and CI setup flow because security tooling only matters when teams can adopt it without rebuilding their workflow around the tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Is My Passion Project
&lt;/h2&gt;

&lt;p&gt;The “passion” here is not just enthusiasm for AI. It is a stubborn belief that powerful developer tools should earn trust through evidence.&lt;/p&gt;

&lt;p&gt;I love building systems that make invisible behavior visible: a schema change that would otherwise surprise an agent, a response drift that quietly breaks automation, or a risky capability that deserves review before production.&lt;/p&gt;

&lt;p&gt;MCP is becoming connective tissue for agentic software. I want the safety layer around it to be open, reproducible, and accessible to individual maintainers—not reserved for teams with enterprise security budgets.&lt;/p&gt;

&lt;p&gt;That is what keeps me working on MCP Observatory: every new test, artifact, and integration makes it a little easier to scan before you trust.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;The biggest lesson is that reliability and security are not separate features for agent tools. Both depend on understanding what a server promised, what it actually did, and whether that behavior changed.&lt;/p&gt;

&lt;p&gt;I also learned that adoption is part of the engineering problem. A sophisticated security check that cannot run locally or in CI will be ignored. The best workflow is one command to try, structured evidence to inspect, and a clear path to automation.&lt;/p&gt;

&lt;p&gt;If you work with MCP servers, I would love feedback on the risks or failure modes you most want Observatory to catch next.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>mcp</category>
      <category>security</category>
    </item>
    <item>
      <title>MCP Observatory: Scan, Test, and Secure MCP Servers Before Agents Depend on Them</title>
      <dc:creator>William Weishuhn</dc:creator>
      <pubDate>Sun, 12 Jul 2026 19:50:02 +0000</pubDate>
      <link>https://dev.to/kryptosai/mcp-observatory-scan-test-and-secure-mcp-servers-before-agents-depend-on-them-2653</link>
      <guid>https://dev.to/kryptosai/mcp-observatory-scan-test-and-secure-mcp-servers-before-agents-depend-on-them-2653</guid>
      <description>&lt;p&gt;MCP servers are becoming production dependencies.&lt;/p&gt;

&lt;p&gt;If an agent depends on a server, that server needs the same basic safety net as any other production integration: CI checks, security review, regression reports, and artifacts that teams can inspect when behavior changes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/KryptosAI/mcp-observatory" rel="noopener noreferrer"&gt;MCP Observatory&lt;/a&gt; helps teams test, secure, and monitor MCP servers before agents depend on them.&lt;/p&gt;

&lt;p&gt;It can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;scan MCP servers from local configs&lt;/li&gt;
&lt;li&gt;run in CI through the GitHub Action&lt;/li&gt;
&lt;li&gt;detect capability, schema, and response drift&lt;/li&gt;
&lt;li&gt;record, replay, and verify MCP sessions&lt;/li&gt;
&lt;li&gt;produce health scores, badges, and production/security reports&lt;/li&gt;
&lt;li&gt;run as an MCP server so agents can test other MCP servers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The open source CLI and MCP server remain free for local OSS use under MIT.&lt;/p&gt;

&lt;p&gt;For teams running MCP in private repos or production workflows, paid pilots are available for hosted reporting, private repo CI history, security reports, production monitoring, certification, support, and fleet visibility.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx @kryptosai/mcp-observatory@latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Deep scan:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx @kryptosai/mcp-observatory@latest scan deep &lt;span class="nt"&gt;--security&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Running MCP in production? Contact &lt;a href="mailto:william@banksey.com"&gt;william@banksey.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>security</category>
      <category>opensource</category>
    </item>
    <item>
      <title>mcp-observatory：一行命令扫描 MCP 服务器安全漏洞</title>
      <dc:creator>William Weishuhn</dc:creator>
      <pubDate>Tue, 07 Jul 2026 19:07:19 +0000</pubDate>
      <link>https://dev.to/kryptosai/mcp-observatory-xing-ming-ling-sao-miao-mcp-fu-wu-qi-an-quan-lou-dong-4oep</link>
      <guid>https://dev.to/kryptosai/mcp-observatory-xing-ming-ling-sao-miao-mcp-fu-wu-qi-an-quan-lou-dong-4oep</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;你的 AI Agent 正在盲连 MCP 服务器。没有人检查过它们是否安全——直到现在。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  你在盲连，而你不知道
&lt;/h2&gt;

&lt;p&gt;2026 年，MCP（Model Context Protocol）已经成了 AI Agent 的事实标准协议。Claude Code、Cursor、Codex、以及字节跳动的 UI-TARS，都在通过 MCP 连接外部工具：文件系统、数据库、浏览器、Kubernetes 集群。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;问题在于，绝大多数 MCP 服务器从未被安全审计过。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;你给 Agent 接了一个 Kubernetes MCP 服务器。Agent 能执行什么命令？它有没有 shell 注入面？上游更新后 Schema 是否悄悄变了？答案在今天是：&lt;strong&gt;没人知道&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;我们做了一个实验。对 &lt;code&gt;mcp-server-kubernetes&lt;/code&gt;——一个 3,000+ star 的官方 MCP 服务器——跑了安全扫描。结果是 72/100 分，安全维度直接 &lt;strong&gt;0 分&lt;/strong&gt;，发现 3 个 HIGH 级别问题：&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;工具&lt;/th&gt;
&lt;th&gt;风险等级&lt;/th&gt;
&lt;th&gt;问题&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl_create&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;HIGH&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;command&lt;/code&gt; 参数允许任意命令执行（shell 注入）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;exec_in_pod&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;HIGH&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;command&lt;/code&gt; 参数允许在 Pod 内执行任意命令&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl_generic&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;HIGH&lt;/td&gt;
&lt;td&gt;通用 &lt;code&gt;command&lt;/code&gt; 参数绕过所有安全约束&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;这不是漏洞指控——而是在你把它接上生产集群之前，你需要知道的事。&lt;/p&gt;

&lt;h2&gt;
  
  
  mcp-observatory：MCP 服务器的安全望远镜
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/KryptosAI/mcp-observatory" rel="noopener noreferrer"&gt;&lt;code&gt;mcp-observatory&lt;/code&gt;&lt;/a&gt; 就是为回答这类问题而生的开源工具。一条命令，完成自动化安全审计、攻击模拟、Schema 漂移检测和合规检查。&lt;/p&gt;

&lt;p&gt;截至发文：&lt;strong&gt;142 GitHub Stars&lt;/strong&gt;、&lt;strong&gt;21 Forks&lt;/strong&gt;、npm 月下载 2,300+。已在 &lt;a href="https://gitee.com/williamweishuhn/mcp-observatory" rel="noopener noreferrer"&gt;Gitee&lt;/a&gt; 建立镜像，国内可直接访问。&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
npx @kryptosai/mcp-observatory
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>mcp</category>
      <category>security</category>
    </item>
  </channel>
</rss>
