dugubuyan

AgentNexus

Community dugubuyan
Updated

A service-boundary-aware document exchange center for coordinating heterogeneous LLM code agents via MCP. Implements versioned Markdown store, pub-sub notifications, and diff-aware update protocol.

AgentNexus

A service-boundary-aware coordination architecture for heterogeneous LLM code agents.

License: MITPython 3.11+TestsDOI

"Service boundaries, not agent roles, are the appropriate primitive for coordinating LLM agents in real software development."

Overview

Existing multi-agent frameworks (ChatDev, MetaGPT) organize agents around roles within a single simulated organization. AgentNexus takes a different approach: it coordinates agents at the service granularity, matching how real software systems are actually structured.

Each service registers as a sub-project, publishes versioned Markdown documents (requirements, design, API specs, config), and subscribes to documents from services it depends on. When a document changes, subscribers receive a diff-aware notification containing both the structured diff and the full latest content — enabling targeted, context-aware code modifications.

Key Features

  • Versioned document store — SHA-256 dedup, full version history, per-service namespacing
  • Publish-subscribe notifications — subscribe by exact doc ID or doc type
  • Diff-aware updatesget_my_updates_with_context returns unified diff + full content in one call
  • Lifecycle stage tracking — explicit design → development → testing → deployment → upgrade per service, with milestone snapshots on transitions
  • MCP HTTP server — streamable-HTTP transport, multiple agents connect simultaneously
  • FileWatcher ingestion — auto-ingest Markdown files from /docs/ directory as draft documents
  • 191 tests — unit + property-based (Hypothesis)

Architecture

┌─────────────────────────────────────────────────────┐
│                  Project Space                       │
│                                                      │
│  ┌──────────────┐    subscribe    ┌───────────────┐  │
│  │ search-      │ ──────────────► │ search-admin- │  │
│  │ service      │                 │ frontend      │  │
│  │              │  notification   │               │  │
│  │ api/v5 ──────┼────────────────►│               │  │
│  └──────────────┘                 └───────────────┘  │
│                                                      │
│              AgentNexus MCP Server                   │
│              http://0.0.0.0:10086/mcp                │
└─────────────────────────────────────────────────────┘

Quick Start

# Install
pip install -e ".[dev]"

# Initialize database
python -m alembic upgrade head

# Start server (default: http://0.0.0.0:10086/mcp)
python src/main.py

Connect from Kiro / any MCP client

{
  "mcpServers": {
    "doc-exchange": {
      "url": "http://localhost:10086/mcp"
    }
  }
}

First steps

# Create a project space
create_space(name="my-project")

# Register a service
register_project(name="backend-api", type="development", project_space_id="<space_id>")

# Push a document
push_document(project_id="<project_id>", doc_id="<project_id>/api", content="# API Spec...")

# Subscribe frontend to backend's API docs
add_subscription(subscriber_project_id="<frontend_id>", project_space_id="<space_id>", target_doc_id="<backend_id>/api")

# Check updates (returns diff + full content)
get_my_updates_with_context(project_id="<frontend_id>")

MCP Tools

Tool Description
create_space Create a Project Space
register_project Register a sub-project (service)
list_projects List all sub-projects in a space
push_document Push a new document version
get_document Retrieve a document (latest or specific version)
get_my_updates_with_context Get unread notifications with diff + full content
ack_update Mark a notification as read
get_my_tasks Get pending tasks for a project
get_config Get config document for a stage
add_subscription Add a subscription rule
publish_draft Confirm a draft document
generate_steering_file Generate IDE steering file content
get_project_id_by_name Look up project_id by name

Configuration

Environment Variable Default Description
DOC_EXCHANGE_DB_URL sqlite:///doc_exchange.db Database URL
DOC_EXCHANGE_DOCS_ROOT ./workspace Workspace root (docs live under {root}/{space_id}/docs/)
DOC_EXCHANGE_HOST 0.0.0.0 Server bind host
DOC_EXCHANGE_PORT 10086 Server port
DOC_EXCHANGE_DEFAULT_SPACE_ID default Default space for FileWatcher

Steering File Integration

Each sub-project's IDE agent uses a steering file to auto-check for updates. Generate one with:

generate_steering_file(project_name="my-service", project_space_id="<space_id>")

See doc-exchange-steering-template.md for the template.

Running Tests

python -m pytest tests/ -q

Paper

The accompanying research paper is available in paper/agentnexus.md.

dugubuyan. AgentNexus: A Service-Boundary-Aware Coordination Architecture for Heterogeneous LLM Code Agents. 2026.

License

MIT

MCP Server · Populars

MCP Server · New

    butterbase-ai

    butterbase

    Open-source backend-as-a-service. Postgres, auth, storage, functions, AI gateway, MCP.

    Community butterbase-ai
    GoPlusSecurity

    GoPlus AgentGuard

    Security guard for AI agents — blocks malicious skills, prevents data leaks, protects secrets. 24 detection rules, runtime action evaluation, trust registry.

    Community GoPlusSecurity
    respawn-llc

    tool-filter-mcp

    MCP proxy server that filters tools from upstream MCP servers via regex-based deny list

    Community respawn-llc
    Kaelio

    ktx-ai-data-agents-context

    ktx is an executable context layer for data and analytics agents 🐙 Allow Claude Code, Codex, and any AI agent to query data accurately through MCP with skills, memory and a semantic layer

    Community Kaelio
    bergside

    TypeUI - Build better UI with AI

    Build better UI with Codex, Claude, Cursor and other AI tools

    Community bergside