A Universal JSON Specification for AI Agents
Warning
Draft Specification - Work in Progress
This specification is currently in draft status and under active development. While the v1.0.0 release represents a complete and functional specification, it has not yet been formally adopted by any standards body or reached community consensus.
- The specification may change based on community feedback and implementation experience
- Breaking changes are possible before final standardization
- Early implementers should expect potential revisions
- Contributions, feedback, and discussion are welcomed and encouraged
See CONTRIBUTING.md for how to participate in the specification's development.
JSON Agents defines an open, JSON-native specification for describing AI agents, their capabilities, tools, runtimes, and governance in a single portable manifest called the Portable Agent Manifest (PAM).
It enables frameworks, SDKs, and orchestrators to interoperate seamlessly โ sharing agent definitions that are:
- Human-readable: Clear JSON structure with comprehensive documentation
- Machine-validated: Enforced through JSON Schema 2020-12
- Framework-agnostic: Works with LangChain, OpenAI, AutoGen, MCP, and more
- Future-proof: Extensible design with
x-*namespaces and formal extension system
JSON Agents is based entirely on established JSON standards (RFC 8259, ECMA-404, ISO 21778) and includes formal specifications for URI schemes and policy expressions.
| Principle | Description |
|---|---|
| JSON-Native | Derived from RFC 8259, ECMA-404, and ISO 21778. |
| Schema-Validated | Enforced through JSON Schema 2020-12. |
| Profile-Based | Modular profiles for core, exec, gov, and graph. |
| Governance-Aware | Security, policies, and observability included by design. |
| Extensible | extensions and x-* namespaces for safe innovation. |
| Framework-Neutral | Compatible with any agent runtime or framework. |
| Formally Specified | Complete URI scheme (ajson://) and policy expression language definitions. |
- ๐ฏ 7 Standard Capabilities: Summarization, routing, retrieval, QA, classification, extraction, and generation โ all with formal schemas
- ๐ URI Scheme: Formal
ajson://URI scheme with resolution mechanism and registry architecture - ๐ Policy Language: Complete expression language for declarative access control and governance
- ๐ Framework Mappings: Direct conversion paths for LangChain, OpenAI, AutoGen, MCP, and others
- ๐ Multi-Agent Graphs: Define orchestration topologies with conditional routing
- ๐ Security First: Built-in sandboxing, policies, and cryptographic signature support
- ๐ Observability: Structured logging, metrics, and distributed tracing integration
- Main Specification:
json-agents.mdโ Complete PAM specification (888 lines) - Draft Format:
draft-jsonagents-spec-00.mdโ IETF-style draft - Canonical Schema:
schema/json-agents.jsonโ JSON Schema 2020-12 validator
Key Sections:
- Section 16: URI Scheme Definition โ
ajson://syntax and resolution - Appendix B: Policy Expression Language โ Grammar and operators
/
โโโ README.md # This file
โโโ json-agents.md # Complete specification (888 lines)
โโโ draft-jsonagents-spec-00.md # IETF-style draft
โโโ CHANGELOG.md # Version history
โโโ CONTRIBUTING.md # Contribution guidelines
โโโ schema/
โ โโโ json-agents.json # Core manifest schema
โ โโโ message-envelope.json # Inter-agent message format
โ โโโ capabilities/ # 7 capability schemas
โ โ โโโ summarization.json
โ โ โโโ routing.json
โ โ โโโ retrieval.json
โ โ โโโ qa.json # Question answering
โ โ โโโ classification.json # Classification
โ โ โโโ extraction.json # Entity extraction
โ โ โโโ generation.json # Content generation
โ โโโ extensions/ # Extension schemas
โ โโโ audit.json
โ โโโ memory.json
โโโ examples/
โ โโโ core.json # Minimal core profile
โ โโโ core-exec.json # With runtime
โ โโโ core-exec-gov.json # With governance
โ โโโ core-exec-gov-graph.json # Complete multi-agent
โโโ registry/
โ โโโ capabilities.json # Canonical capability registry
โ โโโ tool-types.json # Standard tool types
โ โโโ profiles.json # Profile definitions
โ โโโ extensions.json # Extension registry
โโโ validators/ # Official validators
โ โโโ python/ # Python validator (v1.0.0) โ
โ โ โโโ jsonagents/ # Package source
โ โ โโโ tests/ # 47 tests (100% passing)
โ โ โโโ README.md # Documentation
โ โโโ README.md # Validator overview
โโโ docs/
โโโ index.md # Documentation index
โโโ implementers-guide.md # Implementation guide
โโโ mapping-frameworks.md # Framework conversions
โโโ extensions.md # Extension developmentOfficial validators ensure manifests comply with the specification:
| Language | Status | Version | Test Coverage | Location |
|---|---|---|---|---|
| Python | โ Production Ready | v1.0.0 | 47/47 (100%) | validators/python/ |
| JavaScript/TypeScript | ๐ Coming Soon | - | - | - |
| Go | ๐ Coming Soon | - | - | - |
Quick validation:
cd validators/python/
pip3 install -r requirements.txt
python3 -m jsonagents.cli validate ../../examples/*.jsonSee validators/README.md for details.
JSON Agents uses a modular profile system for progressive enhancement:
| Profile | Required | Description | Use Case |
|---|---|---|---|
| Core | โ Yes | Agent identity, tools, capabilities, and context | All manifests |
| Exec | โ No | Runtime metadata, language, entrypoint, resources | Deployable agents |
| Gov | โ No | Security, policies, observability, audit trails | Enterprise/regulated |
| Graph | โ No | Multi-agent topology and message routing | Orchestration |
Each profile is independently implementable, allowing minimal or full-featured agents.
A minimal agent with all four profiles:
{
"manifest_version": "1.0",
"profiles": ["core", "exec", "gov", "graph"],
"agent": {
"id": "ajson://example.com/agents/router-hub",
"name": "Router Hub",
"version": "1.0.0"
},
"capabilities": [
{ "id": "routing", "description": "Route messages by intent" }
],
"runtime": {
"type": "node",
"entrypoint": "dist/router.js"
},
"security": {
"sandbox": "process"
},
"policies": [
{
"id": "deny-external",
"effect": "deny",
"action": "tool.call",
"where": "tool.endpoint !~ 'internal.corp'"
}
],
"graph": {
"nodes": [
{ "id": "router", "ref": "ajson://example.com/agents/router-hub" },
{ "id": "faq", "ref": "ajson://example.com/agents/faq" }
],
"edges": [
{
"from": "router",
"to": "faq",
"condition": "message.intent == 'faq'"
}
]
}
}See examples/ for complete working examples.
- ๐ Framework Interoperability: Convert between LangChain, OpenAI, AutoGen, and custom frameworks
- ๐ฆ Agent Registries: Build discoverable catalogs of reusable agents
- ๐๏ธ Multi-Agent Systems: Orchestrate complex workflows with conditional routing
- ๐ Enterprise Governance: Enforce security policies and audit trails
- ๐ Agent Marketplaces: Standardized format for distributing and monetizing agents
- ๐งช Testing & Validation: Schema-based validation for CI/CD pipelines
JSON Agents provides bidirectional conversion with major frameworks:
| Framework | Import | Export | Documentation |
|---|---|---|---|
| LangChain | โ | โ | Mapping Guide |
| OpenAI | โ | โ | Mapping Guide |
| AutoGen | โ | โ | Mapping Guide |
| MCP | โ | Mapping Guide | |
| Hugging Face | Mapping Guide | ||
| CrewAI | Mapping Guide |
โ
= Fully documented |
| Document | Purpose |
|---|---|
| Specification | Complete normative specification |
| Implementer's Guide | How to parse, validate, and use manifests |
| Framework Mappings | Convert to/from other agent formats |
| Extensions Guide | Create custom extensions with x-* |
| Examples | Working manifest examples |
| Changelog | Version history and roadmap |
Coming Soon:
ajvschema validator- Reference implementations (Node.js, Python)
- Framework converters
- Web-based manifest editor
Manual Validation:
# Install ajv-cli
npm install -g ajv-cli
# Validate manifest
ajv validate -s schema/json-agents.json -d examples/core.jsonRecent Additions (Unreleased):
- โจ URI Scheme Definition: Formal
ajson://specification with resolution mechanism - ๐ Policy Expression Language: Complete grammar for
whereclauses - ๐ฏ Complete Capability Suite: All 7 capabilities now have formal schemas
- โ qa.json (Question Answering)
- โ classification.json (Classification)
- โ extraction.json (Entity Extraction)
- โ generation.json (Content Generation)
See CHANGELOG.md for details.
- ๐ฌ Discussions: GitHub Discussions (coming soon)
- ๐ Issues: GitHub Issues
- ๐ง Contact: spec@agentsjson.org
- ๐ Contributing: See CONTRIBUTING.md
v1.0 (Current):
- โ Core, Exec, Gov, Graph profiles
- โ 7 capability schemas
- โ URI scheme specification
- โ Policy expression language
- โ Framework mapping guide
v1.1 (Planned):
- ๐จ Reference validator implementations
- ๐จ Framework converter tools
- ๐จ Additional capability schemas
- ๐จ Community extensions
- ๐จ Public registry service
Future:
- Real-time profile for streaming agents
- Evaluation profile for testing/benchmarking
- Enhanced policy expression functions
- Formal IETF/W3C standardization path
JSON Agents is released under the Apache 2.0 License.
See LICENSE for details.
We welcome contributions! Whether you're:
- ๐ Reporting bugs or issues
- ๐ก Proposing new features
- ๐ Improving documentation
- ๐ง Building tools and validators
- ๐ Creating framework integrations
See CONTRIBUTING.md for guidelines.
Code of Conduct: This project follows the Contributor Covenant 2.0.
| Aspect | Status |
|---|---|
| Specification | ๐ข v1.0.0 Complete |
| Schema Coverage | ๐ข 7/7 Capabilities (100%) |
| Documentation | ๐ข Comprehensive |
| Tooling | ๐ก In Development |
| Community | ๐ก Growing |
| Standards Track | ๐ก Draft |
JSON Agents is designed to be:
- Simple: Easy to read and write by humans
- Complete: Covers all aspects of agent definition
- Flexible: Modular profiles for different use cases
- Safe: Built-in security and governance
- Interoperable: Works with existing frameworks
- Extensible: Room for innovation without breaking changes
- Standard: Based on established JSON specifications
JSON Agents is built on solid foundations:
- โ RFC 8259 โ JSON Data Interchange Format
- โ RFC 3986 โ URI Generic Syntax
- โ RFC 2119 โ Requirement Levels
- โ ECMA-404 โ JSON Data Interchange Syntax
- โ ISO/IEC 21778:2017 โ JSON Standard
- โ JSON Schema 2020-12 โ Validation
- Model Context Protocol (MCP) โ Tool/context protocol
- OpenAI Agents โ Agent API format
- LangChain โ Agent framework
- AutoGen โ Multi-agent framework
- ๐ 888 lines of specification
- ๐ฏ 7 capability schemas (100% complete)
- ๐ 4 profiles (core, exec, gov, graph)
- ๐ง 6 tool types (http, function, plugin, system, mcp, custom)
- ๐ 4 examples covering all profile combinations
- ๐ 8 documentation files
JSON Agents draws inspiration from:
- JSON Schema and JSON-LD communities
- OpenAPI and AsyncAPI specifications
- Agent framework developers (LangChain, AutoGen, CrewAI)
- Model Context Protocol contributors
- The broader open-source AI community
Version identifiers follow Semantic Versioning 2.0. The default branch represents the latest stable version of the specification.
ยฉ 2025 JSON Agents. All rights reserved.
