AI-company
BLOCKgrade F · trust 55/100Multi-agent team operating system for Claude Code. 108 MCP tools, 40+ agent templates, 10 lifecycle hooks, 7 pipeline workflows. Persistent teams, structured meetings, task wall, real-time React dashboard. No LangChain/AutoGen — pure CC native integration.
agent frameworkagent orchestrationai agentsautonomous agentsclaudeclaude codeclaude code plugindashboardOverview
From the repository's own README, as read at the audited commit.
[English](README.md) | [中文](README.zh-CN.md)# AI Team OS<!-- Logo placeholder --><!--  -->### Shared context, accountable work, native agents.AI Team OS is a shared operating layer for **Claude Code and Codex**. Keep tasks, project memory, reports and team messages in one place, and follow work across sessions in one Dashboard. Each host keeps its native agent tools; the OS provides the durable record that makes their work understandable and reusable.> 🤝 **Codex is supported.** Use Codex or Claude Code on its own, or connect both to the same OS task wall, project memory, reports, channels and Dashboard. Codex uses its own MCP and hook configuration; native agent tools, host settings and hook trust remain separate. See the installation and capability sections below for the per-host setup and boundaries.<!-- Keep the Codex compatibility note above across releases. For each release, replace the current-release announcement with that version's verified summary. Keep historical details in CHANGELOG.md. -->> ⚡ **v1.13.0 - Leaner instructions, honest MCP registration.** The instruction set shipped to Claude Code was audited line by line and cut to what a model would otherwise get wrong (role templates 167 KB to 17 KB); the plugin no longer force-loads all 116 tool schemas into every session; the source installer stops registering a second server next to an enabled plugin; and a read-only script reports drift in Codex-side installed hook copies. See the changelog for validation results and upgrade notes.>> Full version history: [CHANGELOG.md](CHANGELOG.md)[](https://python.org)[](LICENSE)[](https://fastapi.tiangolo.com)[](https://react.dev)[ 80 read · 33 write · 3 destructive
Blast radius: 3 tools can delete or overwrite. An agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
agent_activity_query | read | Query Agent activity records for a team. |
agent_list | read | List a team |
agent_reuse_recommend | read | Recommend whether to reuse an existing sub-agent for a follow-up task. |
agent_template_list | read | List every Agent template CC can actually resolve. |
agent_template_recommend | read | Recommend Agent templates — and, for a known project type, a team shape. |
agent_update_status | write | Update an Agent |
briefing_add | write | Add a decision item to Leader Briefing for user review. |
briefing_dismiss | read | Dismiss a Leader Briefing item (no action needed). |
briefing_list | read | List Leader Briefing items. Default shows pending items for user review. |
briefing_resolve | read | Resolve a Leader Briefing item with user |
channel_mentions | read | Get channel messages that mention a specific agent. |
channel_read | read | Read messages from a channel. |
channel_read_ack | read | 把某频道的已读水位推进到你**实际读到**的那一条,清掉对应未读。 |
channel_send | write | Send a message to a channel. |
channel_unread | read | 某读者在某项目下的逐频道未读计数(谁在叫你、有几条、最新一条讲什么)。 |
channel_wait | read | 等待指定对端的新消息:先补读,随后以 WebSocket 等待,不轮询模型。 |
context_resolve | read | Get the current active OS context — active project, active teams, member list. |
debate_code_review | write | Start a debate-style code review for a specific file or change. |
debate_start | write | Start a structured 4-round debate meeting between an Advocate and a Critic. |
decision_log | read | Query team decision log — task assignments, approach selections, Agent scheduling decisions. |
diagnose_task_failure | read | Auto-diagnose why a task failed and suggest fixes. |
dismiss_project_registration | read | Mark current cwd as dismissed for project registration — won |
ecosystem_apply_architecture_md | write | Stage 1 writeback — submit architecture_md OR report failure. |
ecosystem_apply_debate_result | write | Stage 2 writeback — submit debate conclusion to advance to ``debated``. |
ecosystem_apply_quality_review | write | Submit quality review result and release the claim lock. |
ecosystem_apply_shallow_summary | write | Stage 0 worker callback: write back a shallow summary OR report a failure. |
ecosystem_claim_review | read | Claim the next shallow_done repo for quality review. |
ecosystem_claim_shallow | read | Claim the next queued repo for shallow scanning (stage_status= |
ecosystem_deep_review_cancel | read | Cancel an in-flight (stage_status= |
ecosystem_deep_review_list | read | List deep-reviews newest-first, optionally filtered by status. |
ecosystem_deep_review_request | read | Queue a deep-review for a repo and return the dispatch prompt. |
ecosystem_deep_review_request_batch | read | Stage 1 — Queue architecture-analysis dispatches for tag-filtered candidates. |
ecosystem_deep_review_status | read | Look up the most recent deep-review for ``repo_id``. |
ecosystem_diff_period | read | Return a time-period diff computed dynamically from the event log (v1.6.0 event sourcing). |
ecosystem_index_diff_latest | read | Fetch the latest IndexDiff snapshot for the current project. |
ecosystem_index_update | write | Trigger ecosystem index update — runs scanner + computes diff. |
ecosystem_link_debate_meeting | read | Stage 2 helper — link ``debate_start`` meeting id back to review rows. |
ecosystem_link_integration_task | read | Stage 3 helper — link integration task id back to review row. |
ecosystem_mark_as_reference | write | Stage 3 reference path — add ``lifecycle:reference`` tag + advance to ``referenced``. |
ecosystem_quick_setup | write | One-shot ecosystem setup wizard — create data sources + scan profile in one call. |
ecosystem_rebuild_queries_from_repos | read | Return a recap of all search queries that have discovered repos in this project. |
ecosystem_refresh | read | On-demand incremental refresh of the project |
ecosystem_release_claim | read | Release a worker claim without submitting a quality review. |
ecosystem_repo_events | read | Return event history for a single ecosystem repo (v1.6.0 event sourcing). |
ecosystem_repo_get | read | Get holistic detail of an ecosystem repo (profile + tags + deep_reviews + relations + scan_run). |
ecosystem_repo_manual_status | destructive | Set (or clear) the human override on a repo |
ecosystem_repo_tags | read | List all tags currently associated with a single ecosystem repo. |
ecosystem_scan | write | Scan popular Claude ecosystem repos (>=min_stars) and update ecosystem_repo_profiles. |
ecosystem_scan_history | read | List recent scan runs ordered by started_at descending. |
ecosystem_scan_periodic | write | Run an incremental or full ecosystem scan via the scanner service. |
ecosystem_scan_status | read | Fetch a single EcosystemScanRun by id. |
ecosystem_search | read | Query ecosystem_repo_profiles archive (Stage E enhanced). |
ecosystem_search_by_capability | read | Search ecosystem repos by capability tags (reverse lookup from tag → repo). |
ecosystem_shallow_queue_status | read | Show Stage 0 shallow-scan queue status for the active project. |
ecosystem_start_integration | write | Stage 3 integrate path — build a task_create payload + tag the repo. |
ecosystem_summary_by_tag | read | List every repo carrying ``tag`` as a markdown table. |
ecosystem_summary_health | read | Platform self-check markdown: profile / scan / tag coverage / archive ratio. |
ecosystem_summary_top_n | read | Top-N markdown table of ecosystem repos. |
ecosystem_summary_weekly | read | Generate the past-N-days ecosystem briefing as markdown. |
ecosystem_tag_apply_batch | write | Apply Layer 1 + Layer 2 auto-tagging to a batch of ecosystem repos. |
ecosystem_tag_apply_llm_result | write | Submit Layer 3 LLM tagging result from a sub-agent. |
ecosystem_tag_dispatch_llm | read | Build a Layer 3 sub-agent dispatch plan for repos that need LLM fallback. |
ecosystem_tag_list | read | List ecosystem tag dictionary entries. |
ecosystem_trigger_debate | write | Stage 2 — Build debate dispatch payload (Leader still calls debate_start). |
event_list | read | List recent events in the system, optionally filtered. |
failure_analysis | read | Analyze failed tasks, distill defense rules + training cases + improvement proposals (failure alchemy). |
find_skill | read | Find ecosystem skills/plugins using a 3-layer progressive loading system. |
fleet_dispatch | read | Dispatch an operational instruction to another ship (CC session) in the fleet. |
link_query | read | Query cross-domain reference edges for an object (who references it / what it references). |
link_trace | read | Trace the reference neighborhood of an object (undirected fanout, depth <= 2). |
meeting_attendance_check | read | Check which expected participants have spoken in the current round. |
meeting_conclude | read | Conclude a meeting, marking it as completed. |
meeting_create | write | Create a team meeting and return a ready-to-use dispatch_plan for spawning participant Agents. |
meeting_list | read | List meetings for a team, optionally filtered by status. |
meeting_read_messages | read | Read all discussion messages in a meeting. |
meeting_send_message | write | Send a discussion message in a meeting. |
meeting_template_list | read | List available meeting templates and their round structures. |
meeting_update | write | Update meeting fields (topic, participants, notes). |
memory_add | write | Add a direction-layer memory — the team |
memory_invalidate | read | Invalidate a direction-layer memory — mark it invalid without deleting. |
memory_list | read | List direction-layer memories — valid entries by default, grouped by kind. |
memory_reconcile_apply | write | 按需整理·应用:批量执行 LLM 精判确认后的操作(确定性,幂等)。 |
memory_reconcile_candidates | read | 按需整理·粗筛:返回情景层候选组 + 方向层清单 + 蒸馏素材 + 操作说明。 |
memory_search | read | Search the memory store in AI Team OS. |
model_config_get | read | Get model governance state: available models (auto-discovered from |
model_config_set | write | Set the default startup model for new CC sessions (writes the |
os_health_check | read | Check the health status of the AI Team OS API service. |
os_restart_api | write | Restart the AI Team OS FastAPI process safely (standardized restart flow). |
project_create | write | Create a new project with a default Phase automatically created. |
project_delete | destructive | Delete a project. |
project_list | read | List all projects in the system. |
project_summary | read | Get a quick project summary: status (active/inactive), teams, top tasks. |
project_update | write | Update a project |
prompt_effectiveness | read | Return effectiveness statistics for Agent templates. |
report_list | read | List saved reports, optionally filtered by author, topic, or type. |
report_read | read | Read the full content of a saved report by ID. |
report_save | write | Save a research/analysis report to the database. |
task_create | write | Create a new task in a project (not bound to a team). |
task_execution_trace | read | Get a task |
task_list_project | read | Get the task wall — project-scoped by default, team-scoped on request. |
task_memo_add | write | Add a memo record to a task — for tracking progress, recording decisions, marking issues. |
task_memo_read | read | Read all memo records for a task — read before picking up a task to understand historical progress. |
task_run | write | Put a task on a team |
task_status | read | Query the current status of a task. |
task_update | write | Update a task |
team_briefing | read | Get a team panoramic briefing — understand full team status in one call. |
team_close | read | Close (complete) a team — sets team status to completed and marks all busy agents as offline. |
team_delete | destructive | Delete a team. team_id is REQUIRED — never auto-resolved. |
team_list | read | List teams — active ones by default, newest first. |
team_status | read | Get a team |
unified_search | read | Search across all OS knowledge: task memos, reports, and tasks. |
usage_attribution | read | Report token usage together with how much of it can actually be accounted for. |
verify_completion | read | Verify whether a task is truly complete. |
workflow_get | write | Get a Workflow run |
workflow_list | read | List CC ultracode/Workflow runs tracked by the OS observability layer. |
workflow_reconcile | read | Reconcile finished Workflow runs from disk into the OS (repair after OS was offline). |
Details
- Source
- CronusL-1141/AI-company
- npm
dashboard@0.0.0- PyPI
ai-team-os- Transports
- streamable-http
- Credentials it reads
API_KEYECOSYSTEM_KEYWORDS- License
- MIT
- Stars
- 361 · pushed 0d ago
Trust audit
Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (9 observation(s))
- Network
- declared (13 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
block_patterns = [".env", "id_rsa", ".pem", ".key"]
block_patterns = [".env", "id_rsa", ".pem", ".key"]
kw = random.choice(keywords)
"system prompt exfiltration (en)",
"system prompt exfiltration (zh)",
DEFAULT_API = "http://127.0.0.1:8000"
env = {**os.environ, "AITEAM_API_URL": f"http://127.0.0.1:{port}", "HOME": str(home)}BASE = sys.argv[2] if len(sys.argv) > 2 else "http://127.0.0.1:8010"
BASE = sys.argv[1] if len(sys.argv) > 1 else "http://127.0.0.1:8010"
secret = "/Users/private/secret"
"-----BEGIN RSA PRIVATE KEY-----",
ecosystem_repo_manual_status, project_delete, team_delete
.mcp.json.example
return importlib.import_module(mod_name)
return importlib.import_module(mod_name)
new Function('require', 'module', 'exports', output)((name) => {new Function('require', 'module', 'exports', code)((name) => {json={"name": "test", "mode": "eval(os.system('id'))"},if not eval(assertion, {"body": body}): # noqa: S307result = check_input("eval(compile('import os', '', 'exec'))")return hashlib.md5(normalized.encode()).hexdigest()[:12]
return hashlib.md5(normalized.encode()).hexdigest()[:12]
h = int(hashlib.md5(sid.encode()).hexdigest(), 16)
digest = hashlib.sha1(normalized.encode("utf-8")).hexdigest()[:16]kw = random.choice(keywords)
Gates applied: no_behavioural_pass.
Audited 2026-09-18 · audit v0.4.0 · source sha 6daa8c411038 · full audit: observations/trust-audit/mcp-server/cronusl-1141__ai-company.json · Report an issue or request a re-scan
Audit history
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-09-18 | 6daa8c411038 | BLOCK | F | 55 | first audit |
Alternatives
Other servers in the same categories, safer ones first.
Questions
What is the AI-company MCP server?
Multi-agent team operating system for Claude Code. 108 MCP tools, 40+ agent templates, 10 lifecycle hooks, 7 pipeline workflows. Persistent teams, structured meetings, task wall, real-time React dashboard. No LangChain/AutoGen — pure CC native integration.
What tools does AI-company expose?
116 in total: 80 read-only, 33 that write, and 3 that can delete or overwrite (ecosystem_repo_manual_status, project_delete, team_delete). Every one is listed on this page with its risk.
Is AI-company safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (55/100) and found 2 critical or high issues in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 3 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does AI-company need?
It reads API_KEY and ECOSYSTEM_KEYWORDS from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does AI-company run?
It speaks streamable-http, so it runs as a service you connect to over the network. It is published on npm as dashboard at 0.0.0.
How current is this page?
The grade is for one exact copy of the source (6daa8c411038), read on 2026-09-18. The repository is watched and re-audited when it changes.
Provenance: OBSERVED · read 2026-09-18 · job trust-audit-2026-09-18