A flexible yet robust multi-agent platform with MCP integration, tools, workspaces, and long-term memory support
AgentScope has significant definition quality gaps. Of 13 tools, only 2 have complete input schemas visible (search_memory, add_memory). Most task/team/agent tools lack visible schema definitions in source, tool existence is inferred from file paths and minimal descriptions. Descriptions are present but generally short (under 100 chars) and lack LLM-specific guidance on WHEN to use each tool or HOW outputs chain to downstream calls. No parameter descriptions for most tools (TaskCreate, TaskList, TaskGet, TaskUpdate, ToolStop, TeamCreate, TeamSay, TeamDelete, AgentCreate, AgentInvoke lack any visible input schema). GenerateStructuredOutput has a vague schema ('Dynamically set based on the required schema') that doesn't document what fields are actually required. search_memory and add_memory have proper schemas and reasonable descriptions, but most other tools fall short of production standards. Error handling is not visible in source, no recovery guidance or categorization. Security patterns (permissions, audit) are not evident. Tool composition is weak: TaskCreate, TaskUpdate, and TaskGet operate on tasks but descriptions don't explain what fields are needed, how to identify a task, or what the response structure contains.
Create a new agent for team participation
Invite an agent to participate in a team
Generate the required structured output by this tool. This tool is equipped only when you're required to generate structured output. The input schema represents the required structured output. When you are ready to generate a structured output, call this tool with the structured output as input. When you're equipped this tool, you MUST end your response with calling this tool. Once this tool is called, your current response is finished and the structured output is sent to the user. # When to Use This Tool - When you collect enough resources and information.
Create a new task for planning
Get details of a specific task
List existing tasks
Update an existing task
11 of 13 tools lack visible input schemas. Tool registration is inferred from file paths and names alone; actual parameter definitions are not shown in source code.
Most tool descriptions are under 50 characters and lack guidance on WHEN to use the tool, WHAT parameters are needed, or HOW the response chains to downstream calls. LLMs cannot infer tool selection intent from 'Create a new task' or 'Send a message within a team'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 45 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 50 | 1.13+ | v1 |
Create a new team for multi-agent collaboration
Delete an existing team
Send a message within a team
Stop a background tool that is running
Record important, durable information that may be useful later. Only the provided content is persisted; thinking is retained in the tool result for auditability.
Retrieve memories based on short, targeted search keywords. Each keyword is issued as an independent query; results are merged and deduplicated.
GenerateStructuredOutput has a placeholder schema ('Dynamically set based on the required schema') that provides no actual structure validation. LLMs cannot determine valid field names, types, or required fields.
No parameter descriptions visible for task/team/agent tools. LLMs cannot determine what values each parameter accepts, whether they are IDs or names, or what constraints apply (e.g., max length, enum values).
No output schema documentation visible. LLMs cannot determine what fields TaskList returns, how to extract task IDs for downstream TaskGet/TaskUpdate calls, or what data structures to expect from team/agent operations.
Tool composition is unclear. It is not documented how TaskCreate output links to TaskGet input, or whether task_id or task_name is the canonical identifier. Same issue for Team and Agent tools.
No error handling guidance. No visible error classification (retryable vs fatal), recovery hints, or validation messages. LLMs will not know whether to retry a failed TaskCreate call or ask the user to correct input.
No visible permission gates or security scopes. Destructive operations like TeamDelete lack confirmation or permission checks in the documented interface.
Parameter naming is ambiguous for lookup operations. For example, TaskGet, TeamCreate, and AgentInvite descriptions do not specify whether to pass opaque IDs (task_123, team_456) or human-readable names (My Task, My Team). This forces LLMs to guess or make extra discovery calls.
TaskList and similar discovery tools lack pagination parameters (page, limit, offset, cursor) and response structure documentation. Returning unbounded lists risks context window exhaustion.