A server wrapper that exposes the a Claude Code agent via the A2A (Agent-to-Agent) protocol.
WARNING: This project is not production ready. Use it at your own risks.
This project enables Claude Code to be used as an A2A-compatible agent, facilitating integration with other systems that support this AI agent interoperability standard. It uses the Claude Code SDK.
npm install -g claude-a2aSet your Anthropic API key as an environment variable:
export ANTHROPIC_API_KEY=your-api-key-hereAfter global installation, navigate to your agent's working directory and start the server:
cd /path/to/your/agent-folder
claude-a2aThe server will start on http://localhost:3008 and use the current directory as the working directory for Claude Code operations.
For local development:
npm run devnpm run buildCompiles TypeScript to JavaScript in the dist/ folder
npm run typecheckThe server starts by default on port 3008. The agent card is accessible at:
http://localhost:3008/.well-known/agent-card
- Response streaming support
- Contextual session management
- Artifact publishing (created/modified files)
- Custom hooks to intercept tool usage
- Configuration file support: Add support for external configuration files (.claude/claude-a2a.settings.json) to customize A2A settings
- Authentication: Implement authentication mechanisms for secure agent access
- Tool expansion: Enable more Claude Code SDK tools beyond Write, WebSearch, and Edit
- Persistent storage: Replace in-memory task store with database-backed storage
- Error handling: Enhanced error recovery and retry mechanisms
- Monitoring: Add logging, metrics, and observability features
- Docker support: Containerize the application for easier deployment
- WebSocket support: Real-time bidirectional communication for push notifications
ISC