<?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>Forem: Arber</title>
    <description>The latest articles on Forem by Arber (@arber).</description>
    <link>https://forem.com/arber</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%2F212876%2F6c61abf4-b532-4b8c-88ba-65b1d7fe1126.png</url>
      <title>Forem: Arber</title>
      <link>https://forem.com/arber</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/arber"/>
    <language>en</language>
    <item>
      <title>THE NEW WEB</title>
      <dc:creator>Arber</dc:creator>
      <pubDate>Sat, 14 Feb 2026 00:39:23 +0000</pubDate>
      <link>https://forem.com/arber/the-new-web-2kac</link>
      <guid>https://forem.com/arber/the-new-web-2kac</guid>
      <description>&lt;h1&gt;
  
  
  The MCP Hub Is the New Backend: Why Tool-First Architecture Changes Everything
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;February 2026&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;We've been building web applications the same way for fifteen years. A frontend talks to a REST API (or GraphQL, if you're feeling modern). Behind that API sits business logic, data access layers, auth middleware, caching, and a thousand lines of glue code that exist solely to shuttle data between systems that don't know about each other.&lt;/p&gt;

&lt;p&gt;Then we added AI. And we bolted on &lt;em&gt;another&lt;/em&gt; layer — tool definitions, function schemas, orchestrator loops — so the LLM could call the same business logic through a completely separate interface.&lt;/p&gt;

&lt;p&gt;Then we added agent-to-agent communication. Another protocol. Another set of endpoints. Another translation layer.&lt;/p&gt;

&lt;p&gt;Now the W3C is standardizing WebMCP — a browser-native API that lets AI agents running &lt;em&gt;inside the browser&lt;/em&gt; discover and call tools on the page. That's a fourth consumer of the same underlying capabilities.&lt;/p&gt;

&lt;p&gt;Four consumers. Four separate integration surfaces. All calling the same business logic through four different plumbing systems.&lt;/p&gt;

&lt;p&gt;This is insane. And it doesn't have to be this way.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Insight: MCP Tools Already Are Your API
&lt;/h2&gt;

&lt;p&gt;The Model Context Protocol defines a tool as a function with a name, a description, an input schema, and a handler. Sound familiar? That's exactly what a REST endpoint is — minus the HTTP ceremony.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Tool: get_calendar_events
Input: { date: "2026-02-13", limit: 10 }
Output: [{ title: "Standup", time: "9:00 AM" }, ...]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There is no structural difference between this and &lt;code&gt;GET /api/calendar?date=2026-02-13&amp;amp;limit=10&lt;/code&gt;. The tool &lt;em&gt;is&lt;/em&gt; the API. The schema &lt;em&gt;is&lt;/em&gt; the contract. The handler &lt;em&gt;is&lt;/em&gt; the business logic.&lt;/p&gt;

&lt;p&gt;So why are we maintaining both?&lt;/p&gt;

&lt;p&gt;The answer, until recently, was that MCP tools lived inside AI orchestration loops and nothing else could reach them. But that constraint is dissolving — fast.&lt;/p&gt;




&lt;h2&gt;
  
  
  Four Consumers, One Hub
&lt;/h2&gt;

&lt;p&gt;Here's what the landscape looks like in February 2026:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Consumer&lt;/th&gt;
&lt;th&gt;How It Reaches Your Tools&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;LLM Orchestrator&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;MCP client → &lt;code&gt;tools/call&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;Mature. Every major AI framework supports this.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Agent-to-Agent (A2A)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Google's A2A protocol — &lt;code&gt;POST /a2a/message:send&lt;/code&gt; routes through the orchestrator, which calls the same tools&lt;/td&gt;
&lt;td&gt;Shipping. Google published the spec, implementations exist.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;UI Widgets&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;A thin client SDK that calls tools directly or proxies through the server&lt;/td&gt;
&lt;td&gt;Buildable today. This is the missing piece most teams haven't realized they can build.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Browser AI Agents&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;W3C WebMCP — &lt;code&gt;navigator.modelContext.registerTool()&lt;/code&gt; exposes tools to any agent visiting the page&lt;/td&gt;
&lt;td&gt;Draft spec. Chrome feature flag. Microsoft and Google editors. Coming.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Four consumers. &lt;strong&gt;Zero additional API layers required&lt;/strong&gt; — if your tools are the source of truth.&lt;/p&gt;

&lt;p&gt;This is the multiplier effect: every tool you write serves four surfaces simultaneously. Every new capability you add to your MCP hub is instantly available to your AI, your UI, visiting browser agents, and external agent systems. No REST endpoints to maintain. No GraphQL resolvers to keep in sync. No duplicate data-fetching logic.&lt;/p&gt;

&lt;p&gt;The MCP tool IS the API.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Changes Architecturally
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Before: The Layer Cake
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Frontend  →  REST API  →  Service Layer  →  Database
                              ↑
LLM Orchestrator  →  Tool Definitions  →  (reimplements service layer)
                              ↑
A2A Endpoint  →  Translation Layer  →  (reimplements it again)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every consumer gets its own integration path. Business logic is duplicated or awkwardly shared through internal libraries. Adding a new consumer means building another translation layer.&lt;/p&gt;

&lt;h3&gt;
  
  
  After: The Hub
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                    ┌──────────────────────────────┐
                    │         MCP TOOL HUB         │
                    │   (tools, resources, schemas) │
                    └──────┬───────┬───────┬───────┘
                           │       │       │
              ┌────────────┤       │       ├────────────┐
              │            │       │       │            │
              ▼            ▼       ▼       ▼            
        LLM Agent    UI Widgets  WebMCP   A2A Agents
                                 Agents
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One set of tools. One set of schemas. One authorization model. Four consumers reading from the same source of truth.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Two-Tier Visibility Model
&lt;/h2&gt;

&lt;p&gt;Not every tool should be exposed to every consumer. Your internal admin tools shouldn't appear in the WebMCP catalog for visiting browser agents. Your authenticated calendar tool shouldn't run client-side where there's no session context.&lt;/p&gt;

&lt;p&gt;The solution is a simple category-based visibility model:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Public tools&lt;/strong&gt; are safe for unauthenticated, client-side execution. They're read-only, require no secrets, and expose no private data. Think: search a public knowledge base, get product information, check business hours. These tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run directly in the browser (no server round-trip)&lt;/li&gt;
&lt;li&gt;Register with WebMCP for browser agents to discover&lt;/li&gt;
&lt;li&gt;Power public-facing widgets&lt;/li&gt;
&lt;li&gt;Appear in A2A agent cards for anonymous callers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Private tools&lt;/strong&gt; require authentication, access sensitive data, or perform mutations. Think: read my calendar, send an email, update a record. These tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Always execute server-side, proxied through the hub&lt;/li&gt;
&lt;li&gt;Are available to the LLM orchestrator (which has session context)&lt;/li&gt;
&lt;li&gt;Power authenticated widgets (the UI calls the server, which calls the tool)&lt;/li&gt;
&lt;li&gt;Can be selectively advertised to authenticated A2A partners&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The hub decides what's public and what's private. The frontend doesn't make that call — it asks the hub for a catalog and gets back only what it's allowed to see.&lt;/p&gt;

&lt;p&gt;This is security by architecture, not by convention.&lt;/p&gt;




&lt;h2&gt;
  
  
  Widgets Are Just Tool Calls With a Render Function
&lt;/h2&gt;

&lt;p&gt;Here's the conceptual leap that unlocks the most value: &lt;strong&gt;a widget is not a component that fetches its own data.&lt;/strong&gt; A widget is a tool call paired with a renderer.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Widget = ToolCall(name, args) + Renderer(result)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your calendar widget doesn't need its own API route, its own fetch logic, its own error handling, its own caching strategy. It calls &lt;code&gt;get_calendar_events&lt;/code&gt; — the same tool the LLM uses — and renders the result.&lt;/p&gt;

&lt;p&gt;This means:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The LLM and the widget always agree on the data.&lt;/strong&gt; They're calling the same function with the same schema.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adding a widget costs near-zero backend work.&lt;/strong&gt; The tool already exists. You're just building a visual layer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tools become composable UI primitives.&lt;/strong&gt; A dashboard is just a grid of tool calls, each with a renderer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The tool's schema drives the widget's interface.&lt;/strong&gt; Input schema → form fields. Output schema → display template. You can generate basic widget UIs from the schema alone.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For public tools, the widget calls the hub directly from the browser. For private tools, the widget routes through the server, which adds session context and proxies the call. Same widget code, different execution path, decided by the tool's visibility category.&lt;/p&gt;




&lt;h2&gt;
  
  
  WebMCP: The Browser Becomes a Client
&lt;/h2&gt;

&lt;p&gt;The W3C Web Machine Learning Community Group is drafting an API called WebMCP (editors from Microsoft and Google). It adds &lt;code&gt;navigator.modelContext&lt;/code&gt; to the browser — a native surface for pages to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;registerTool()&lt;/code&gt;&lt;/strong&gt; — expose a tool to any AI agent visiting the page&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;provideContext()&lt;/code&gt;&lt;/strong&gt; — give agents structured context about the page&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;client.requestUserInteraction()&lt;/code&gt;&lt;/strong&gt; — let a tool pause for user confirmation before doing something destructive&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is behind a Chrome feature flag today. When it ships, any page can declare: "I have these tools. Here are their schemas. Here's how to call them."&lt;/p&gt;

&lt;p&gt;If your MCP hub already has tools with schemas and handlers, registering them with WebMCP is mechanical. Your public tools become browser-agent-discoverable automatically. A user's AI assistant — whether it's built into the browser, running as an extension, or operating as a cloud agent — can see what your page offers and interact with it programmatically.&lt;/p&gt;

&lt;p&gt;And here's what makes this click: the WebMCP registration isn't a separate process. It's not a second system you wire up after the fact. The tool is &lt;em&gt;already&lt;/em&gt; in the hub catalog. The widget is &lt;em&gt;already&lt;/em&gt; calling it to render UI. The hub &lt;em&gt;already&lt;/em&gt; knows it's marked for public consumption. So registering it with &lt;code&gt;navigator.modelContext&lt;/code&gt; is just — "also do this too, since it's public anyway." The search widget is rendering results from &lt;code&gt;search_available_products&lt;/code&gt; and, because that tool is flagged as public, it's &lt;em&gt;also&lt;/em&gt; being advertised to visiting browser agents. No extra plumbing. No registration ceremony. The visibility category you already set is doing double duty.&lt;/p&gt;

&lt;p&gt;The page is simultaneously &lt;em&gt;consuming&lt;/em&gt; its own tools for UI and &lt;em&gt;publishing&lt;/em&gt; them for external agents — not as two processes, but as one. One catalog, one visibility flag, two roles.&lt;/p&gt;

&lt;p&gt;The page isn't just a visual surface anymore. It's a tool catalog — and it's already eating its own cooking.&lt;/p&gt;




&lt;h2&gt;
  
  
  A2A: The Server-to-Server Surface
&lt;/h2&gt;

&lt;p&gt;Google's Agent-to-Agent protocol gives you the same multiplier on the server side. An A2A implementation exposes your hub's capabilities to external agent systems over HTTP:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Discovery&lt;/strong&gt;: &lt;code&gt;GET /.well-known/agent-card.json&lt;/code&gt; — a machine-readable manifest of what your agent can do&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Execution&lt;/strong&gt;: &lt;code&gt;POST /a2a/message:send&lt;/code&gt; — send a task, get a result&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streaming&lt;/strong&gt;: &lt;code&gt;POST /a2a/message:stream&lt;/code&gt; — same thing, but with real-time progress via SSE&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Task management&lt;/strong&gt;: get status, list tasks, cancel in-flight work&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The A2A layer doesn't reimplement your business logic. It routes incoming requests through your orchestrator, which calls your tools, which are the same tools powering your LLM, your widgets, and your WebMCP surface.&lt;/p&gt;

&lt;p&gt;External agents don't need to understand your internal architecture. They see an agent card, they send a message, they get a result. Your hub handles everything behind the curtain.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Compounding Effect of Bridged Tools
&lt;/h2&gt;

&lt;p&gt;Most MCP hubs don't implement every tool natively. They &lt;em&gt;bridge&lt;/em&gt; external MCP servers — connecting to third-party providers that expose their own tools through the protocol. A single hub might bridge a dozen external servers, each contributing their tools to the unified catalog.&lt;/p&gt;

&lt;p&gt;Here's where the architecture compounds: &lt;strong&gt;bridged tools get the same four-consumer treatment as native tools.&lt;/strong&gt; When you bridge a new MCP server into your hub, those tools immediately become:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Available to your LLM&lt;/li&gt;
&lt;li&gt;Callable from widgets&lt;/li&gt;
&lt;li&gt;Registerable with WebMCP&lt;/li&gt;
&lt;li&gt;Discoverable via A2A&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You didn't write those tools. You didn't design their schemas. You just connected a bridge. And now they're available everywhere.&lt;/p&gt;

&lt;p&gt;This turns the hub into an &lt;em&gt;integration platform&lt;/em&gt;. Every MCP server in the ecosystem becomes a potential source of capabilities that flow through your hub to all four consumer surfaces.&lt;/p&gt;




&lt;h2&gt;
  
  
  What This Means for How We Build
&lt;/h2&gt;

&lt;p&gt;If you take this architecture seriously, several things follow:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Stop building REST APIs for things that are already MCP tools.&lt;/strong&gt;&lt;br&gt;
If your LLM can call &lt;code&gt;search_products&lt;/code&gt;, your frontend can too. Don't build &lt;code&gt;GET /api/products/search&lt;/code&gt; as a separate thing. Route the widget through the tool.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Design tools as the primitive, not endpoints.&lt;/strong&gt;&lt;br&gt;
When speccing a new feature, start with the tool definition: name, schema, handler. The REST endpoint, the widget, the WebMCP registration, and the A2A skill all derive from that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Let the hub own visibility.&lt;/strong&gt;&lt;br&gt;
Don't scatter access control across API gateways, frontend guards, and LLM system prompts. Put a &lt;code&gt;public&lt;/code&gt; or &lt;code&gt;private&lt;/code&gt; category on the tool in the hub. Everything downstream respects it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Think in surfaces, not integrations.&lt;/strong&gt;&lt;br&gt;
"How do I expose this to the AI?" and "How do I show this in the UI?" and "How do I let external agents use this?" are the same question: "Which tool, and what visibility?"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Resources are the next frontier.&lt;/strong&gt;&lt;br&gt;
MCP defines resources as read-only data surfaces — URIs that return structured content. If tools are the new API endpoints, resources are the new database views. A dashboard widget backed by &lt;code&gt;internal://analytics/daily-summary&lt;/code&gt;. A documentation browser backed by &lt;code&gt;internal://docs/api-reference&lt;/code&gt;. Same hub, same visibility model, same four consumers. And here's the kicker: tools that piggyback resource creation — tools that &lt;em&gt;produce&lt;/em&gt; resources as a side effect of execution — give you &lt;strong&gt;dynamic resources&lt;/strong&gt;. A tool that generates a report doesn't just return a result; it mints a resource URI that any consumer can read later. The hub's resource surface grows organically as tools run. Static resources for reference data, dynamic resources for everything tools produce. The catalog writes itself.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Conclusion
&lt;/h2&gt;

&lt;p&gt;There's a new participant in the conversation. When the consumer is an LLM, a browser agent, or an external AI system, the handshake needs to change. Not because the old patterns failed us before, but because in this decade they fail often.&lt;/p&gt;

&lt;p&gt;MCP gives us that abstraction. A tool is a universal unit of capability: named, schemaed, executable, discoverable.&lt;/p&gt;

&lt;p&gt;WebMCP puts it in the browser. A2A puts it on the network. The LLM orchestrator already had it. And a thin SDK turns it into a widget.&lt;/p&gt;

&lt;p&gt;The MCP hub isn't a sidecar for your AI features. It's the center of gravity for your entire application. The sooner we start treating it that way, the less code we'll need to write — and the more surfaces we'll be able to serve.&lt;/p&gt;

&lt;p&gt;Build the tool once. Let everything else derive from it.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>webmcp</category>
      <category>agents</category>
    </item>
    <item>
      <title>MCP Burst: A Plug-and-Play Server of Servers for Your App [built with GPT]</title>
      <dc:creator>Arber</dc:creator>
      <pubDate>Sat, 14 Jun 2025 19:29:19 +0000</pubDate>
      <link>https://forem.com/arber/mcp-burst-a-plug-and-play-server-of-servers-for-your-app-1k1c</link>
      <guid>https://forem.com/arber/mcp-burst-a-plug-and-play-server-of-servers-for-your-app-1k1c</guid>
      <description>&lt;p&gt;When learning the idea behind MCP Servers, I kept running into the same wall: tools that demo well but take hours to adapt and most focus on integrating with Claude Desktop directly, and not into a web stack... in local or deployed environments.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;MCP Burst&lt;/strong&gt; — not to compete with what’s out there, but to fill the gap I couldn’t find a fix for.&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Disclaimer: This post was written and formatted by my custom GPT, doing it's best to sound just like me!&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;There are many impressive repos out there that make great use of MCP Servers, but watching others on YouTube implement them, I quickly realized that what I needed was a framework I could understand and so I built it utilizing the official SDK.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Fix: MCP Burst
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;MCP Burst&lt;/strong&gt; is a minimal but complete(?) setup that you can run as-is &lt;em&gt;or&lt;/em&gt; drop directly into any Node server. It exposes a &lt;code&gt;/mcp&lt;/code&gt; endpoint that’s JSON-RPC ready, includes a &lt;code&gt;health&lt;/code&gt; ping, and even ships with a lightweight chat UI for local testing.&lt;/p&gt;

&lt;h3&gt;
  
  
  What It Includes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Streamable HTTP server via the Model Context Protocol SDK&lt;/li&gt;
&lt;li&gt;Demo tool support (like &lt;code&gt;echo&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Optional stdio-based bridging&lt;/li&gt;
&lt;li&gt;Fully standalone chat UI if you want to test without coding&lt;/li&gt;
&lt;/ul&gt;




&lt;blockquote&gt;
&lt;p&gt;Check the GitHub repo for source and updates:&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/arberrexhepi/mcpburst" rel="noopener noreferrer"&gt;https://github.com/arberrexhepi/mcpburst&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Plug It Into Anything
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;MCP Burst&lt;/strong&gt; will pair beautifully with my custom agent framework. &lt;/p&gt;

&lt;p&gt;Here's how to get started once you've cloned the repo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm run start:hub
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then POST your requests to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://localhost:4000/mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Optionally, if you want to explore the chat interface run this after the hub:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm run start:server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;p&gt;&lt;code&gt;You’ll be live at [http://localhost:3000](http://localhost:3000).&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Designed for Drop-In Use
&lt;/h2&gt;

&lt;p&gt;The structure is clean enough to integrate fast:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;hub/ → MCP core logic (bridge definitions, tool building and calling)
server/ → Optional frontend for chatting with your Hub.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;p&gt;&lt;code&gt;You can drop `hub/` into any Node server, set envs, and you’re off.&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Where It’s Headed
&lt;/h2&gt;

&lt;p&gt;This is damn-near &lt;strong&gt;good enough to deploy&lt;/strong&gt;, and its evolution should bring about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hub endpoint auth tune-up&lt;/li&gt;
&lt;li&gt;Additional ready to use remote MCP Server for demo via YAML&lt;/li&gt;
&lt;li&gt;Prompt calling&lt;/li&gt;
&lt;li&gt;Failure loops&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's the bridge I needed to cross to quit binge watching "What are MCPs" on Youtube (lol) — maybe you do too.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Feel free to contribute by opening a PR.&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;




&lt;h2&gt;
  
  
  Stay Connected
&lt;/h2&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/arb%C3%ABr/" rel="noopener noreferrer"&gt;https://linkedin.com/in/arbër/&lt;/a&gt;.&lt;br&gt;
Website: &lt;a href="https://arber.design" rel="noopener noreferrer"&gt;https://arber.design&lt;/a&gt;&lt;br&gt;
Design Portfolio: &lt;a href="https://arber.myportfolio.com" rel="noopener noreferrer"&gt;https://arber.myportfolio.com&lt;/a&gt;&lt;/p&gt;




</description>
      <category>node</category>
      <category>api</category>
      <category>ai</category>
      <category>productivity</category>
    </item>
    <item>
      <title>AI as a Utility [build with GPT]</title>
      <dc:creator>Arber</dc:creator>
      <pubDate>Tue, 03 Jun 2025 14:52:37 +0000</pubDate>
      <link>https://forem.com/arber/ai-as-a-utility-build-with-gpt-3mol</link>
      <guid>https://forem.com/arber/ai-as-a-utility-build-with-gpt-3mol</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Disclaimer: This post was written and formatted by my custom GPT, doing it's best to sound just like me! (artwork by me)&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;You might be missing the point of AI coding. If you're not an enterprise, it’ll be hard to compete with those who are.&lt;/p&gt;

&lt;p&gt;The new wave of coding tools aren't all about building the next OpenAI, Google, etc. It’s also about building systems that serve &lt;em&gt;you&lt;/em&gt;, tailored to &lt;em&gt;you&lt;/em&gt; without unnecessary investment in time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Context: Training for Combat, Not for Ads
&lt;/h3&gt;

&lt;p&gt;One critical piece of my &lt;strong&gt;MMA / Muay Thai&lt;/strong&gt; training is staying consistent with drills. But most fitness apps out there are either bloated, try to monetize your data, or just don't align with my real combat training flow.&lt;/p&gt;

&lt;p&gt;So I built a focused &lt;strong&gt;Drills Trainer app&lt;/strong&gt; — visual cues, audio playback, timed transitions. Clean and self-contained.&lt;/p&gt;

&lt;p&gt;No subscriptions. No selling health data. Just a tool that runs and helps me train.&lt;/p&gt;

&lt;h3&gt;
  
  
  What it currently does:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Visual guidance for striking drills&lt;/li&gt;
&lt;li&gt;Timed audio cues for rhythm&lt;/li&gt;
&lt;li&gt;Clean front-end logic, all in-browser&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Try It Live
&lt;/h2&gt;

&lt;p&gt;You can use the app directly at  &lt;a href="https://arberrexhepi.github.io/drills/" rel="noopener noreferrer"&gt;https://arberrexhepi.github.io/drills/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I've included a few drills for starters.&lt;/p&gt;




&lt;h3&gt;
  
  
  Here’s where it could go next:
&lt;/h3&gt;

&lt;p&gt;With a bit of backend logic, a simple database, and a self-hosted LLM endpoint — this could scale into a personal, privacy-first fitness engine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Store and rotate custom drills&lt;/li&gt;
&lt;li&gt;Auto-generate routines based on goals or time constraints&lt;/li&gt;
&lt;li&gt;Suggest progression tweaks using lightweight AI&lt;/li&gt;
&lt;li&gt;And even calculate health metrics (although the only metric that counts in training can only come from gauging how you feel mentally, emotionally, and physically)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Using AI as a utility… &lt;strong&gt;to build utilities&lt;/strong&gt; — that's the mindset shift.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why it matters
&lt;/h3&gt;

&lt;p&gt;Tools for self-improvement will only get easier to build — but that ease comes at a cost if you’re always reaching for external platforms. You’ll either be the product... or you’ll own the product.&lt;/p&gt;

&lt;p&gt;This isn’t a finished app. It’s a direction — one aligned with real needs, and minimal overhead.&lt;/p&gt;

&lt;p&gt;Good enough to use. Worth revisiting later.&lt;/p&gt;




&lt;h2&gt;
  
  
  Open Source, Yours to Fork
&lt;/h2&gt;

&lt;p&gt;The full source is available on GitHub:&lt;br&gt;
&lt;a href="https://github.com/arberrexhepi/alphaimage" rel="noopener noreferrer"&gt;https://github.com/arberrexhepi/alphaimage&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Contributions welcome. Feature ideas? File an issue or fork away. Want to add Backend, Agent SDKs, MCPs? Go wild.&lt;/p&gt;




</description>
      <category>ai</category>
      <category>mma</category>
      <category>javascript</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Alpha Image: Open Source Canvas Tool [built with GPT]</title>
      <dc:creator>Arber</dc:creator>
      <pubDate>Wed, 16 Apr 2025 16:01:51 +0000</pubDate>
      <link>https://forem.com/arber/alpha-image-open-source-canvas-tool-built-with-gpt-3pkm</link>
      <guid>https://forem.com/arber/alpha-image-open-source-canvas-tool-built-with-gpt-3pkm</guid>
      <description>&lt;p&gt;A clean background can make or break your visual content — especially if you’re working fast and don’t want to dive into heavyweight editors.&lt;/p&gt;

&lt;p&gt;Here’s something lighter: a &lt;strong&gt;simple, open-source, canvas-based utility app&lt;/strong&gt; that lets you &lt;strong&gt;remove image backgrounds using flood fill or global color match&lt;/strong&gt;, topped with &lt;strong&gt;feathering&lt;/strong&gt; for smooth edges, and a no-nonsense &lt;strong&gt;undo/redo history&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And yeah... it was built with the help of ChatGPT. Human + AI pairing at its finest.&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Disclaimer: This post was written and formatted by my custom GPT, doing it's best to sound just like me!&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  What It Does
&lt;/h2&gt;

&lt;p&gt;You upload an image. You click a color. The app makes that color disappear.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flood Fill Mode&lt;/strong&gt;: isolates connected regions (great for detailed edge control).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Global Removal&lt;/strong&gt;: wipes all similar colors across the whole image.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Feathering&lt;/strong&gt;: softens the edges instead of hard cutting.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tweak tolerance and feather levels via sliders, and once you're good? Save the cleaned image.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why It Exists
&lt;/h2&gt;

&lt;p&gt;Sometimes, you just need to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cut backgrounds without booting a desktop app&lt;/li&gt;
&lt;li&gt;Iterate fast on UI/UX mocks&lt;/li&gt;
&lt;li&gt;Prepare visuals for your dev blog or product showcase&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This tool fits right into that pocket. No accounts. No backend. Pure frontend magic. Free.&lt;/p&gt;




&lt;h2&gt;
  
  
  Powered by ChatGPT (with Guidance)
&lt;/h2&gt;

&lt;p&gt;Built with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML5 Canvas API&lt;/li&gt;
&lt;li&gt;Vanilla JavaScript&lt;/li&gt;
&lt;li&gt;Simple manual state management&lt;/li&gt;
&lt;li&gt;Undo/Redo history baked in&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The code was assembled using guidance from ChatGPT, but every decision was consciously made — from the feathering algorithm to how the tool panel follows your mouse.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Cognitive partnership...check!&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Open Source, Yours to Fork
&lt;/h2&gt;

&lt;p&gt;The full source is available on GitHub:&lt;br&gt;
&lt;a href="https://github.com/arberrexhepi/alphaimage" rel="noopener noreferrer"&gt;https://github.com/arberrexhepi/alphaimage&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Contributions welcome. Feature ideas? File an issue or fork away. Want to add lasso selection, or support touch gestures? Go wild.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try It Live
&lt;/h2&gt;

&lt;p&gt;You can use the app directly at  &lt;a href="https://arberrexhepi.github.io/alphaimage/" rel="noopener noreferrer"&gt;https://arberrexhepi.github.io/alphaimage/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Vanilla JS community approved! No builds. No setup. Just click and clean.&lt;/p&gt;




&lt;h2&gt;
  
  
  Here's the Real Win...
&lt;/h2&gt;

&lt;p&gt;This is a reminder that utility doesn’t need to be bloated. With a bit of curiosity (and a dash of AI-assisted coding), you can ship something useful in a day.&lt;/p&gt;

&lt;p&gt;Let’s lock this in.&lt;/p&gt;




&lt;h2&gt;
  
  
  Future Ideas
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add selection masking&lt;/li&gt;
&lt;li&gt;Export to transparent PNG with preview&lt;/li&gt;
&lt;li&gt;Multi-point color removal&lt;/li&gt;
&lt;li&gt;Fast-tracked removal via AI integration&lt;/li&gt;
&lt;li&gt;Offline PWA support?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If any of that interests you... ping me or open a PR.&lt;/p&gt;




&lt;h2&gt;
  
  
  Stay Connected
&lt;/h2&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/arb%C3%ABr/" rel="noopener noreferrer"&gt;https://linkedin.com/in/arbër/&lt;/a&gt;.&lt;br&gt;
Website: &lt;a href="https://arber.design" rel="noopener noreferrer"&gt;https://arber.design&lt;/a&gt;&lt;br&gt;
Design Portfolio: &lt;a href="https://arber.myportfolio.com" rel="noopener noreferrer"&gt;https://arber.myportfolio.com&lt;/a&gt;&lt;/p&gt;




</description>
      <category>javascript</category>
      <category>chatgpt</category>
      <category>opensource</category>
      <category>tool</category>
    </item>
    <item>
      <title>An Open Source AI Agent for YouTube Streamers [built with GPT]</title>
      <dc:creator>Arber</dc:creator>
      <pubDate>Sat, 12 Apr 2025 02:07:05 +0000</pubDate>
      <link>https://forem.com/arber/an-open-source-ai-agent-for-youtube-streamers-4ihd</link>
      <guid>https://forem.com/arber/an-open-source-ai-agent-for-youtube-streamers-4ihd</guid>
      <description>&lt;p&gt;I've been experimenting with building small tools that make creators' lives easier, and one thing that stood out: YouTube streamers often struggle to keep up with live chat. So I built something to help: an AI agent that continuously monitors comments and responds intelligently on their behalf.&lt;/p&gt;

&lt;p&gt;It’s called &lt;strong&gt;AI YouTube Chat&lt;/strong&gt;, and it’s fully open source.&lt;/p&gt;

&lt;p&gt;Repo:&lt;br&gt;&lt;br&gt;
&lt;strong&gt;&lt;a href="https://github.com/arberrexhepi/ai_youtube_chat" rel="noopener noreferrer"&gt;https://github.com/arberrexhepi/ai_youtube_chat&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;This isn’t just a chatbot…it’s an &lt;strong&gt;agent&lt;/strong&gt;. It runs in the background during streams, watching the chat in real time, and sending context-aware replies using an LLM. That way, streamers can focus on the content without missing out on engaging with their viewers.&lt;/p&gt;

&lt;p&gt;The app is built in React and currently supports both OpenAI and Ollama endpoints. You can easily run it with local models or plug it into your OpenAI API key.&lt;/p&gt;




&lt;h2&gt;
  
  
  Customizing the Agent
&lt;/h2&gt;

&lt;p&gt;The cool part? You can tweak the system prompt (aka the &lt;strong&gt;system role&lt;/strong&gt;) in the LLM API call. This means anyone who clones the repo can customize how the agent behaves. Whether you want it to sound like you, act as a helpful moderator, or even provide extra context about your channel or stream, the choice is yours to make.&lt;/p&gt;

&lt;p&gt;Just drop in your own prompt, and the agent will start thinking in that voice. It’s one of the best ways to make the tool feel like an actual extension of your persona or brand.&lt;/p&gt;

&lt;p&gt;Feel free to clone it, use as is or extend the functionality of the agent’s app… or monetize it, it’s completely open source.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>streaming</category>
      <category>youtube</category>
    </item>
    <item>
      <title>Called It: How a 2024 Agent Communication Proposal Mirrors Google's A2A Protocol</title>
      <dc:creator>Arber</dc:creator>
      <pubDate>Wed, 09 Apr 2025 16:38:06 +0000</pubDate>
      <link>https://forem.com/arber/we-called-it-how-our-2024-agent-communication-proposal-mirrors-googles-a2a-protocol-108m</link>
      <guid>https://forem.com/arber/we-called-it-how-our-2024-agent-communication-proposal-mirrors-googles-a2a-protocol-108m</guid>
      <description>&lt;p&gt;Back in December 2024, we shared a speculative proposal on &lt;a href="https://dev.to/arber/proposal-standard-communication-api-channels-for-ai-agents-ai-generated-2m2a"&gt;Dev.to&lt;/a&gt; laying out a future where AI agents communicate through standardized API channels. It was a vision rooted in necessity—a world where agents from different systems could interoperate cleanly, securely, and with shared context.&lt;/p&gt;

&lt;p&gt;Fast forward to April 2025: Google has just announced &lt;strong&gt;Agent2Agent (A2A)&lt;/strong&gt;, a communication protocol that not only echoes the same goals but implements them in a remarkably similar fashion.&lt;/p&gt;

&lt;p&gt;It’s exciting—and honestly validating—to see this vision move from independent proposal to industry-backed protocol. Below, we break down the parallels and explore what this means for the future of agent interoperability.&lt;/p&gt;

&lt;h2&gt;
  
  
  From Proposal to Protocol: A Shared Vision Emerges
&lt;/h2&gt;

&lt;p&gt;note to reader: “we” = “myself and chatGPT”&lt;/p&gt;

&lt;p&gt;When we wrote &lt;a href="https://dev.to/arber/proposal-standard-communication-api-channels-for-ai-agents-ai-generated-2m2a"&gt;Proposal: Standard Communication API Channels for AI Agents&lt;/a&gt;, it came from a simple question: &lt;em&gt;What would it take for agents to truly understand each other, regardless of who built them?&lt;/em&gt; The concept was inspired by both human conversation and established API design—agents should speak in defined schemas, follow intent-driven threads, and be able to authenticate and recognize each other.&lt;/p&gt;

&lt;p&gt;With the announcement of &lt;a href="https://developers.googleblog.com/en/a2a-a-new-era-of-agent-interoperability/" rel="noopener noreferrer"&gt;Agent2Agent (A2A)&lt;/a&gt;, Google and several partners introduced a specification aiming to solve the very same problem. You can view the current &lt;a href="https://github.com/google/A2A/blob/main/specification/json/a2a.json" rel="noopener noreferrer"&gt;A2A JSON schema here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Core Alignment: Proposal vs. A2A
&lt;/h2&gt;

&lt;p&gt;Here's a quick look at how the key ideas line up:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Concept&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Our 2024 Proposal&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Google A2A Protocol&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Agent Identity&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Proposed identity header for agent metadata, with fields for name, origin, and type.&lt;/td&gt;
&lt;td&gt;Uses &lt;code&gt;"sender"&lt;/code&gt; and &lt;code&gt;"recipient"&lt;/code&gt; objects with &lt;code&gt;id&lt;/code&gt;, &lt;code&gt;name&lt;/code&gt;, &lt;code&gt;type&lt;/code&gt;, &lt;code&gt;authenticity&lt;/code&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Intent Signaling&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Each message includes an intent tag, scoped to domain-specific action (e.g., &lt;code&gt;intent: "query.weather"&lt;/code&gt;).&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;"intent"&lt;/code&gt; is a core field, describing agent action purpose (e.g., &lt;code&gt;"intent": "provide.answer"&lt;/code&gt;).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Message Structure&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;JSON-based payload with &lt;code&gt;meta&lt;/code&gt;, &lt;code&gt;data&lt;/code&gt;, &lt;code&gt;intent&lt;/code&gt;, and optional &lt;code&gt;session&lt;/code&gt; fields.&lt;/td&gt;
&lt;td&gt;JSON spec with &lt;code&gt;id&lt;/code&gt;, &lt;code&gt;timestamp&lt;/code&gt;, &lt;code&gt;intent&lt;/code&gt;, &lt;code&gt;sender&lt;/code&gt;, &lt;code&gt;recipient&lt;/code&gt;, &lt;code&gt;payload&lt;/code&gt;, and optional &lt;code&gt;thread&lt;/code&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Threading / Context&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Support for conversation threads and referencing previous messages.&lt;/td&gt;
&lt;td&gt;Built-in &lt;code&gt;thread&lt;/code&gt; and &lt;code&gt;in_reply_to&lt;/code&gt; fields for stateful conversations.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Extensibility&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Encouraged domain-specific schemas layered on top of a shared base.&lt;/td&gt;
&lt;td&gt;A2A allows &lt;code&gt;"metadata"&lt;/code&gt; and &lt;code&gt;"payload"&lt;/code&gt; to be customized per domain.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Security / Authenticity&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Mentioned optional auth tokens, public key exchange ideas.&lt;/td&gt;
&lt;td&gt;Formalized &lt;code&gt;"authenticity"&lt;/code&gt; with fields like &lt;code&gt;"authenticated_by"&lt;/code&gt; and &lt;code&gt;"verified"&lt;/code&gt; status.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The symmetry is striking. While their implementation is more robust (and naturally more mature thanks to partner contributions), the direction is unmistakably similar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;It’s encouraging to see the conversation move toward shared foundations. Interoperability is a necessary step if we want agents that collaborate rather than compete for dominance. This announcement means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The ecosystem is recognizing that &lt;strong&gt;no agent can exist in isolation&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;There’s real momentum toward &lt;strong&gt;open standards&lt;/strong&gt; in the agent space.&lt;/li&gt;
&lt;li&gt;Developers and teams working on agent infrastructure now have a &lt;strong&gt;concrete reference&lt;/strong&gt; to build on.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At the same time, it’s worth emphasizing: this is just the start. Inter-agent coordination will need to solve for far more than communication—it will involve trust, adaptability, negotiation, and shared context over time. A2A is a strong foundational move, but like all protocols, it’s an invitation to build.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking Ahead
&lt;/h2&gt;

&lt;p&gt;The idea behind our original post was never about staking a claim—it was about imagining what could be useful. Seeing A2A emerge is a reminder that many minds are likely thinking along similar lines, and that when an idea’s time comes, it tends to show up in more than one place.&lt;/p&gt;

&lt;p&gt;We’ll be watching A2A’s evolution closely—and continuing to build with these principles in mind.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>standards</category>
      <category>google</category>
      <category>agents</category>
    </item>
    <item>
      <title>Proposal: Standard Communication API Channels for AI Agents (AI Generated)</title>
      <dc:creator>Arber</dc:creator>
      <pubDate>Sat, 21 Dec 2024 17:07:31 +0000</pubDate>
      <link>https://forem.com/arber/proposal-standard-communication-api-channels-for-ai-agents-ai-generated-2m2a</link>
      <guid>https://forem.com/arber/proposal-standard-communication-api-channels-for-ai-agents-ai-generated-2m2a</guid>
      <description>&lt;p&gt;Proposal: Standard Communication API Channels for AI Agents&lt;/p&gt;

&lt;p&gt;Executive Summary&lt;/p&gt;

&lt;p&gt;With the increasing adoption of AI agents to automate tasks, a significant inefficiency exists in their reliance on browsing websites and interacting with human-designed interfaces. This approach is resource-intensive, error-prone, and limits scalability. To address this, we propose a framework for standardized communication API channels for apps and websites. This system will enable AI agents to take direct actions via machine-readable interfaces, eliminating the need for simulated human interaction.&lt;/p&gt;

&lt;p&gt;Vision&lt;/p&gt;

&lt;p&gt;The goal is to create a universal standard akin to HTTP for web browsing or SMTP for email, enabling seamless, consistent communication between AI agents and applications. This will:&lt;br&gt;
    1.  Enhance Efficiency: Provide AI agents with direct access to structured data and action endpoints.&lt;br&gt;
    2.  Improve Accuracy: Reduce misinterpretations caused by scraping or interacting with unpredictable UI changes.&lt;br&gt;
    3.  Promote Scalability: Allow developers to adopt a unified standard, reducing the burden of custom integrations.&lt;/p&gt;

&lt;p&gt;Key Components of the Proposal&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;API Framework&lt;br&gt;
• A universal API specification that defines how apps and websites expose capabilities and data.&lt;br&gt;
• The API would be built on existing technologies such as REST, GraphQL, or gRPC, but refined with AI-specific features:&lt;br&gt;
• Metadata Tags: Include AI-readable descriptions for intents and actions.&lt;br&gt;
• Authentication: Secure OAuth-based mechanisms for AI agent access.&lt;br&gt;
• Rate Limiting: Ensure fair use and prevent abuse by rogue agents.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AI Intents &amp;amp; Actions Protocol (AIAP)&lt;br&gt;
• A structured protocol defining AI intents and their corresponding actions:&lt;br&gt;
• Intent Discovery: Apps publish their available capabilities, such as “Search Product,” “Add to Cart,” or “Check Order Status.”&lt;br&gt;
• Action Execution: AI agents invoke these actions through standardized endpoints.&lt;br&gt;
• Example:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;{&lt;br&gt;
  "intent": "book_flight",&lt;br&gt;
  "parameters": {&lt;br&gt;
    "origin": "JFK",&lt;br&gt;
    "destination": "LAX",&lt;br&gt;
    "date": "2024-12-25",&lt;br&gt;
    "passengers": 1&lt;br&gt;
  }&lt;br&gt;
}&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Data Interchange Standards&lt;br&gt;
• Standardized formats for data exchange to ensure compatibility:&lt;br&gt;
• JSON-LD for semantic structuring of data.&lt;br&gt;
• OpenAPI Specifications for API documentation.&lt;br&gt;
• Industry-Specific Schemas: Create modular extensions for domains like healthcare, e-commerce, or travel.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AI-Agent Middleware&lt;br&gt;
• Middleware that interprets AIAP and translates it into backend application logic.&lt;br&gt;
• Features:&lt;br&gt;
• Intent Mapping: Automatically route AI requests to appropriate backend services.&lt;br&gt;
• Error Handling: Provide human-readable and machine-readable error messages for better debugging.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Proposed Implementation Strategy&lt;/p&gt;

&lt;p&gt;Phase 1: Concept Development&lt;br&gt;
    • Engage key stakeholders in industries heavily reliant on AI-agent integration (e.g., e-commerce, logistics, healthcare).&lt;br&gt;
    • Design a proof-of-concept (PoC) API showcasing core functionality, such as:&lt;br&gt;
    • Authentication&lt;br&gt;
    • Intent discovery&lt;br&gt;
    • Action execution&lt;br&gt;
    • Publish an open-source draft for feedback.&lt;/p&gt;

&lt;p&gt;Phase 2: Standardization&lt;br&gt;
    • Partner with standards organizations like W3C, ISO, or IETF to formalize the API framework.&lt;br&gt;
    • Develop SDKs and libraries for popular programming languages to promote adoption.&lt;br&gt;
    • Establish a governance body to oversee updates and compatibility.&lt;/p&gt;

&lt;p&gt;Phase 3: Adoption &amp;amp; Ecosystem Growth&lt;br&gt;
    • Offer grants and incentives to early adopters.&lt;br&gt;
    • Build partnerships with AI platform providers (e.g., OpenAI, Google, Amazon) to integrate support for the standard.&lt;br&gt;
    • Launch educational resources and developer workshops.&lt;/p&gt;

&lt;p&gt;Challenges &amp;amp; Solutions&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Challenge: Lack of Buy-In from Developers&lt;br&gt;
• Solution: Highlight the cost savings and efficiency gains of adopting the standard, and offer integration toolkits to simplify implementation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Challenge: Fragmentation Across Industries&lt;br&gt;
• Solution: Develop modular extensions tailored to industry needs while keeping a core standard intact.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Challenge: Security Concerns&lt;br&gt;
• Solution: Implement robust authentication and authorization mechanisms (e.g., OAuth2, JWT) and provide clear guidelines for data privacy compliance.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Impact &amp;amp; Benefits&lt;br&gt;
    1.  For Developers:&lt;br&gt;
    • Reduced need for building custom AI integrations.&lt;br&gt;
    • Enhanced interoperability between AI agents and apps.&lt;br&gt;
    2.  For Businesses:&lt;br&gt;
    • Improved efficiency in automating workflows.&lt;br&gt;
    • Reduced maintenance costs for human-interface-focused updates.&lt;br&gt;
    3.  For End Users:&lt;br&gt;
    • Faster and more reliable AI-powered services.&lt;br&gt;
    • Better experiences due to fewer errors from UI misinterpretation.&lt;/p&gt;

&lt;p&gt;Conclusion&lt;/p&gt;

&lt;p&gt;Standardizing communication API channels for AI agents is a critical next step in advancing the integration of artificial intelligence into everyday applications. By creating a structured, scalable, and secure framework, this initiative will unlock new opportunities for innovation and efficiency across industries. We recommend moving forward with a collaborative development approach, involving industry leaders, standards organizations, and developers to bring this vision to life.&lt;/p&gt;

&lt;p&gt;Flow Diagram: AI Agent Booking a Flight Using a Standardized Communication API&lt;/p&gt;

&lt;p&gt;Below is a step-by-step operational flow for how an AI agent could book a flight using a standardized communication API (AIAP):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;User Interaction&lt;br&gt;
• Input: The user interacts with the AI agent via voice, text, or another interface.&lt;br&gt;
• Example Query: “Book a flight from JFK to LAX on December 25, 2024, for one passenger.”&lt;br&gt;
• AI Parsing:&lt;br&gt;
• The AI agent extracts the user’s intent (book_flight) and parameters (origin, destination, date, passengers).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AI Agent Translates Intent to API Request&lt;br&gt;
• The AI agent forms a structured API request using the AIAP protocol:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;{&lt;br&gt;
  "intent": "book_flight",&lt;br&gt;
  "parameters": {&lt;br&gt;
    "origin": "JFK",&lt;br&gt;
    "destination": "LAX",&lt;br&gt;
    "date": "2024-12-25",&lt;br&gt;
    "passengers": 1&lt;br&gt;
  }&lt;br&gt;
}&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;• The request is sent to an API middleware or directly to the app/website that supports the AIAP standard.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;App/Website API Middleware Receives the Request&lt;br&gt;
• Intent Mapping:&lt;br&gt;
• The API middleware maps the book_flight intent to its backend service for flight search and booking.&lt;br&gt;
• Authentication is verified (e.g., using OAuth tokens) to ensure the AI agent is authorized.&lt;br&gt;
• Validation:&lt;br&gt;
• Middleware validates parameters like valid dates, supported airports, and availability.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Backend Services Perform Flight Search&lt;br&gt;
• The app’s backend processes the request:&lt;br&gt;
• Queries flight databases or APIs for available flights matching the criteria.&lt;br&gt;
• Calculates prices, availability, and seat options.&lt;br&gt;
• Response Generation:&lt;br&gt;
• The backend forms a machine-readable response in JSON-LD format:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;{&lt;br&gt;
  "status": "success",&lt;br&gt;
  "flights": [&lt;br&gt;
    {&lt;br&gt;
      "flight_id": "AB123",&lt;br&gt;
      "airline": "Example Air",&lt;br&gt;
      "departure_time": "2024-12-25T08:00:00",&lt;br&gt;
      "arrival_time": "2024-12-25T11:00:00",&lt;br&gt;
      "price": 350.00,&lt;br&gt;
      "currency": "USD"&lt;br&gt;
    },&lt;br&gt;
    {&lt;br&gt;
      "flight_id": "CD456",&lt;br&gt;
      "airline": "Another Air",&lt;br&gt;
      "departure_time": "2024-12-25T10:00:00",&lt;br&gt;
      "arrival_time": "2024-12-25T13:00:00",&lt;br&gt;
      "price": 400.00,&lt;br&gt;
      "currency": "USD"&lt;br&gt;
    }&lt;br&gt;
  ]&lt;br&gt;
}&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;AI Agent Processes the Response&lt;br&gt;
• The AI agent analyzes the response to identify the best options based on user preferences (e.g., lowest price, earliest departure).&lt;br&gt;
• AI Response to User:&lt;br&gt;
• The AI presents the user with a summarized result:&lt;br&gt;
• “I found two flights: Example Air at 8 AM for $350 and Another Air at 10 AM for $400. Which one should I book?”&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;User Confirms Choice&lt;br&gt;
• The user selects an option (e.g., “Book the Example Air flight”).&lt;br&gt;
• The AI agent sends a follow-up API request to confirm the booking:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;{&lt;br&gt;
  "intent": "confirm_booking",&lt;br&gt;
  "parameters": {&lt;br&gt;
    "flight_id": "AB123",&lt;br&gt;
    "passenger_details": {&lt;br&gt;
      "name": "John Doe",&lt;br&gt;
      "email": "&lt;a href="mailto:john.doe@example.com"&gt;john.doe@example.com&lt;/a&gt;"&lt;br&gt;
    },&lt;br&gt;
    "payment_method": "stored_payment_id_789"&lt;br&gt;
  }&lt;br&gt;
}&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;App/Website API Middleware Handles Booking&lt;br&gt;
• Intent Mapping:&lt;br&gt;
• Middleware maps confirm_booking to the backend’s flight reservation system.&lt;br&gt;
• Reservation Process:&lt;br&gt;
• Passenger details are saved.&lt;br&gt;
• Payment is processed securely.&lt;br&gt;
• A booking confirmation is generated.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Backend Sends Confirmation Response&lt;br&gt;
• The API middleware responds with the booking details:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;{&lt;br&gt;
  "status": "success",&lt;br&gt;
  "booking_id": "XYZ12345",&lt;br&gt;
  "flight_details": {&lt;br&gt;
    "flight_id": "AB123",&lt;br&gt;
    "airline": "Example Air",&lt;br&gt;
    "departure_time": "2024-12-25T08:00:00",&lt;br&gt;
    "arrival_time": "2024-12-25T11:00:00"&lt;br&gt;
  },&lt;br&gt;
  "passenger_details": {&lt;br&gt;
    "name": "John Doe",&lt;br&gt;
    "email": "&lt;a href="mailto:john.doe@example.com"&gt;john.doe@example.com&lt;/a&gt;"&lt;br&gt;
  }&lt;br&gt;
}&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;AI Agent Notifies User
• The AI agent formats the response for the user:
• “Your flight with Example Air departing at 8 AM on December 25 is confirmed. Your booking ID is XYZ12345. Details have been sent to your email.”&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Flow Diagram Summary&lt;br&gt;
    1.  User Query →&lt;br&gt;
    2.  AI Agent Parses Intent →&lt;br&gt;
    3.  API Middleware Processes Request →&lt;br&gt;
    4.  Backend Executes Search →&lt;br&gt;
    5.  AI Agent Responds with Options →&lt;br&gt;
    6.  User Confirms Selection →&lt;br&gt;
    7.  API Middleware Books Flight →&lt;br&gt;
    8.  Backend Sends Confirmation →&lt;br&gt;
    9.  AI Agent Notifies User&lt;/p&gt;

&lt;p&gt;Key Benefits of the Flow&lt;br&gt;
    1.  Efficiency: Direct machine-to-machine communication eliminates UI-based delays.&lt;br&gt;
    2.  Accuracy: Standardized data formats minimize errors.&lt;br&gt;
    3.  Scalability: APIs can handle multiple AI agent requests simultaneously.&lt;br&gt;
    4.  User Experience: Faster, more reliable responses improve satisfaction.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>chatgpt</category>
      <category>api</category>
      <category>actions</category>
    </item>
  </channel>
</rss>
