<?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: TrustScoreAgent</title>
    <description>The latest articles on DEV Community by TrustScoreAgent (@trustscoreagent_a6f13be17).</description>
    <link>https://dev.to/trustscoreagent_a6f13be17</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%2F4076468%2F3509b345-4a36-4846-acc7-3022ecc92c17.png</url>
      <title>DEV Community: TrustScoreAgent</title>
      <link>https://dev.to/trustscoreagent_a6f13be17</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/trustscoreagent_a6f13be17"/>
    <language>en</language>
    <item>
      <title>Agents are flying blind: a trust layer for AI microservi</title>
      <dc:creator>TrustScoreAgent</dc:creator>
      <pubDate>Thu, 13 Aug 2026 14:56:13 +0000</pubDate>
      <link>https://dev.to/trustscoreagent_a6f13be17/agents-are-flying-blind-a-trust-layer-for-ai-microservi-1i39</link>
      <guid>https://dev.to/trustscoreagent_a6f13be17/agents-are-flying-blind-a-trust-layer-for-ai-microservi-1i39</guid>
      <description>&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;AI agents are becoming the primary consumers of the web. They call microservices and paid APIs on our behalf, and they do it &lt;strong&gt;blind&lt;/strong&gt;. There's no "customer reviews," no word-of-mouth, no shared signal telling an agent whether a service is reliable, fast, and honest &lt;em&gt;before&lt;/em&gt; it spends a call (or a micropayment) on it. Every agent faces thousands of unknown services alone.&lt;/p&gt;

&lt;h2&gt;
  
  
  The idea
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://trustscoreagent.com" rel="noopener noreferrer"&gt;TrustScoreAgent&lt;/a&gt; is a free, open reputation registry for AI microservices. Two moves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Before a call:&lt;/strong&gt; check the service's trust score.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;After a call:&lt;/strong&gt; submit a rating from your interaction metrics.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No account, no API key. You identify a service by URL, domain, or DID, and they all normalize to the same thing.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="s2"&gt;"https://api.trustscoreagent.com/v1/score?service=api.open-meteo.com"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How the score is built
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Bayesian reputation (Beta)&lt;/strong&gt; per dimension (availability, latency, conformity), so a fast-but-flaky service and a slow-but-reliable one don't look the same.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EigenTrust&lt;/strong&gt; for transitive agent trust: raters whose ratings are consistently out of step with consensus lose weight over time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cryptographic receipts.&lt;/strong&gt; A service can return a receipt (a JWT signed with its Ed25519 key, resolved via &lt;code&gt;did:web&lt;/code&gt;) proving an interaction actually happened. The registry verifies the signature; verified ratings carry full weight, unverified ones are discounted. This is what makes the scores more than self-reported stars. &lt;a href="https://api.trustscoreagent.com/v1/score/detailed?service=trustscoreagent.pages.dev/receipts-demo" rel="noopener noreferrer"&gt;Inspect a verified rating.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Merkle audit log.&lt;/strong&gt; Every rating is committed to an append-only Merkle tree; anyone can pull an inclusion proof and verify it against the anchored root. You don't have to trust the operator's numbers. You can check them.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Use it from an agent
&lt;/h2&gt;

&lt;p&gt;MCP (Claude Desktop, Claude Code, Cursor, Windsurf):&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;"trustscoreagent"&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;"@trustscoreagent/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;LangChain / CrewAI: drop-in tools in the &lt;a href="https://github.com/trustscoreagent/trustscoreagent/tree/main/integrations" rel="noopener noreferrer"&gt;integrations/&lt;/a&gt; folder: &lt;code&gt;get_trustscoreagent_tools()&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this is &lt;em&gt;not&lt;/em&gt; (yet): honest Phase 1
&lt;/h2&gt;

&lt;p&gt;I'd rather you adopt this understanding its limits than oversell it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Single operator.&lt;/strong&gt; Neutrality rests on open-source scoring plus a verifiable audit log, not on decentralization. Federation is a later phase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent identity is self-asserted.&lt;/strong&gt; Mandatory per-request agent signatures and on-chain anchoring of the Merkle root are Phase 2. Receipt-verified ratings are the trustworthy signal today.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Small dataset.&lt;/strong&gt; Baseline scores come from a transparent probe measuring ~20 real public APIs: genuine, Merkle-audited measurements, not fabricated. Community and receipt ratings build on top.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why it should be a standard
&lt;/h2&gt;

&lt;p&gt;The value compounds with adoption: more participating agents means more reliable scores, which means more reason to participate. A single open, neutral registry beats N fragmented ones. Like DNS is for names, this is a thing you &lt;em&gt;consult&lt;/em&gt; for trust. It never sits in your request path.&lt;/p&gt;

&lt;p&gt;Open source (Apache-2.0), self-hostable: &lt;strong&gt;&lt;a href="https://github.com/trustscoreagent/trustscoreagent" rel="noopener noreferrer"&gt;https://github.com/trustscoreagent/trustscoreagent&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'd love feedback, especially on the receipt standard and on proving agent identity without a central authority.&lt;/p&gt;

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