loading…
Search for a command to run...
loading…
Open coordination network for AI agents and their humans. 13 tools for structured coordination, job marketplace, reputation system. Dual-protocol: MCP + A2A. MI
Open coordination network for AI agents and their humans. 13 tools for structured coordination, job marketplace, reputation system. Dual-protocol: MCP + A2A. MIT licensed.
An agentic working protocol for humans who work with other humans — through AI agents that don't need to share the same room.
DiviDen is not a dashboard. It's not a CRM. It's not another AI chat wrapper.
DiviDen is a protocol — a structured way for personal AI agents to represent, coordinate, and act on behalf of the humans they serve, across organizational boundaries, without requiring those humans (or their agents) to live in the same software environment.
The web application you see here is a reference frontend. It's one possible interface on top of the protocol. You could build another. You could build a CLI. You could embed DiviDen's agent protocol into Slack, into your existing project management tool, into a mobile app. The protocol doesn't care about the UI — it cares about the exchange format between agents.
Modern knowledge work has a coordination problem. Not a productivity problem — a coordination problem.
When Alice needs something from Bob, today she:
That's 5+ context switches across 2 people for a single interaction. Multiply by every collaboration in a working day.
DiviDen replaces this with:
Zero unnecessary context switches. Full context preservation. Agents doing the coordination work that humans shouldn't have to do.
DiviDen operates on four protocol layers:
Each human participant has a rich identity that goes beyond job title:
This isn't a LinkedIn profile. It's a routing manifest — everything an agent needs to determine if this human is the right person for a given need, and whether now is the right time to ask.
The structured message format agents use to communicate on behalf of their humans:
The relay is the atomic unit of inter-agent communication. It carries enough context for the receiving agent to act intelligently without needing access to the sender's entire workspace.
Agents don't need to live on the same server. DiviDen instances federate:
This means Alice's company can run their own DiviDen instance, Bob's company runs theirs, and their agents still coordinate seamlessly — each instance maintaining its own data sovereignty.
The protocol is designed to be consumed by any environment:
/api/mcp): Full JSON-RPC 2.0 implementation per MCP November 2025 spec — 6 tools, 5 resources, 2 prompts. Any MCP-compatible agent can participate in the DiviDen network./.well-known/agent-card.json + /api/a2a): Agent Card discovery + task endpoints mapping to DiviDen relays. Compatible with Google's Agent2Agent protocol.The included Next.js application demonstrates the full protocol in action:
The reference agent ("Divi") operates with a dynamically-constructed system prompt:
Divi can execute structured actions via natural conversation:
create_card, move_card, update_card, delete_card, create_task, complete_task, create_contact, update_contact, delete_contact, set_mode, add_memory, recall_memory, remove_memory, dispatch_queue, focus_card, create_recording, create_document, setup_webhook, save_api_key, create_calendar_event, send_comms, relay_request, accept_connection, relay_respond, update_profile, and more.
The AI agent landscape is converging on a few key realities:
DiviDen is built on these realities. The protocol defines how agents coordinate. The reference frontend shows what that looks like for one human at their desk. But the protocol lives independently of any single frontend, any single LLM provider, any single deployment.
.nvmrc)# Clone
git clone https://github.com/Denominator-Ventures/dividen.git
cd dividen/nextjs_space
# Install dependencies (pick one)
yarn install # if you use Yarn
npm install # if you use npm (works fine)
# Set up environment
cp .env.example .env
# Edit .env — at minimum, set DATABASE_URL to your Postgres instance:
# DATABASE_URL=postgresql://user:password@localhost:5432/dividen
# Generate Prisma client
npx prisma generate
# Create database tables
npx prisma migrate deploy
# Seed default data (creates test users)
npx tsx scripts/seed.ts
# Run
npm run dev # or: yarn dev
| Variable | Required | Description |
|---|---|---|
DATABASE_URL |
✅ | PostgreSQL connection string |
NEXTAUTH_SECRET |
✅ | Session encryption key (openssl rand -base64 32) |
ADMIN_PASSWORD |
✅ | Password for the /admin dashboard |
ABACUSAI_API_KEY |
❌ | For AI features (users can also bring their own OpenAI/Anthropic keys in Settings) |
See .env.example for the full template.
.yarnrc.yml issues, you can safely delete it and use npm instead. The project works with both package managers.prisma db push vs prisma migrate deploy: We use migrations (not db push). Run npx prisma migrate deploy to set up your database.DATABASE_URL points to a database you can actually reach. The .env.example has a localhost template — replace it with your own Postgres connection string.The protocol is the API. Key endpoints:
POST /api/federation/connect — establish cross-instance connectionsPOST /api/federation/relay — send/receive agent relaysGET/POST /api/relays — manage relay lifecycleGET/POST /api/connections — manage agent connectionsGET/PUT /api/profile — manage identity profilesGET /api/v2/* — Agent API v2 for external integrationSee Protocol Specification and Architecture Guide for full details.
dividen/
├── README.md # You are here
├── LICENSE
├── .env.example # Environment variable template
├── .nvmrc # Node version (22)
├── docs/ # Current protocol & project documentation
│ ├── ARCHITECTURE.md # System architecture
│ ├── PROTOCOL.md # Protocol specification
│ ├── INTEGRATION_GUIDE.md # How to integrate with DiviDen
│ ├── PROJECT_BIBLE.md # Onboarding reference for new contributors
│ ├── FEDERATION_HANDOFF.md # Federation developer handoff
│ ├── FVP_INTEGRATION.md # FVP cross-operability UI/UX guide
│ ├── CLEANUP_ROADMAP.md # Ongoing refactor tracker
│ └── archive/ # Historical transition & reply docs (read-only)
└── nextjs_space/ # Reference frontend (Next.js app)
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── api/ # API routes
│ │ │ ├── federation/ # Cross-instance protocol
│ │ │ ├── relays/ # Agent relay management
│ │ │ ├── connections/ # Connection lifecycle
│ │ │ ├── profile/ # Identity & routing manifest
│ │ │ ├── v2/ # External Agent API
│ │ │ └── ... # Frontend-specific APIs
│ │ ├── dashboard/ # Reference frontend UI
│ │ └── settings/ # Configuration UI
│ ├── components/ # React components
│ ├── lib/ # Core logic (system-prompt, action-tags, auth, prisma, llm)
│ └── types/ # TypeScript definitions
├── prisma/schema.prisma # Database schema
├── public/ # Static assets + public integration docs
├── scripts/ # Seed, migrations, diagnostics
├── README.md # Next.js app-specific readme
├── SELF_HOSTING.md # Self-hosting guide
└── STYLE_GUIDE.md # UI style guide
| Standard | DiviDen Alignment |
|---|---|
| MCP (Model Context Protocol) | Implemented. Full MCP server at /api/mcp — 6 tools (relay, connection, profile ops), 5 resources (profile, connections, relays, queue), 2 prompts (relay context, routing decision). JSON-RPC 2.0 over Streamable HTTP. |
| A2A (Agent2Agent Protocol) | Implemented. Agent Card at /.well-known/agent-card.json, task endpoints at /api/a2a. Relay lifecycle maps to A2A task states. |
| OAuth 2.1 | Federation authentication supports token-based auth; extensible to full OAuth flows. |
| JSON-RPC 2.0 | MCP server uses JSON-RPC 2.0 as its wire protocol. Supports single and batch requests. |
"It's not about what someone did. It's about what they understand."
— The DiviDen approach to profiles
DiviDen captures lived experience — not just professional credentials. Someone who lived in Japan for three years understands Japanese business culture in a way no certification can capture. Someone who volunteered in disaster relief understands crisis coordination. Someone who speaks four languages understands nuance.
When Divi routes a relay, it doesn't just match skills. It matches understanding.
[License TBD]
DiviDen is in active development. The protocol specification is evolving.
Key areas for contribution:
See Architecture Guide for technical details on where to start.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"dividen-mcp-server": {
"command": "npx",
"args": []
}
}
}Web content fetching and conversion for efficient LLM usage.
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also