Skip to main content
SuperOptiX Logo

SuperOptiX AI

Agent-to-Agent (A2A) Interoperability and Optimization Layer

Make the agents you already run A2A-compliant, and get them discovered.


What it does

Agents built on different frameworks cannot call each other. A2A is the protocol that lets them, and SuperOptiX gives an agent an A2A interface without asking you to rewrite it.

Point it at an agent you already run. SuperOptiX reads its structure, works out the skills a calling agent would route on, and writes an Agent Card and a conformant server. Your code is not modified.

Being reachable is only half the problem. Whether another agent chooses to call yours depends on how its card describes it, so SuperOptiX also measures that and improves it.

Install

Requires Python 3.11+ and uv.

uv tool install superoptix

To adapt or serve agents over A2A:

uv tool install superoptix --with "superoptix[a2a]"

To add SuperOptiX to an existing project:

uv add superoptix

Adapt an existing agent

super a2a adapt --entrypoint mycrew:crew --framework crewai

This writes three files to ./a2a:

File Contents
agent-card.json A2A 1.0 Agent Card, advertising both the 1.0 and 0.3 spec lines
a2a_server.py ASGI application that imports your agent and serves it
agentspec.json The generated intermediate representation

Serve it with any ASGI host:

uvicorn a2a.a2a_server:app --port 8000
curl localhost:8000/.well-known/agent-card.json

The framework is detected when you omit --framework. Use --url to set the address the card advertises, and --out to choose the output directory.

Supported runtimes

Runtime --framework Skills derived from
DSPy dspy Signature instructions, inputs and outputs
CrewAI crewai Crew tasks, or agent roles when there are none
OpenAI Agents SDK openai Tool names and descriptions
Pydantic AI pydantic-ai Function toolset entries
Google ADK google-adk Agent description, plus sub-agents
Claude Agent SDK claude-sdk Agent definition or system prompt
DeepAgents deepagents Subagent names and descriptions
Microsoft Agent Framework microsoft Agent description and instructions

Install the matching extra to work with a runtime, for example uv tool install superoptix --with "superoptix[frameworks-openai]".

CrewAI installs separately, because it requires chromadb~=1.1.0 while the vector store extras require chromadb>=1.5.5:

uv tool install superoptix --with "crewai>=1.15"

Conformance

Measured against the official A2A Technology Compatibility Kit:

Level Compliance
MUST 100%
SHOULD 100%
MAY 100%

The suite runs in CI on every change to the protocol layer, and the build fails if compliance regresses. An adapted agent scores 86.3% MUST, which matches the published SuperOptiX endpoint. The difference is a set of TCK scenario hooks that a production agent should not implement.

A live endpoint runs at a2a.superoptix.ai, with its Agent Card published at superoptix.ai/.well-known/agent-card.json.

Protocol surface

All eleven A2A 1.0 methods answer. Push notification configuration and the extended agent card return the errors the specification defines for an agent that does not offer them.

Both the JSON-RPC 2.0 and HTTP+JSON bindings are served. One endpoint handles A2A 1.0 and 0.3, selected with the A2A-Version request header, because five of the eight supported runtimes declare no A2A dependency and the three that do sit below 1.0.

gRPC and signed Agent Cards are not implemented.

Agents adapted by SuperOptiX keep using their MCP tools. SuperOptiX changes how an agent is reached rather than how it works, and exposing an agent as an MCP server is not supported.

Discoverability

A calling agent decides whether to invoke yours by reading skills[].description on your card. Those strings are the routing interface.

Four sibling skills, identical queries, differing only in how each describes itself:

Catalogue Invocation Discovery
Vague 12.5% 75%
Specific 100% 100%

superoptix.protocols.a2a.routing scores this, and GEPA improves it by rewriting the descriptions. On the vague catalogue above it raises invocation from 12.5% to 75%.

Compiling from a specification

SuperOptiX also compiles agents from SuperSpec, a declarative YAML format, into native code for any supported runtime.

super agent pull developer
super agent compile developer --framework dspy
super agent run developer --framework dspy --goal "Design a migration strategy"

GEPA optimization is available on the compiled agent:

super agent compile developer --framework dspy --optimize
super agent optimize developer --framework dspy --auto light

Documentation

Full documentation is at superagenticai.github.io/superoptix.

Telemetry

SuperOptiX collects anonymous usage data. Disable it with:

export SUPEROPTIX_TELEMETRY=false

Links

License

Apache License 2.0. See LICENCE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

superoptix-0.3.1.tar.gz (5.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

superoptix-0.3.1-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file superoptix-0.3.1.tar.gz.

File metadata

  • Download URL: superoptix-0.3.1.tar.gz
  • Upload date:
  • Size: 5.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.7

File hashes

Hashes for superoptix-0.3.1.tar.gz
Algorithm Hash digest
SHA256 4a4f6e2bd99a37bdac5dab4d173aff2620a177346c9f297d3ce51d2d61c2803f
MD5 9b3864d31468a17e83ab114dbe9e752b
BLAKE2b-256 c2b214806c4d9c69d8466d7d5f6a8425cdb4be9e654136b2e9973ff117315b2a

See more details on using hashes here.

File details

Details for the file superoptix-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: superoptix-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.7

File hashes

Hashes for superoptix-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8c7af643a0c4ff7c36b13577da3fecbb3aa19c3fef9a3c08241750daec35b75e
MD5 0b34edd96bf2c9fce040ff5e514df1ed
BLAKE2b-256 f9c9dd73587bb8ecdc21cf49b66ab1897c6b7b4e6c4ba58cd9396b456a95ddf6

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 files

0.3.0

2 files

0.2.25

2 files

0.2.24

2 files

0.2.23

2 files

0.2.22

2 files

0.2.21

2 files

0.2.20

2 files

0.2.19

2 files

0.2.18

2 files

0.2.17

2 files

0.2.16

2 files

0.2.15

2 files

0.2.14

2 files

0.2.13

2 files

0.2.12

2 files

0.2.11

2 files

0.2.10

2 files

0.2.9

2 files

0.2.8

2 files

0.2.7

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

1 file

0.2.2

1 file

0.2.1

1 file

0.2.0

1 file

0.1.9

1 file

0.1.8

1 file

0.1.7

1 file

0.1.6

1 file

0.1.5

1 file

0.1.4

1 file

0.1.3

1 file

0.1.2

1 file

0.1.1

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page