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.
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:
- Intent — what must be true about the world. "Holds 15 kg, outdoors, ten years."
- Specification — what 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:
- 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.
- 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 Speaks → L2 Prices → L3 Resolves → L4 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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。