Skip to content

jonwraymond/metatools-a2a

Repository files navigation

metatools-a2a

Reference A2A (Agent-to-Agent) server for the ApertureStack tool stack. It bridges tooldiscovery and toolexec to provide a JSON-RPC + REST + SSE surface for A2A agents.

Features

  • A2A JSON-RPC (agent/invoke, agent/status)
  • REST endpoints for agent-card, skills, and task metadata
  • SSE streaming for task updates
  • Bootstraps tools from a YAML file

Quick Start

export METATOOLS_A2A_HOST=0.0.0.0
export METATOOLS_A2A_PORT=8091
export METATOOLS_A2A_BASE_PATH=/a2a
export METATOOLS_A2A_TOOLS_FILE=./tools.yaml

go run ./cmd/metatools-a2a

Tool Bootstrap File

tools:
  - tool:
      name: echo
      description: Echo a message
      inputSchema:
        type: object
        properties:
          message:
            type: string
        required: [message]
    backend:
      kind: local
      local:
        name: echo

The backend definition follows toolfoundation/model.ToolBackend.

Endpoints

  • POST /a2a JSON-RPC
  • GET /a2a/agent-card
  • GET /a2a/skills
  • GET /a2a/tasks
  • GET /a2a/tasks/{id}
  • GET /a2a/tasks/{id}/events (SSE)

License

See LICENSE in the repository root.

About

Agent-to-Agent protocol (A2A) MCP server for multi-agent orchestration

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors