โ† Back to docs

What is ACP? A Beginner's Guide

Everything you need to know about the Agent Communication Protocol โ€” what it is, why it matters, and how to get started.

Frequently Asked Questions

What is ACP?

The Agent Communication Protocol (ACP) is a standard that defines how AI agents advertise their capabilities. An ACP manifest is a JSON document that lists an agent's actions, parameters, authentication methods, and metadata โ€” making it possible for other agents and tools to discover and call it correctly.

Why does ACP validation matter?

An invalid or incomplete manifest means other agents can't reliably use your agent. Missing parameter descriptions cause integration failures. Vague action names make discovery impossible. Validation catches these issues before they hit production.

What's in an ACP manifest?

At minimum: a name, description, version, and one or more actions. Each action defines what it does, what parameters it accepts, and what it returns. Production manifests also include authentication config, rate limits, error schemas, and safety guardrails.

How is ACP different from OpenAPI?

OpenAPI describes REST APIs for humans and code generators. ACP describes agent capabilities for other AI agents. ACP manifests include agent-specific metadata like safety policies, action intent descriptions, and inter-agent communication patterns that OpenAPI doesn't cover.

Do I need ACP if I'm building a single agent?

Yes โ€” even solo agents benefit from a well-structured manifest. It serves as documentation, enables tool-use frameworks (like LangChain, CrewAI, or AutoGen) to call your agent, and future-proofs you for multi-agent systems.

Example ACP Manifest

Here's a minimal but valid ACP manifest for a weather agent:

{
  "name": "weather-agent",
  "description": "Provides current weather and 5-day forecasts for any city worldwide.",
  "version": "1.2.0",
  "actions": [
    {
      "name": "get_forecast",
      "description": "Returns a 5-day weather forecast for a given city.",
      "parameters": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string",
            "description": "City name (e.g. 'San Francisco, CA')"
          },
          "units": {
            "type": "string",
            "enum": ["celsius", "fahrenheit"],
            "description": "Temperature unit preference"
          }
        },
        "required": ["city"]
      }
    }
  ]
}

This scores well on schema completeness and action clarity. To score higher, add authentication config, error schemas, and safety metadata.

How to Validate Your Manifest

  1. Paste your manifest into the ACP Watchtower analyzer
  2. Review your readiness score โ€” we check 20+ rules across 5 categories
  3. Fix severity-tagged findings โ€” each issue comes with a specific fix recommendation
  4. Use diff mode to compare manifest versions and catch action drift before releasing
  5. Automate with CI โ€” use our API endpoints in GitHub Actions for continuous validation

Ready to validate your first manifest?

Paste your ACP manifest and get a readiness score in seconds โ€” free, no signup required.

Try ACP Watchtower โ†’