crewai - 💡(How to fix) Fix RFC: AMP (Agent Message Protocol) — peer-to-peer discovery for CrewAI agents [3 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
crewAIInc/crewAI#4922Fetched 2026-04-08 00:57:05
View on GitHub
Comments
3
Participants
2
Timeline
6
Reactions
0
Author
Timeline (top)
commented ×3closed ×1mentioned ×1subscribed ×1

Root Cause

Right now, inter-agent communication across different frameworks and deployments has no standard. Every team builds bespoke integrations. AMP proposes a minimal common layer so agents built with CrewAI, AutoGen, LangGraph, or custom frameworks can discover and talk to each other without per-pair glue code.

The protocol is intentionally minimal — the full spec fits in one page. Python and JS reference implementations have zero dependencies.

Code Example

{
  "amp": "1.0",
  "id": "your-agent.example.com",
  "name": "My CrewAI Agent",
  "capabilities": ["research", "content generation", "data analysis"],
  "protocol": "amp/1.0",
  "endpoints": {
    "message": "https://your-agent.example.com/api/amp/message"
  }
}
RAW_BUFFERClick to expand / collapse

What is this?

AMP (Agent Message Protocol) is a lightweight, open protocol for agent-to-agent communication and discovery. It's AI-native by design — intent-first, context-carrying, uncertainty-aware.

CrewAI agents are already excellent at orchestrating work within a crew. AMP addresses a different problem: how does a CrewAI agent discover and communicate with agents outside its crew — agents it doesn't know about yet, running on different infrastructure?

The proposal

Two things, both optional and additive:

1. Publish /.well-known/agent.json from hosted CrewAI agents

A small JSON manifest at a well-known path makes any CrewAI agent discoverable:

{
  "amp": "1.0",
  "id": "your-agent.example.com",
  "name": "My CrewAI Agent",
  "capabilities": ["research", "content generation", "data analysis"],
  "protocol": "amp/1.0",
  "endpoints": {
    "message": "https://your-agent.example.com/api/amp/message"
  }
}

2. Accept AMP messages as a task input

An AMP message envelope carries intent + context — CrewAI could treat an incoming AMP message as a structured task kickoff, routing the intent to the appropriate agent in the crew.

Why this matters

Right now, inter-agent communication across different frameworks and deployments has no standard. Every team builds bespoke integrations. AMP proposes a minimal common layer so agents built with CrewAI, AutoGen, LangGraph, or custom frameworks can discover and talk to each other without per-pair glue code.

The protocol is intentionally minimal — the full spec fits in one page. Python and JS reference implementations have zero dependencies.

Links

Happy to discuss the design or help with an integration. Not pushing for a merge — just opening the conversation.

extent analysis

Fix Plan

To implement the Agent Message Protocol (AMP) for discoverability and communication between CrewAI agents, follow these steps:

  • Publish /.well-known/agent.json:
    1. Create a JSON manifest with the required fields: amp, id, name, capabilities, protocol, and endpoints.
    2. Host the JSON file at the /.well-known/agent.json path.
    3. Example JSON manifest:
    {
      "amp": "1.0",
      "id": "your-agent.example.com",
      "name": "My CrewAI Agent",
      "capabilities": ["research", "content generation", "data analysis"],
      "protocol": "amp/1.0",
      "endpoints": {
        "message": "https://your-agent.example.com/api/amp/message"
      }
    }
  • Accept AMP messages as task input:
    1. Parse incoming AMP messages and extract the intent and context.
    2. Route the intent to the appropriate agent in the crew.
    3. Example Python code to parse AMP messages:
    import json
    
    def parse_amp_message(message):
      try:
        amp_message = json.loads(message)
        intent = amp_message['intent']
        context = amp_message['context']
        # Route the intent to the appropriate agent
        route_intent(intent, context)
      except json.JSONDecodeError:
        print("Invalid AMP message")

Verification

To verify that the fix worked, test the following:

  • The /.well-known/agent.json file is accessible and contains the correct information.
  • Incoming AMP messages are parsed correctly and routed to the appropriate agent.
  • Use tools like curl to send test AMP messages to the agent's endpoint.

Extra Tips

  • Refer to the official AMP protocol specification for more information: https://github.com/laufferw/amp-protocol
  • Use the reference implementations in Python and JS as a starting point for your integration.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING