a2a2p

a2a2p

a2a2p is an open protocol for turning intent into physical things: describe what must be true about the world (holds 15 kg, outdoors, ten years) and get back a manufacturable specification, a deterministic engineering review, and a price. The specification is public domain (CC0) and implementable by anyone; a2a2p.com is a free reference implementation with no API key required.

Category
Visit Server

README

a2a2p — Agent-to-Agent-to-Physical

An open protocol for turning intent into physical things.

An AI agent can reason about a bracket. It cannot make one exist. a2a2p is the missing layer: describe what needs to be true about the world, and get back a manufacturable specification, an engineering review grounded in real material properties and real geometry, and a price.

The specification is public domain (CC0) — implement it freely, including in products competing with this one. a2a2p.com is a reference implementation, not the protocol.

Abundance arrives as the distance between knowing what is needed and the thing existing collapses toward zero. Today that distance is mostly friction. This is an attempt to remove it.


Try it in 30 seconds

No API key. No signup. No auth.

claude mcp add --transport http a2a2p https://a2a2p.com/mcp

Or any MCP client:

{ "mcpServers": { "a2a2p": { "type": "http", "url": "https://a2a2p.com/mcp" } } }

Client only speaks stdio? Bridge to it:

npx a2a2p-bridge                      # or: docker run -i --rm ghcr.io/deadlypillow/a2a2p

The bridge is dependency-free and takes A2A2P_ENDPOINT, so it works against any implementation of the spec, not just this one.

Or plain HTTP:

curl -X POST https://a2a2p.com/api/review \
  -H "Content-Type: application/json" \
  -d '{"intent":{"purpose":"Outdoor bracket holding a 10kg sensor in direct sun","environment":["outdoor","uv_exposure"],"quantity":20},
       "specification":{"process":"fdm_3d_print","material":"pla","tolerance_class":"precision"}}'

You get back, instantly: PLA degrades in UV — specify a UV-stable grade or switch material. As-printed accuracy is ±0.2–0.5 mm; "precision" needs post-machining or a relaxed class. Plus a quote-readiness score and what to add to raise it. Nothing is stored.


Capabilities

Tool What it does Latency
review_specification Engineering review: material properties, process/tolerance compatibility, environment fit, quantity economics. Findings ranked blocker/warning/info. instant, stateless
get_supply_options Pricing and lead time. Real quotes where a provider can serve it; deterministic estimates otherwise — never conflated. Attach an STL (measured fully) or a STEP file (envelope, units, machining complexity). instant
request_physical_solution Full resolution: recommended path, buy-vs-make, delivery plan. Returns immediately with the review embedded. sub-second
check_request_status Retrieve the resolution report. instant

Also served: /spec · /conformance · /policy · /api/providers · /llms.txt · /schema


The idea worth stealing

A physical requirement has two layers, and conflating them is the main reason manufacturing communication fails:

  • Intentwhat must be true about the world. "Holds 15 kg, outdoors, ten years."
  • Specificationwhat object satisfies that. "6061-T6, 4 mm, anodized."

Most systems demand the second and discard the first. Then, downstream, someone proposes a substitution and nobody knows what the part was for. a2a2p accepts intent alone as a complete request — deriving the specification is the protocol's central act of value — and carries the intent forward permanently.

Two rules in the spec are normative, and they are worth adopting even if you use none of this code:

  1. An estimate MUST NOT be presented as a quote (§5.2.1). An agent that cannot tell a computed guess from a commitment will eventually commit real money to a fiction.
  2. Anything that fabricates MUST screen requests and publish its policy (§5.5). Silent refusal is non-conformant — an agent that cannot learn why it was refused cannot correct course.

Conformance

L1 SpeaksL2 PricesL3 ResolvesL4 Fabricates. Self-declared; there is deliberately no certifying authority.

Verify any implementation yourself — the suite ships with the spec:

node tests/conformance.mjs https://a2a2p.com     # or your own endpoint

38 assertions, each citing the spec section it enforces. It deliberately cannot prove fabrication (that would mean placing real orders), so it verifies the L4 prerequisites and records the fulfilment claim as unproven — otherwise any implementation could publish a policy, make nothing, and pass as L4.

This implementation declares L3 and publishes exactly where it falls short at /conformance — including that L4 is unmet, that STEP files yield envelope and complexity but not solid volume, and that deterministic screening cannot read intent. An implementation that will not hold itself to its own spec has written a brochure.


Honest status

Built deliberately ahead of demand. As of July 2026:

  • ✅ Assessment, pricing, geometry measurement, screening, and resolution reports are live and free.
  • ⚠️ No connected manufacturer can currently fabricate. Industry research (docs/SUPPLY_BRIDGE_RESEARCH.md) found that no CNC or sheet-metal vendor exposes a self-serve buyer-side quoting API — self-serve programmatic ordering exists only in 3D printing and PCB. Fulfilment is currently human-brokered.
  • 📐 STL meshes are measured fully (volume, area, complexity). STEP files yield envelope, declared units, and feature-based machining complexity; solid volume needs a B-rep kernel and is reported as unknown rather than guessed.

If you are a manufacturer with a programmatic quoting API, or building one: hello@a2a2p.com. That is the bottleneck for everyone in this space, not just for us.


Repository

SPEC.md                    the specification (CC0) — the actual product
src/worker.js              reference implementation (Cloudflare Worker)
src/schema.js              canonical requirement schema
src/review.js              deterministic engineering review engine
src/geometry.js            STL mesh measurement (volume, area, complexity)
src/step.js                STEP entity-graph parsing (envelope, units, features)
src/supply.js              provider adapters + parametric estimator
src/screening.js           intake screening (the governance rail)
src/telemetry.js           demand instrumentation
bridge/index.js            stdio <-> Streamable HTTP bridge (dependency-free)
Dockerfile                 runs the bridge; for clients and registries that run servers
tests/test-worker.mjs      regression suite
tests/calibration.mjs      pricing model vs real published prices
tests/conformance.mjs      spec conformance suite — runs against ANY implementation
docs/                      research, listings kit, market watch
PROTOCOL_LOG.md            build log — every session, decision, and failure

Run the tests: node tests/test-worker.mjs · Deploy: npx wrangler deploy

Contributing

Implementations of the spec, conformance reports, corrections, and competing implementations are all welcome — that is what a standard is for. Issues and PRs here, or hello@a2a2p.com.

Licensing, in two parts (see LICENSE):

  • Specification (SPEC.md) — CC0 1.0, public domain. Implement it freely, including in competing products, without permission or attribution.
  • Implementation (everything else) — MIT.

a2a2p — when agents need things to exist.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured