Repository navigation
Releases: jeffkit/cursor-agent-a2a
Release list
v2.1.0 - Fix npm install -g permission denied
π Bug Fixes
Fixed the permission denied error that occurred when running cursor-agent-a2a after global npm installation (npm install -g cursor-agent-a2a).
π§ Changes
- Build Script: Added
chmod +xto automatically set executable permission for CLI file after compilation - Version Management: Version number is now dynamically read from
package.jsoninstead of being hardcoded - Node.js Path Resolution: Enhanced path resolution with support for multiple Node.js version managers:
- nvm (Node Version Manager)
- fnm (Fast Node Manager)
- asdf
- Homebrew (Intel & Apple Silicon)
- System installation
π¦ Installation
```bash
npm install -g cursor-agent-a2a@2.1.0
```
π Links
v2.0.0: A2A Protocol Standardization
π v2.0.0: A2A Protocol Standardization
Major release implementing standard A2A protocol format and adding powerful management features.
β οΈ Breaking Changes
This is a breaking change release. All clients must update their configuration.
URL Structure Changes
- Old format (deprecated):
/messages/:projectId - New format (standard A2A):
/:projectId/messages
Migration Required
Update your client configuration:
{
"name": "cursor-agent-project",
"url": "http://localhost:4300/{projectId}",
"apiKey": "ca2a_..."
}β¨ New Features
1. Standard A2A Protocol Compliance
- β
/:projectId/messages- Send messages - β
/:projectId/tasks- Create async tasks - β
/:projectId/tasks/:taskId- Query/cancel tasks - β
/:projectId/.well-known/agent-card.json- Project Agent Card - β
/.well-known/agent-card.json- Service Agent Card (lists all projects)
2. API Key Management
- View current API key (masked for security)
- Copy full API key to clipboard
- Reset/Generate new API key
- Accessible via management UI and REST API
3. Chat Testing Interface
- Test messages directly in management page
- Select project from dropdown
- Support both sync and streaming responses
- Real-time response display
4. Project-Level Agent Cards
- Each project has its own Agent Card
- Contains project-specific metadata
- Includes workspace path and capabilities
5. Service Discovery
- Service-level Agent Card lists all available projects
- Simplifies multi-project management
- Compatible with standard A2A clients (AgentStudio, etc.)
π§ API Enhancements
New Endpoints
# Config Management
GET /config # View current config (masked API key)
POST /config/reset-key # Generate new API key
# Agent Cards
GET /:projectId/.well-known/agent-card.json # Project Agent Card
GET /.well-known/agent-card.json # Service Agent Cardπ Testing
- β 55 test cases passing
- β Full TypeScript type checking
- β Comprehensive route and service tests
- β Project mapping tests
- β API key management tests
π Documentation Updates
- Updated API endpoint documentation
- Added migration guide
- Updated curl examples
- Improved management UI
π Bug Fixes
- Fixed Agent Card URL generation
- Improved error handling for invalid project IDs
- Enhanced session management
π Installation
NPM
npm install -g cursor-agent-a2a@2.0.0From Source
git clone https://github.com/jeffkit/cursor-agent-a2a.git
cd cursor-agent-a2a
pnpm install
pnpm run build
npm install -g .System Service
cursor-agent-a2a install --port 4300
cursor-agent-a2a startπ Migration Guide
-
Update Client URLs
- Change from
/messages/:projectIdto/:projectId/messages - Update Agent URL to project root:
http://host/{projectId}
- Change from
-
Test New Format
curl -X POST "http://localhost:4300/{projectId}/messages" \ -H "Authorization: Bearer your-api-key" \ -H "Content-Type: application/json" \ -d '{"message": "test"}'
-
Verify Agent Card
curl "http://localhost:4300/{projectId}/.well-known/agent-card.json"
π Credits
Thanks to all contributors and users who provided feedback for this release!
Full Changelog: v1.4.0...v2.0.0
v1.4.0 - Project ID Mapping & Model Configuration
π Major Features
π Project ID Mapping
Map short, memorable project IDs to workspace paths for easier API calls.
Key Features:
- β
Web management UI at
/manage - β Auto-generated unique IDs (10 characters)
- β Full CRUD API for project management
- β
Persistent storage in
~/.cursor-agent-a2a/projects.json - β
URL parameter support:
POST /messages/:projectId
Example:
```bash
Create project mapping
curl -X POST "http://localhost:4937/projects" \
-H "Authorization: Bearer your-api-key" \
-d '{"name": "My Project", "workspace": "/path/to/project"}'
Use project ID (much simpler!)
curl -X POST "http://localhost:4937/messages/abc123xyz" \
-H "Authorization: Bearer your-api-key" \
-d '{"message": "Hello"}'
```
π€ Model Configuration
Choose which Cursor model to use for each request.
Available Models:
- π Claude 4.5 Sonnet (default) - Balanced performance
- π§ Claude 4.5 Opus - Most capable
- π» GPT-5.2 Codex - Code-optimized
- β‘ Gemini 3 Flash - Fast responses
- And many more...
Configuration Methods:
-
Per-request (highest priority):
```json
{"message": "Hello", "model": "sonnet-4.5"}
``` -
Environment variable:
```bash
export CURSOR_DEFAULT_MODEL=sonnet-4.5
``` -
System default:
sonnet-4.5(fallback)
π§ Enhanced Cursor CLI Integration
- Auto-discovers Cursor CLI location
- No manual PATH configuration required
- Works out-of-the-box on macOS
π Documentation
- CHANGELOG.md - Complete version history
- EXAMPLES.md - Practical usage examples
- README.md - Updated with new features
π Migration from v1.3.x
No Breaking Changes! All existing API calls work as before.
New Features to Try:
- Visit
http://localhost:4937/manageto set up project mappings - Add
"model": "sonnet-4.5"to your requests - Set
CURSOR_DEFAULT_MODELenvironment variable
π¦ Installation
```bash
Update to latest version
npm update -g cursor-agent-a2a
or
pnpm update -g cursor-agent-a2a
Restart service
cursor-agent-a2a restart
```
π Bug Fixes
- Fixed "Cursor command not found" error with auto-discovery
- Resolved Opus slow pool quota issues by defaulting to Sonnet
π Acknowledgments
Thanks to all users who requested these features and provided feedback!
Full Changelog: v1.3.1...v1.4.0
v1.3.1: Dynamic API Key Loading
π Major Features
Dynamic API Key Loading
- Reset without restart:
cursor-agent-a2a resetnow takes effect immediately - API Keys are loaded dynamically on each request
- No need to restart the service after changing API Key
Enhanced Commands
status: Now displays version numberconfig: Shows full API Keyreset: New independent command (replacesconfig --reset)
π§ Technical Improvements
- Fixed ES module imports (removed
require()usage) - Configuration file is now the single source of truth
- Removed environment variable for API Key (cleaner architecture)
- Improved error handling and logging
π Full Changelog
New Features:
- Add version display in
statuscommand - Implement dynamic API Key loading
- Add
resetcommand as standalone command
Bug Fixes:
- Fix
config resetnot working - Fix version display in global installation
- Fix API Key not updating after reset
- Fix ES module import errors
Internal Changes:
- Remove API Key from environment variables
- Use ES module imports (fs, path, os)
- Clean up debug logging
- Improve code structure
π¦ Installation
npm install -g cursor-agent-a2a@latest
cursor-agent-a2a installπ Usage
# View configuration (shows full API Key)
cursor-agent-a2a config
# Reset API Key (takes effect immediately, no restart needed!)
cursor-agent-a2a reset
# Check status (shows version number)
cursor-agent-a2a statusπ Thanks
Special thanks to all testers for their patience during the multiple iterations!
v1.2.0 - Config Management and CLI Enhancements
π New Features
Configuration Management
- Auto-generate secure API key on install if not provided
cursor-agent-a2a config- View current configurationcursor-agent-a2a config --reset- Generate new API key
CLI Tools
cursor-agent-a2a curl <endpoint> [--method POST]- Generate curl commands with actual API key
Service Improvements
- Service reads API key from config file automatically
- Homepage shows config status and CLI usage hints
- Better configuration persistence
π¦ Installation
npm install -g cursor-agent-a2a@latest
cursor-agent-a2a install --port 4300π§ Usage
# View configuration
cursor-agent-a2a config
# Generate API call
cursor-agent-a2a curl /messages --method POST
# Manage service
cursor-agent-a2a start|stop|restart|status|logs