Skip to content

Commit f653afe

Browse files
committed
docs: fix 30 documentation inaccuracies found by source code audit
- configuration.md: fix networkMode PRIVATE→VPC, remove stale mcp.json section, add 7 missing AgentEnvSpec fields, add Node.js runtimes, fix gateway name max 63→100, list all 6 targetType values, fix memory strategies wording, fix deployed-state.json path, add missing project fields, fix CUSTOM_JWT field requirements, add customClaims field - README.md: add CrewAI framework, update all 4 default model IDs, add missing command sections - frameworks.md: add CrewAI with model providers, add protocol compatibility matrix (HTTP/MCP/A2A) - commands.md: fix agent name max 64→48 chars, add fetch access section, add policy-engine/policy to status --type, remove ghost --tool-filter-description flag, fix model ID date - gateway.md: add enableSemanticSearch/exceptionLevel config options, fix mcp.json→agentcore.json, remove api-key from MCP Server auth - transaction_search.md: fix traces command syntax - container-builds.md: remove nonexistent --progress flag - evals.md: fix model date 20250929→20250514 - local-development.md: fix mcp.json→agentcore.json - AGENTS.md: remove AutoGen, remove stale mcp.json reference - src/assets/README.md: add CrewAI to template list - src/assets/agents/AGENTS.md: remove AutoGen Constraint: All fixes verified against Zod schemas and CLI runtime Constraint: CLI --help text bugs left for separate agent Confidence: high Scope-risk: narrow
1 parent cb26199 commit f653afe

12 files changed

Lines changed: 174 additions & 96 deletions

AGENTS.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ Note: CDK L3 constructs are in a separate package `@aws/agentcore-cdk`.
4545

4646
### Agent Types
4747

48-
- **Template agents**: Created from framework templates (Strands, LangChain_LangGraph, CrewAI, GoogleADK, OpenAIAgents,
49-
AutoGen)
48+
- **Template agents**: Created from framework templates (Strands, LangChain_LangGraph, CrewAI, GoogleADK, OpenAIAgents)
5049
- **BYO agents**: Bring your own code with `agentcore add agent --type byo`
5150
- **Imported agents**: Import from Bedrock Agents with `agentcore add agent --type import`
5251

@@ -60,7 +59,7 @@ Note: CDK L3 constructs are in a separate package `@aws/agentcore-cdk`.
6059

6160
All resource types (agent, memory, identity, evaluator, online-eval, gateway, mcp-tool) are modeled as **primitives** --
6261
self-contained classes in `src/cli/primitives/` that own the full add/remove lifecycle for their resource type.
63-
Resources support config-driven tagging via `agentcore.json` and `mcp.json`, with tags flowing through to deployed
62+
Resources support config-driven tagging via `agentcore.json`, with tags flowing through to deployed
6463
CloudFormation resources.
6564

6665
Each primitive extends `BasePrimitive` and implements: `add()`, `remove()`, `previewRemove()`, `getRemovable()`,

README.md

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -60,17 +60,18 @@ agentcore invoke
6060
| ------------------- | ----------------------------- |
6161
| Strands Agents | AWS-native, streaming support |
6262
| LangChain/LangGraph | Graph-based workflows |
63+
| CrewAI | Multi-agent orchestration |
6364
| Google ADK | Gemini models only |
6465
| OpenAI Agents | OpenAI models only |
6566

6667
## Supported Model Providers
6768

68-
| Provider | API Key Required | Default Model |
69-
| -------------- | ------------------------- | ----------------------------- |
70-
| Amazon Bedrock | No (uses AWS credentials) | claude-sonnet-4-5-20250929-v1 |
71-
| Anthropic | Yes | claude-sonnet-4-5-20250929 |
72-
| Google Gemini | Yes | gemini-2.5-flash |
73-
| OpenAI | Yes | gpt-4o |
69+
| Provider | API Key Required | Default Model |
70+
| -------------- | ------------------------- | ------------------------------------------------ |
71+
| Amazon Bedrock | No (uses AWS credentials) | us.anthropic.claude-sonnet-4-5-20250514-v1:0 |
72+
| Anthropic | Yes | claude-sonnet-4-5-20250514 |
73+
| Google Gemini | Yes | gemini-2.5-flash |
74+
| OpenAI | Yes | gpt-4.1 |
7475

7576
## Commands
7677

@@ -92,16 +93,35 @@ agentcore invoke
9293

9394
> **Note**: Run `agentcore deploy` after `add` or `remove` to update resources in AWS.
9495
96+
### Observability
97+
98+
| Command | Description |
99+
| -------------- | ---------------------------------------- |
100+
| `logs` | Stream or search agent runtime logs |
101+
| `traces list` | List recent traces for a deployed agent |
102+
| `traces get` | Download a trace to a JSON file |
103+
| `status` | Show deployed resource details |
104+
95105
### Evaluations
96106

97107
| Command | Description |
98108
| -------------------- | --------------------------------------------- |
99109
| `add evaluator` | Add a custom LLM-as-a-Judge evaluator |
100-
| `add online-eval` | Add continuous evaluation for live traffic |
101-
| `run eval` | Run on-demand evaluation against agent traces |
102-
| `evals history` | View past eval run results |
103-
| `pause online-eval` | Pause a deployed online eval config |
104-
| `resume online-eval` | Resume a paused online eval config |
110+
| `add online-eval` | Add continuous evaluation for live traffic |
111+
| `run eval` | Run on-demand evaluation against agent traces |
112+
| `evals history` | View past eval run results |
113+
| `pause online-eval` | Pause a deployed online eval config |
114+
| `resume online-eval` | Resume a paused online eval config |
115+
| `logs evals` | Stream or search online eval logs |
116+
117+
### Utilities
118+
119+
| Command | Description |
120+
| -------------- | ---------------------------------------- |
121+
| `validate` | Validate configuration files |
122+
| `package` | Package agent artifacts without deploying|
123+
| `fetch access` | Fetch access info for deployed resources |
124+
| `update` | Check for and install CLI updates |
105125

106126
## Project Structure
107127

docs/commands.md

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ agentcore status --json
130130
| ------------------------- | ----------------------------------------------------------------------------------------------- |
131131
| `--agent-runtime-id <id>` | Look up a specific agent runtime by ID |
132132
| `--target <name>` | Select deployment target |
133-
| `--type <type>` | Filter by resource type: `agent`, `memory`, `credential`, `gateway`, `evaluator`, `online-eval` |
133+
| `--type <type>` | Filter by resource type: `agent`, `memory`, `credential`, `gateway`, `evaluator`, `online-eval`, `policy-engine`, `policy` |
134134
| `--state <state>` | Filter by deployment state: `deployed`, `local-only`, `pending-removal` |
135135
| `--agent <name>` | Filter to a specific agent |
136136
| `--json` | JSON output |
@@ -195,7 +195,7 @@ agentcore add agent \
195195

196196
| Flag | Description |
197197
| ------------------------- | -------------------------------------------------------------------------------- |
198-
| `--name <name>` | Agent name (alphanumeric, starts with letter, max 64 chars) |
198+
| `--name <name>` | Agent name (alphanumeric + underscore, starts with letter, max 48 chars) |
199199
| `--type <type>` | `create` (default), `byo`, or `import` |
200200
| `--build <type>` | `CodeZip` (default) or `Container` (see [Container Builds](container-builds.md)) |
201201
| `--language <lang>` | `Python` (create); `Python`, `TypeScript`, `Other` (BYO) |
@@ -351,7 +351,6 @@ agentcore add gateway-target \
351351
| `--stage <stage>` | API Gateway stage name (api-gateway) |
352352
| `--tool-filter-path <path>` | Filter API paths, supports wildcards (api-gateway) |
353353
| `--tool-filter-methods <methods>` | Comma-separated HTTP methods to expose (api-gateway) |
354-
| `--tool-filter-description <desc>` | Tool filter description pattern |
355354
| `--schema <path>` | Path to schema file, relative to project root (open-api-schema, smithy-model) |
356355
| `--schema-s3-account <account>` | AWS account for S3-hosted schema (open-api-schema, smithy-model) |
357356
| `--lambda-arn <arn>` | Lambda function ARN (lambda-function-arn) |
@@ -401,7 +400,7 @@ Add a custom LLM-as-a-Judge evaluator. See [Evaluations](evals.md) for full deta
401400
agentcore add evaluator \
402401
--name ResponseQuality \
403402
--level SESSION \
404-
--model us.anthropic.claude-sonnet-4-5-20250929-v1:0 \
403+
--model us.anthropic.claude-sonnet-4-5-20250514-v1:0 \
405404
--instructions "Evaluate the response quality. Context: {context}" \
406405
--rating-scale 1-5-quality
407406
```
@@ -683,6 +682,23 @@ agentcore logs evals --follow --json
683682

684683
## Utilities
685684

685+
### fetch access
686+
687+
Fetch access info (URL, token, auth guidance) for a deployed gateway or agent.
688+
689+
```bash
690+
agentcore fetch access
691+
agentcore fetch access --name MyGateway --type gateway --json
692+
agentcore fetch access --name MyAgent --type agent --target staging
693+
```
694+
695+
| Flag | Description |
696+
| ----------------- | ----------------------------------------------- |
697+
| `--name <name>` | Gateway or agent name |
698+
| `--type <type>` | Resource type: `gateway` (default) or `agent` |
699+
| `--target <name>` | Deployment target |
700+
| `--json` | JSON output |
701+
686702
### package
687703

688704
Package agent artifacts without deploying.

docs/configuration.md

Lines changed: 57 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@ AgentCore projects use JSON configuration files in the `agentcore/` directory.
44

55
## Files Overview
66

7-
| File | Purpose |
8-
| --------------------- | ---------------------------------------------------------------- |
9-
| `agentcore.json` | Project, agents, memories, credentials, evaluators, online evals |
10-
| `mcp.json` | Gateways, gateway targets, and MCP tools |
11-
| `aws-targets.json` | Deployment targets |
12-
| `deployed-state.json` | Runtime state (auto-managed, do not edit) |
13-
| `.env.local` | API keys for local development (gitignored) |
7+
| File | Purpose |
8+
| -------------------------- | ----------------------------------------------------------------------------- |
9+
| `agentcore.json` | Project, agents, memories, credentials, evaluators, online evals, gateways |
10+
| `aws-targets.json` | Deployment targets |
11+
| `.cli/deployed-state.json` | Runtime state (auto-managed, do not edit) |
12+
| `.env.local` | API keys for local development (gitignored) |
1413

1514
---
1615

@@ -22,50 +21,29 @@ Main project configuration using a **flat resource model**. Agents, memories, an
2221
{
2322
"name": "MyProject",
2423
"version": 1,
24+
"tags": {
25+
"agentcore:created-by": "agentcore-cli",
26+
"agentcore:project-name": "MyProject"
27+
},
2528
"agents": [
2629
{
2730
"type": "AgentCoreRuntime",
2831
"name": "MyAgent",
2932
"build": "CodeZip",
3033
"entrypoint": "main.py",
3134
"codeLocation": "app/MyAgent/",
32-
"runtimeVersion": "PYTHON_3_12"
33-
}
34-
],
35-
"memories": [
36-
{
37-
"type": "AgentCoreMemory",
38-
"name": "MyMemory",
39-
"eventExpiryDuration": 30,
40-
"strategies": [{ "type": "SEMANTIC" }]
41-
}
42-
],
43-
"credentials": [
44-
{
45-
"type": "ApiKeyCredentialProvider",
46-
"name": "OpenAI"
47-
}
48-
],
49-
"evaluators": [
50-
{
51-
"type": "CustomEvaluator",
52-
"name": "ResponseQuality",
53-
"level": "SESSION",
54-
"config": {
55-
"llmAsAJudge": {
56-
"model": "us.anthropic.claude-sonnet-4-5-20250929-v1:0",
57-
"instructions": "Evaluate the response quality. Context: {context}",
58-
"ratingScale": {
59-
"numerical": [
60-
{ "value": 1, "label": "Poor", "definition": "Fails to meet expectations" },
61-
{ "value": 5, "label": "Excellent", "definition": "Far exceeds expectations" }
62-
]
63-
}
64-
}
65-
}
35+
"runtimeVersion": "PYTHON_3_12",
36+
"networkMode": "PUBLIC",
37+
"modelProvider": "Bedrock",
38+
"protocol": "HTTP"
6639
}
6740
],
68-
"onlineEvalConfigs": []
41+
"memories": [],
42+
"credentials": [],
43+
"evaluators": [],
44+
"onlineEvalConfigs": [],
45+
"agentCoreGateways": [],
46+
"policyEngines": []
6947
}
7048
```
7149

@@ -81,8 +59,12 @@ Main project configuration using a **flat resource model**. Agents, memories, an
8159
| `credentials` | Yes | Array of credential providers (API key or OAuth) |
8260
| `evaluators` | Yes | Array of custom evaluator definitions |
8361
| `onlineEvalConfigs` | Yes | Array of online eval configurations |
62+
| `policyEngines` | No | Array of policy engine configurations |
63+
| `agentCoreGateways` | No | Array of gateway definitions |
64+
| `mcpRuntimeTools` | No | Array of MCP runtime tool definitions |
65+
| `unassignedTargets` | No | Targets not yet assigned to a gateway |
8466

85-
> Gateway configuration is stored separately in `mcp.json`. See [mcp.json](#mcpjson) below.
67+
> Gateway configuration is in the `agentCoreGateways` field. See [Gateways and MCP Tools](#gateways-and-mcp-tools) below.
8668
8769
---
8870

@@ -204,9 +186,17 @@ on the next deployment.
204186
| `entrypoint` | Yes | Entry file (e.g., `main.py` or `main.py:handler`) |
205187
| `codeLocation` | Yes | Directory containing agent code |
206188
| `runtimeVersion` | Yes | Runtime version (see below) |
207-
| `networkMode` | No | `"PUBLIC"` (default) or `"PRIVATE"` |
189+
| `networkMode` | No | `"PUBLIC"` (default) or `"VPC"` |
190+
| `networkConfig` | No | VPC configuration (subnets, security groups) |
191+
| `protocol` | No | `"HTTP"` (default), `"MCP"`, or `"A2A"` |
192+
| `modelProvider` | No | `"Bedrock"`, `"Anthropic"`, `"OpenAI"`, `"Gemini"` |
208193
| `envVars` | No | Custom environment variables |
209194
| `instrumentation` | No | OpenTelemetry settings |
195+
| `authorizerType` | No | `"AWS_IAM"` or `"CUSTOM_JWT"` |
196+
| `authorizerConfiguration` | No | JWT authorizer settings (for `CUSTOM_JWT`) |
197+
| `requestHeaderAllowlist` | No | Headers to forward to the agent |
198+
| `lifecycleConfiguration` | No | Runtime session lifecycle settings (idle timeout, max lifetime) |
199+
| `tags` | No | Agent-level tags |
210200

211201
### Runtime Versions
212202

@@ -217,6 +207,12 @@ on the next deployment.
217207
- `PYTHON_3_12`
218208
- `PYTHON_3_13`
219209

210+
**Node.js:**
211+
212+
- `NODE_18`
213+
- `NODE_20`
214+
- `NODE_22`
215+
220216
---
221217

222218
## Memory Resource
@@ -235,7 +231,7 @@ on the next deployment.
235231
| `type` | Yes | Always `"AgentCoreMemory"` |
236232
| `name` | Yes | Memory name (1-48 chars) |
237233
| `eventExpiryDuration` | Yes | Days until events expire (7-365) |
238-
| `strategies` | Yes | Array of memory strategies (at least 1) |
234+
| `strategies` | Yes | Array of memory strategies (can be empty for short-term memory) |
239235

240236
### Memory Strategies
241237

@@ -244,6 +240,7 @@ on the next deployment.
244240
| `SEMANTIC` | Vector-based similarity search for relevant context |
245241
| `SUMMARIZATION` | Compressed conversation history |
246242
| `USER_PREFERENCE` | Store user-specific preferences and settings |
243+
| `EPISODIC` | Capture and reflect on meaningful interaction episodes |
247244

248245
Strategy configuration:
249246

@@ -312,7 +309,7 @@ See [Evaluations](evals.md) for the full guide.
312309
"description": "Evaluate response quality",
313310
"config": {
314311
"llmAsAJudge": {
315-
"model": "us.anthropic.claude-sonnet-4-5-20250929-v1:0",
312+
"model": "us.anthropic.claude-sonnet-4-5-20250514-v1:0",
316313
"instructions": "Evaluate the response quality. Context: {context}",
317314
"ratingScale": {
318315
"numerical": [
@@ -382,12 +379,15 @@ See [Evaluations](evals.md) for the full guide.
382379

383380
---
384381

385-
## mcp.json
382+
## Gateways and MCP Tools
386383

387-
Gateway and MCP tool configuration. Gateways, their targets, and standalone MCP runtime tools are defined here.
384+
Gateway and MCP tool configuration is part of `agentcore.json` (in the `agentCoreGateways`, `mcpRuntimeTools`, and `unassignedTargets` fields).
388385

389386
```json
390387
{
388+
"name": "MyProject",
389+
"version": 1,
390+
"agents": [...],
391391
"agentCoreGateways": [
392392
{
393393
"name": "MyGateway",
@@ -401,23 +401,15 @@ Gateway and MCP tool configuration. Gateways, their targets, and standalone MCP
401401
}
402402
]
403403
}
404-
],
405-
"unassignedTargets": []
404+
]
406405
}
407406
```
408407

409-
### Top-Level Fields
410-
411-
| Field | Required | Description |
412-
| ------------------- | -------- | ------------------------------------- |
413-
| `agentCoreGateways` | Yes | Array of gateway definitions |
414-
| `unassignedTargets` | No | Targets not yet assigned to a gateway |
415-
416408
### Gateway
417409

418410
| Field | Required | Description |
419411
| ------------------------- | -------- | ------------------------------------------------------------ |
420-
| `name` | Yes | Gateway name (alphanumeric, hyphens, 1-63 chars) |
412+
| `name` | Yes | Gateway name (alphanumeric, hyphens, 1-100 chars) |
421413
| `description` | No | Gateway description |
422414
| `targets` | Yes | Array of gateway targets |
423415
| `authorizerType` | No | `"NONE"` (default), `"AWS_IAM"`, or `"CUSTOM_JWT"` |
@@ -442,9 +434,12 @@ Gateway and MCP tool configuration. Gateways, their targets, and standalone MCP
442434
| Field | Required | Description |
443435
| ----------------- | -------- | ---------------------------------------------------------------------- |
444436
| `discoveryUrl` | Yes | OIDC discovery URL (must end with `/.well-known/openid-configuration`) |
445-
| `allowedAudience` | Yes | Array of allowed audience values |
446-
| `allowedClients` | Yes | Array of allowed client IDs (at least 1) |
447-
| `allowedScopes` | No | Array of allowed scopes |
437+
| `allowedAudience` | Cond. | Array of allowed audience values |
438+
| `allowedClients` | Cond. | Array of allowed client IDs |
439+
| `allowedScopes` | Cond. | Array of allowed scopes |
440+
| `customClaims` | Cond. | Custom claims for JWT validation |
441+
442+
> At least one of `allowedAudience`, `allowedClients`, `allowedScopes`, or `customClaims` must be provided.
448443
449444
### Gateway Target
450445

@@ -479,7 +474,7 @@ implementations.
479474
| Field | Required | Description |
480475
| ----------------- | -------- | -------------------------------------------------------------------- |
481476
| `name` | Yes | Target name |
482-
| `targetType` | Yes | `"mcpServer"` or `"lambda"` |
477+
| `targetType` | Yes | `"mcpServer"`, `"lambda"`, `"openApiSchema"`, `"smithyModel"`, `"apiGateway"`, or `"lambdaFunctionArn"` |
483478
| `endpoint` | Cond. | MCP server URL (required for external `mcpServer` targets) |
484479
| `compute` | Cond. | Compute configuration (required for `lambda` and scaffolded targets) |
485480
| `toolDefinitions` | Cond. | Array of tool definitions (required for `lambda` targets) |

docs/container-builds.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ AWS credentials are forwarded automatically (environment variables and `~/.aws`
8787

8888
```bash
8989
agentcore package # Build image locally, validate < 1 GB
90-
agentcore deploy -y --progress # Build via CodeBuild, push to ECR
90+
agentcore deploy -y # Build via CodeBuild, push to ECR
9191
```
9292

9393
Local packaging validates the image size (1 GB limit). If no local runtime is available, packaging is skipped and

0 commit comments

Comments
 (0)