@@ -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
@@ -314,7 +310,7 @@ See [Evaluations](evals.md) for the full guide.
314310 "description" : " Evaluate response quality" ,
315311 "config" : {
316312 "llmAsAJudge" : {
317- "model" : " us.anthropic.claude-sonnet-4-5-20250929 -v1:0" ,
313+ "model" : " us.anthropic.claude-sonnet-4-5-20250514 -v1:0" ,
318314 "instructions" : " Evaluate the response quality. Context: {context}" ,
319315 "ratingScale" : {
320316 "numerical" : [
@@ -384,12 +380,15 @@ See [Evaluations](evals.md) for the full guide.
384380
385381---
386382
387- ## mcp.json
383+ ## Gateways and MCP Tools
388384
389- Gateway and MCP tool configuration. Gateways, their targets, and standalone MCP runtime tools are defined here .
385+ Gateway and MCP tool configuration is part of ` agentcore.json ` (in the ` agentCoreGateways ` , ` mcpRuntimeTools ` , and ` unassignedTargets ` fields) .
390386
391387``` json
392388{
389+ "name" : " MyProject" ,
390+ "version" : 1 ,
391+ "agents" : [... ],
393392 "agentCoreGateways" : [
394393 {
395394 "name" : " MyGateway" ,
@@ -403,23 +402,15 @@ Gateway and MCP tool configuration. Gateways, their targets, and standalone MCP
403402 }
404403 ]
405404 }
406- ],
407- "unassignedTargets" : []
405+ ]
408406}
409407```
410408
411- ### Top-Level Fields
412-
413- | Field | Required | Description |
414- | ------------------- | -------- | ------------------------------------- |
415- | ` agentCoreGateways ` | Yes | Array of gateway definitions |
416- | ` unassignedTargets ` | No | Targets not yet assigned to a gateway |
417-
418409### Gateway
419410
420411| Field | Required | Description |
421412| ------------------------- | -------- | ------------------------------------------------------------ |
422- | ` name ` | Yes | Gateway name (alphanumeric, hyphens, 1-63 chars) |
413+ | ` name ` | Yes | Gateway name (alphanumeric, hyphens, 1-100 chars) |
423414| ` description ` | No | Gateway description |
424415| ` targets ` | Yes | Array of gateway targets |
425416| ` authorizerType ` | No | ` "NONE" ` (default), ` "AWS_IAM" ` , or ` "CUSTOM_JWT" ` |
@@ -444,9 +435,12 @@ Gateway and MCP tool configuration. Gateways, their targets, and standalone MCP
444435| Field | Required | Description |
445436| ----------------- | -------- | ---------------------------------------------------------------------- |
446437| ` discoveryUrl ` | Yes | OIDC discovery URL (must end with ` /.well-known/openid-configuration ` ) |
447- | ` allowedAudience ` | Yes | Array of allowed audience values |
448- | ` allowedClients ` | Yes | Array of allowed client IDs (at least 1) |
449- | ` allowedScopes ` | No | Array of allowed scopes |
438+ | ` allowedAudience ` | Cond. | Array of allowed audience values |
439+ | ` allowedClients ` | Cond. | Array of allowed client IDs |
440+ | ` allowedScopes ` | Cond. | Array of allowed scopes |
441+ | ` customClaims ` | Cond. | Custom claims for JWT validation |
442+
443+ > At least one of ` allowedAudience ` , ` allowedClients ` , ` allowedScopes ` , or ` customClaims ` must be provided.
450444
451445### Gateway Target
452446
@@ -481,7 +475,7 @@ implementations.
481475| Field | Required | Description |
482476| ----------------- | -------- | -------------------------------------------------------------------- |
483477| ` name ` | Yes | Target name |
484- | ` targetType ` | Yes | ` "mcpServer" ` or ` "lambda" ` |
478+ | ` targetType ` | Yes | ` "mcpServer" ` , ` "lambda" ` , ` "openApiSchema" ` , ` "smithyModel" ` , ` "apiGateway" ` , or ` "lambdaFunctionArn" ` |
485479| ` endpoint ` | Cond. | MCP server URL (required for external ` mcpServer ` targets) |
486480| ` compute ` | Cond. | Compute configuration (required for ` lambda ` and scaffolded targets) |
487481| ` toolDefinitions ` | Cond. | Array of tool definitions (required for ` lambda ` targets) |
0 commit comments