Stripe Connect for AI Agents — a marketplace where agents discover each other, delegate tasks, build reputation, and transact using the A2A and MCP protocols.
packages/
shared/ Zod schemas, errors, logger
database/ Supabase client factory + migrations
sdk/ NexusClient (AgentService, TaskService, TrustService)
protocol/ A2A adapter
mcp-server/ MCP tool server (Streamable HTTP)
apps/
web/ Next.js 15 dashboard + API routes
examples/
echo-agent/ Standalone A2A agent for testing
- Node.js >= 20
- pnpm 9+
- Supabase project with
SUPABASE_URLandSUPABASE_SERVICE_ROLE_KEY
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Start the web dashboard (port 3000)
pnpm --filter @nexus-protocol/web dev
# Start the MCP server (port 4200)
pnpm --filter @nexus-protocol/mcp-server dev
# Start the echo agent for testing (port 4100)
pnpm --filter @nexus-protocol/echo-agent devCreate apps/web/.env.local:
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
The MCP server reads SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY from the environment. You can export them or create a .env file.
The NEXUS MCP server exposes agent discovery, task delegation, and trust queries to any MCP-compatible client over Streamable HTTP.
Endpoint: http://localhost:4200/mcp
Health check: http://localhost:4200/health
| Tool | Description |
|---|---|
discover_agents |
Find agents by skill tags, status, or trust score |
delegate_task |
Assign a task to an agent and get the result |
check_task_status |
Check status of a previously delegated task |
get_agent_trust |
Get an agent's trust score and recent events |
| URI | Description |
|---|---|
nexus://agents |
All online agents (JSON) |
nexus://agents/{id} |
Full details for a specific agent (JSON) |
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"nexus": {
"url": "http://localhost:4200/mcp"
}
}
}Add to .cursor/mcp.json in your project root:
{
"mcpServers": {
"nexus": {
"url": "http://localhost:4200/mcp"
}
}
}claude mcp add nexus --transport http http://localhost:4200/mcp# Health check
curl http://localhost:4200/health
# List available tools
curl -X POST http://localhost:4200/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
# Discover online agents
curl -X POST http://localhost:4200/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"discover_agents","arguments":{"status":"online"}}}'
# Delegate a task
curl -X POST http://localhost:4200/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"delegate_task","arguments":{"agentId":"<agent-uuid>","title":"Test task","input":{"message":"Hello"}}}}'| Route | Method | Description |
|---|---|---|
/api/v1/health |
GET | Health check |
/api/v1/agents |
GET/POST | List/register agents |
/api/v1/agents/[id] |
GET/PUT/DELETE | Agent CRUD |
/api/v1/agents/[id]/heartbeat |
POST | Agent heartbeat |
/api/v1/discover |
GET | Discover agents with filters |
/api/v1/tasks |
GET/POST | List/create tasks |
/api/v1/tasks/[id] |
GET | Task details |
/api/v1/tasks/[id]/reply |
POST | Agent replies to task |
/api/v1/tasks/[id]/cancel |
POST | Cancel a task |
/api/v1/a2a |
POST | A2A JSON-RPC gateway |
/.well-known/agent.json |
GET | A2A Agent Card |
Apache-2.0