Agentteam

by RichardLemmon

303 downloads
Not rated
GitHub

About

A reusable AI software development team built on MCP. 13 specialized agents (Project Manager, Backend, Frontend, QA, Security, DevOps, UX, and more) collaborate via shared SQLite state. Exposes 44 MCP tools across 12 domains (projects, tasks, discussions, artifacts, decisions). O

Details

Author
RichardLemmon
Downloads
303
Categories
Other

- 44 MCP tools across 12 domains (projects, tasks, discussions, etc.)
- Thirteen role-constrained AI agents collaborating in parallel
- Shared SQLite database persists all project state across sessions
- Project lifecycle: active → paused → archived → closed
- User journal captures decisions, preferences, and reasoning
- Token-efficient architecture with lazy-loaded team protocol

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Agentteam
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install the MCP server with one command: claude mcp add agent-team -- npx agent-team-mcp. Alternatively, edit your MCP config manually. The /team skill is installed automatically on first startup. Invoke with /team build me a REST API for task management or /team --projects to manage existing projects.

create_project

Create a new project with a name and description

get_project

Get a project by ID

update_project_status

Update the status of a project (active → paused → completed or archived)

list_projects

List all projects, optionally filtered by status

delete_project

Permanently delete a project and ALL associated data (tasks, work entries, discussions, artifacts, etc.). This is irreversible.

get_project_summary

Get the latest summary for a project

update_project_summary

Create a new versioned summary for a project

get_summary_version

Get a specific summary version by its ID

list_summary_history

List all summary versions for a project

add_team_member

Add a team member to a project with a role

remove_team_member

Remove a team member from a project (soft delete)

list_team_members

List team members for a project, optionally including removed members

create_task

Create a new task in a project

update_task

Update a task's status, description, or assignee

get_task

Get a task by ID

list_tasks

List tasks for a project, optionally filtered by assignee or status

log_work

Log a work entry for a task by a team member

get_my_work

Get work entries for a team member, optionally filtered by task

get_work_history

Get all work entries for a member within a project

add_task_comment

Add a comment to a task

list_task_comments

List all comments on a task

list_my_comments

List all comments made by a member within a project

create_discussion

Create a new discussion thread in a project

add_discussion_participant

Add a participant to an existing discussion

add_discussion_message

Post a message to a discussion (participant must already be in the discussion)

update_discussion_summary

Update the summary of a discussion

get_discussion

Get a discussion including its participants and messages

list_discussions

List discussions in a project, optionally filtered by participant

log_decision

Log a decision made within a project

list_decisions

List all decisions for a project

get_decision

Get a decision by ID

get_team_protocol

Returns the shared team protocol, constraints, and efficiency rules that all specialist agents must follow. Call this once on startup.

get_orchestration_instructions

Returns step-by-step instructions for how to orchestrate an AgentTeam. Call this FIRST when a user asks to spin up a team, build something with the team, or use AgentTeam. The instructions explain the full pipeline: spawning the PM, parsing the dispatch manifest, launching specialists, handling user questions and expansion requests.

get_agent_prompt

Returns the prompt file for a specific agent role. Use this to load agent identity prompts before spawning specialists. Valid roles: project-manager, product-manager, ux-ui-designer, ux-researcher, frontend-developer, backend-developer, full-stack-developer, mobile-developer, devops-engineer, qa-engineer, security-engineer, data-engineer, data-scientist.

share_artifact

Share an artifact (document, code, etc.) within a project. Research artifacts must use structured JSON: { "summary": "one sentence", "findings": [{ "claim": "...", "evidence": "url or source", "confidence": "high|medium|low" }], "recommendations": ["..."], "blockers": ["..."], "open_questions": ["..."] }. Code artifacts are exempt — use the appropriate file format.

update_artifact

Update the content or title of a shared artifact

list_artifacts

List shared artifacts in a project, optionally filtered by type

get_artifact

Get a shared artifact by ID

log_journal_entry

Log a user-facing journal entry — captures decisions, preferences, and reasoning from conversations that would otherwise be lost. project_id is optional; omit it for general cross-project conversations.

list_journal_entries

List journal entries in chronological order. Optionally filter by project_id; omit to list all entries across all projects.

ask_user_question

Log a question for the user. The orchestrating skill will surface it after dispatch. Include context about why this question matters or what is blocked.

list_user_questions

List questions logged by specialists for the user. Filter by status (pending, answered) to find unanswered questions.

answer_user_question

Write the user's answer to a previously asked question

request_team_expansion

Request additional team members when your assigned work grows beyond expected scope. The PM will evaluate and approve or deny.

list_expansion_requests

List team expansion requests for a project, optionally filtered by status (pending, approved, denied)

resolve_expansion_request

Approve or deny a team expansion request (PM only)

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "agentteam": {
            "agent-team": {
                "command": "npx",
                "args": [
                    "agent-team-mcp"
                ]
            }
        }
    }
}

McpServers

{
    "agent-team": {
        "command": "npx",
        "args": [
            "agent-team-mcp"
        ]
    }
}

AgentTeam

AgentTeam is a reusable AI software development team built on the Model Context Protocol (MCP). Thirteen specialized agents — Product Manager, Project Manager, UX Researcher, UX/UI Designer, Frontend, Backend, Full-Stack, Mobile, DevOps, QA, Security, Data Engineer, and Data Scientist — collaborate on software projects through a shared SQLite database, each constrained strictly to their role.

The Project Manager orchestrates: it creates the project, recruits the specialists it needs, breaks work into tasks, and returns a dispatch manifest — a JSON array that the calling session uses to spawn each specialist as an independent parallel agent. Specialists read the project summary on joining, log their work and decisions as they go, and share structured research artifacts so no agent re-researches what another has already found.

All project state is persisted in SQLite (44 MCP tools across 12 domains: projects, summaries, team members, tasks, work entries, task comments, discussions, decisions, artifacts, and a user journal). Projects are UUID-scoped and lifecycle-managed (active → paused → archived → closed), so teams can pause and resume work across sessions without losing context.

Designed to be called from any Claude Code project via MCP — point your claude_desktop_config.json at the server and any project can spin up a full team.

User Journal

As the team works, the Project Manager captures your decisions, preferences, and reasoning from the conversation into a persistent user journal — things like devices considered and rejected, cost constraints, form factor preferences, and next-step intentions. These are stored as structured entries scoped to the project (or globally, for cross-project preferences) and reviewed at close-out so nothing important is lost between sessions. The journal is queryable via list_journal_entries so future agents can read what past conversations established before starting new work.

---

Project Structure

AgentTeam/
├── agents/               # Agent prompt files — one per role
│   ├── _base-protocol.md # Shared team protocol, constraints, efficiency rules
│   ├── project-manager.md
│   ├── product-manager.md
│   ├── backend-developer.md
│   └── ...
├── mcp-server/           # TypeScript MCP server
│   └── src/
│       ├── index.ts      # Server entry — all 44 tools registered
│       ├── db/
│       │   ├── schema.ts # Table definitions and migrations
│       │   └── connection.ts
│       └── tools/        # One file per domain
└── docs/                 # Design specs and reference guides

MCP Tool Domains

| Domain | Tools |
|---|---|
| Projects | create_project, get_project, update_project_status, list_projects, delete_project |
| Summaries | update_project_summary, get_project_summary, get_summary_version, list_summary_history |
| Team Members | add_team_member, remove_team_member, list_team_members |
| Tasks | create_task, update_task, get_task, list_tasks |
| Work Entries | log_work, get_my_work, get_work_history |
| Task Comments | add_task_comment, list_task_comments, list_my_comments |
| Discussions | create_discussion, add_discussion_participant, add_discussion_message, update_discussion_summary, get_discussion, list_discussions |
| Decisions | log_decision, list_decisions, get_decision |
| Artifacts | share_artifact, update_artifact, list_artifacts, get_artifact |
| Team Protocol | get_team_protocol |
| User Journal | log_journal_entry, list_journal_entries |
| User Questions | ask_user_question, list_user_questions, answer_user_question |
| Expansion Requests | request_team_expansion, list_expansion_requests, resolve_expansion_request |

Getting Started

1. Install the MCP server

One command (recommended):

claude mcp add agent-team -- npx agent-team-mcp

That's it. Claude Code will launch the server automatically, and the /team skill is installed globally on first run.

Or manually edit your MCP config (~/.claude/settings.json or project .claude/settings.json):

{
  "mcpServers": {
    "agent-team": {
      "command": "npx",
      "args": ["agent-team-mcp"]
    }
  }
}

Or from a local clone:

git clone https://github.com/RichardLemmon/AgentTeam.git
cd AgentTeam/mcp-server
npm install
npm run build
claude mcp add agent-team -- node /path/to/AgentTeam/mcp-server/dist/index.js

Token-Efficient Architecture

Agent prompt files contain only the role-specific Identity section (~100 words each). Shared team protocol, constraints, and efficiency rules live in a single agents/_base-protocol.md file, served on demand via the get_team_protocol MCP tool. This lazy-loading approach saves ~6,000 words of context when spawning a full team compared to duplicating the protocol in every agent file. The artifact JSON schema is embedded in the share_artifact tool description so agents discover it from the tool itself.

2. Use it

The /team skill is automatically installed to ~/.claude/skills/agent-team/ on first server startup. Just type:

/team build me a REST API for task management

Or use /team with no arguments to see your existing projects and pick one to work on.

Quick Start

With the /team skill (Claude Code):

/team build me a REST API for task management

Without the skill:

"Spin up the Project Manager and ask them to investigate [subject]"

Manage projects:

/team --projects              # list all projects
/team --projects active       # filter by status
/team --projects delete <name> # delete a project

How It Works

1. PM sets up the project — creates the project record, recruits the specialists it needs, creates tasks, writes the project summary, and returns a dispatch manifest.
2. Calling session spawns specialists — each specialist in the manifest is launched as an independent agent with its project_id and member_id.
3. Specialists work in parallel — each reads the project summary, logs work entries, shares artifacts, and communicates via task comments and discussions.
4. State persists across sessions — any agent can rejoin a project by reading the current summary and picking up where the team left off.
5. PM closes out — on completion, the PM writes a close-out summary and logs key user decisions and preferences to the journal for future reference.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.