SuperQode Agent2Agent (A2A) in Microsoft Foundry

Superagentic AI recently announced A2A support in SuperQode. In Introducing SuperQode A2A for Harness Recommendation and Evaluation, we covered how SuperQode exposes a public Agent Card and serves a harness-recommendation skill over A2A. The live card is at a2a.superqode.dev/.well-known/agent-card.json, and the remote skill is harness-shortlist: a coding-agent harness procurement advisor over the Harness Hub catalogue, not a general office assistant.

Microsoft also supports A2A in Microsoft Foundry. The feature is currently in preview, but it is usable for experimentation. We integrated SuperQode’s public A2A agent into Foundry on a personal free Azure subscription and ran a smoke test from a Build agent. This post walks through how we did that: register the external Agent Card for governance, connect the Agent2Agent tool in the playground, and call the harness shortlist skill.

Demo video

Walkthrough in the new Foundry portal: Register asset, Connect tool with the public origin and Agent Card, then the harness shortlist smoke test.

Context: A2A and Agent Cards in Foundry

Agent2Agent (A2A) discovery is an Agent Card at a well-known URL. Operations go to the interface that card advertises. SuperQode publishes its card at a2a.superqode.dev/.well-known/agent-card.json (also mirrored under superqode.dev). The live agent origin is https://a2a.superqode.dev.

Microsoft documents how Foundry Agent Service connects to a remote A2A endpoint and how to register a custom A2A agent in the control plane for governance through the AI gateway. In the new Foundry portal those surfaces show up as Operate (Register asset) and Build (Connect tool). Treat them as related but separate: registration inventories and proxies the agent; Connect tool is what the playground agent uses to fetch the card and call the skill.

Architecture: external endpoint, two Foundry surfaces

In this setup SuperQode keeps running outside Azure. Foundry never hosts the harness process. What Foundry holds is:

  • Register asset (Operate): a Custom agent entry with Protocol A2A and Agent URL set to the public origin. AI Gateway is required. After registration, Assets lists the custom agent and Foundry may issue a proxy Agent URL (often on *.azure-api.net) for governed traffic.
  • Connect tool (Build): Tools → Connect tool → Custom → Agent2Agent. The Target URL and Agent card URL must point at the public SuperQode origin and card, with Authentication set to None for the open tier.

The proxy URL from Assets is not a drop-in replacement for the public card host. Pasting it into Connect tool was the failure mode we hit first.

Prerequisites

  • An Azure subscription with a Foundry project. We used the personal free tier.
  • New Foundry toggle on in the portal (these steps are for Foundry new, not classic).
  • AI Gateway available so Register asset can complete for a custom A2A agent.
  • A playground model that supports tool calling. In our run, GPT-mini did not invoke the A2A tool; Kimi K2.6 did.

Step 1: Register the SuperQode asset

  1. Open Operate → Register asset (custom agent).
  2. Name the asset SuperQode (or another clear label).
  3. Set Protocol to A2A.
  4. Set Agent URL to https://a2a.superqode.dev.
  5. Complete registration with AI Gateway required for the custom agent path.

When it succeeds, Assets shows a Custom agent. Note any proxy Agent URL Foundry assigns. Keep that for governance and observability. Do not use it as the Connect tool Target URL in the next step.

Step 2: Connect the A2A tool on a Build agent

  1. Open a Build agent (playground).
  2. Tools → Connect tool → Custom → Agent2Agent.
  3. Target URL: https://a2a.superqode.dev (public origin, not the Assets proxy).
  4. Agent card URL: https://a2a.superqode.dev/.well-known/agent-card.json.
  5. Authentication: None.
  6. Confirm the agent model supports tool calling, then save.

Microsoft’s portal flow for connecting an A2A tool is documented under Connect to an A2A agent endpoint from Foundry Agent Service. Registering a custom A2A agent in the control plane for a proxy URL is covered in the same article under registering a custom A2A agent.

Smoke test

Prompt used:

Which harness should we shortlist for a Python monorepo?

The Build agent called SuperQode and returned a ranked third-party open-source shortlist from Harness Hub (examples in our run included Prime Agent RLM/ACP, Codex, Gemini CLI ACP, OpenCode ACP, and related catalogue entries). The reply treated those as catalogue entries, recommended HarnessBench for repository-specific ranking, and noted that SuperQode native harnesses sit outside the third-party ranking.

Troubleshooting

  • Failed to fetch agent card 404 (Resource Not Found): Connect tool was pointed at the Foundry Assets proxy Agent URL. Switch Target URL and Agent card URL back to https://a2a.superqode.devand https://a2a.superqode.dev/.well-known/agent-card.json.
  • Tool never fires: the playground model does not support tool calling. Swap to a tool-capable deployment. GPT-mini failed in our test; Kimi K2.6 succeeded.
  • Wrong expectation of skill scope: the public agent exposes harness-shortlist only. It will not act as an office assistant or run a coding harness over the public bind.

What the agent returns

harness-shortlist searches Harness Hub for third-party coding agents that match constraints stated in ordinary English and returns catalogue records with licence and setup detail. It reports gaps in the catalogue instead of inventing fields. It does not score quality on your repository. Measured ranking is HarnessBench’s job. Background on the public A2A surface, safe remote defaults, and card conformance is in Introducing SuperQode A2A for Harness Recommendation and Evaluation and the SuperQode A2A docs.

Useful links: superqode.dev, a2a.superqode.dev, Agent Card JSON, Microsoft Foundry A2A tool docs.