Version 4.43 or later needs to be installed to add the server automatically
Use cases
About
Manage applications powered by AWS AppSync.
| Attribute | Details |
|---|---|
| Docker Image | mcp/aws-appsync-mcp-server |
| Author | awslabs |
| Repository | https://github.com/awslabs/mcp |
| Attribute | Details |
|---|---|
| Dockerfile | https://github.com/awslabs/mcp/blob/636aca8e109b5559006044f035bb89c16e9e5410/src/aws-appsync-mcp-server/Dockerfile |
| Commit | 636aca8e109b5559006044f035bb89c16e9e5410 |
| Docker Image built by | Docker Inc. |
| Docker Scout Health Score | |
| Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/aws-appsync-mcp-server --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
| Licence | Apache License 2.0 |
| Tools provided by this Server | Short Description |
|---|---|
create_api | Create AppSync API |
create_api_cache | Create API Cache |
create_api_key | Create API Key |
create_channel_namespace | Create Channel Namespace |
create_datasource | Create Data Source |
create_domain_name | Create Domain Name |
create_function | Create Function |
create_graphql_api | Create GraphQL API |
create_resolver | Create Resolver |
create_schema | Create Schema |
create_apiCreates a new AppSync API.
This operation creates a new AppSync API with the specified configuration.
The API will be created with default settings and can be further configured
using additional AppSync operations.
| Parameters | Type | Description |
|---|---|---|
name | string | The name of the API |
event_config | stringoptional | The event configuration for the API |
owner_contact | stringoptional | The owner contact information for the API |
tags | stringoptional | A map of tags to assign to the resource |
create_api_cacheCreates a cache for the GraphQL API.
This operation creates an API cache for the specified GraphQL API. Caching improves
performance by storing frequently requested data and reducing the number of requests
to data sources.
| Parameters | Type | Description |
|---|---|---|
api_caching_behavior | string | Caching behavior. Valid values: FULL_REQUEST_CACHING, PER_RESOLVER_CACHING |
api_id | string | The GraphQL API ID |
ttl | integer | TTL in seconds for entries in the API cache. Valid values are 1-3600 seconds |
type | string | The cache instance type. Valid values: SMALL, MEDIUM, LARGE, XLARGE, LARGE_2X, LARGE_4X, LARGE_8X, LARGE_12X |
at_rest_encryption_enabled | stringoptional | At-rest encryption flag for cache |
health_metrics_config | stringoptional | The health metrics configuration. Valid values: ENABLED, DISABLED |
transit_encryption_enabled | stringoptional | Transit encryption flag when connecting to cache |
create_api_keyCreates a unique key that you can distribute to clients who invoke your API.
This operation creates an API key for the specified GraphQL API. API keys are used
to authenticate requests when the API uses API_KEY authentication type.
| Parameters | Type | Description |
|---|---|---|
api_id | string | The ID for the GraphQL API |
description | stringoptional | A description of the purpose of the API key |
expires | stringoptional | From the creation time, the time after which the API key expires (Unix timestamp) |
create_channel_namespaceCreates a ChannelNamespace for an Api.
This operation creates a channel namespace for the specified GraphQL API.
Channel namespaces provide a way to organize and manage real-time subscriptions
in AppSync APIs, enabling event-driven architectures and real-time data updates.
| Parameters | Type | Description |
|---|---|---|
api_id | string | The ID of the Api associated with the ChannelNamespace |
name | string | The name of the ChannelNamespace |
code_handlers | stringoptional | The event handler functions that run custom business logic to process published events and subscribe requests |
handler_configs | stringoptional | Configuration for event handlers that process published events and subscribe requests |
publish_auth_modes | stringoptional | The authorization mode to use for publishing messages on the channel namespace |
subscribe_auth_modes | stringoptional | The authorization mode to use for subscribing to messages on the channel namespace |
tags | stringoptional | A map of tags to assign to the resource |
create_datasourceCreates a DataSource object for a GraphQL API.
This operation creates a data source for the specified GraphQL API. Data sources
connect your GraphQL API to various backend services like DynamoDB, Lambda,
HTTP endpoints, and more.
| Parameters | Type | Description |
|---|---|---|
api_id | string | The API ID for the GraphQL API for the DataSource |
name | string | A user-supplied name for the DataSource |
type | string | The type of the DataSource. Valid values: AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, HTTP, NONE, RELATIONAL_DATABASE, AMAZON_EVENTBRIDGE, AMAZON_OPENSEARCH_SERVICE |
description | stringoptional | A description of the DataSource |
dynamodb_config | stringoptional | Amazon DynamoDB settings |
elasticsearch_config | stringoptional | Amazon OpenSearch Service settings |
event_bridge_config | stringoptional | Amazon EventBridge settings |
http_config | stringoptional | HTTP endpoint settings |
lambda_config | stringoptional | AWS Lambda settings |
metrics_config | stringoptional | Enables or disables enhanced DataSource metrics. Valid values: ENABLED, DISABLED |
open_search_service_config | stringoptional | Amazon OpenSearch Service settings |
relational_database_config | stringoptional | Relational database settings |
service_role_arn | stringoptional | The AWS IAM service role ARN for the data source. Format: arn:aws:iam::ACCOUNT-ID:role/ROLE-NAME |
create_domain_nameCreates a custom domain name for use with AppSync APIs.
This operation creates a custom domain name that can be associated with
AppSync APIs, allowing you to use your own domain instead of the default
AppSync domain. Requires an SSL certificate from AWS Certificate Manager.
| Parameters | Type | Description |
|---|---|---|
certificate_arn | string | The ARN of the certificate from AWS Certificate Manager |
domain_name | string | The domain name to create (e.g., api.example.com) |
description | stringoptional | A description of the domain name |
tags | stringoptional | A map of tags to assign to the resource |
create_functionCreates a Function object for a GraphQL API.
This operation creates a function for the specified GraphQL API. Functions
are reusable pieces of resolver logic that can be attached to multiple fields
in your GraphQL schema.
| Parameters | Type | Description |
|---|---|---|
api_id | string | The GraphQL API ID |
data_source_name | string | The Function DataSource name |
name | string | The Function name |
code | stringoptional | The function code that contains the request and response functions |
description | stringoptional | The Function description |
function_version | stringoptional | The version of the request mapping template. Currently, the supported value is 2018-05-29 |
max_batch_size | stringoptional | The maximum batching size for a resolver |
request_mapping_template | stringoptional | The Function request mapping template |
response_mapping_template | stringoptional | The Function response mapping template |
runtime | stringoptional | Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function |
sync_config | stringoptional | Describes a Sync configuration for a resolver |
create_graphql_apiCreates a GraphQL API.
This operation creates a new GraphQL API with the specified configuration.
The API will be created with the authentication type and other settings provided.
Supports various authentication types including API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS,
OPENID_CONNECT, and AWS_LAMBDA.
When authentication_type is API_KEY, an API key is automatically created with a 7-day expiry.
| Parameters | Type | Description |
|---|---|---|
authentication_type | string | The authentication type: API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA |
name | string | A user-supplied name for the GraphQL API |
additional_authentication_providers | stringoptional | A list of additional authentication providers |
api_type | stringoptional | The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED) |
enhanced_metrics_config | stringoptional | The enhancedMetricsConfig object |
introspection_config | stringoptional | Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection |
lambda_authorizer_config | stringoptional | Configuration for AWS Lambda function authorization |
log_config | stringoptional | The Amazon CloudWatch Logs configuration |
merged_api_execution_role_arn | stringoptional | The Identity and Access Management service role ARN for a merged API |
open_id_connect_config | stringoptional | The OpenID Connect configuration |
owner_contact | stringoptional | The owner contact information for an API resource |
query_depth_limit | stringoptional | The maximum depth a query can have in a single request |
resolver_count_limit | stringoptional | The maximum number of resolvers that can be invoked in a single request |
tags | stringoptional | A TagMap object |
user_pool_config | stringoptional | The Amazon Cognito user pool configuration |
visibility | stringoptional | Sets the value of the GraphQL API to public (GLOBAL) or private (PRIVATE) |
xray_enabled | stringoptional | A flag indicating whether to enable X-Ray tracing |
create_resolverCreates a resolver for a GraphQL field in an AppSync API.
A resolver is the bridge between your GraphQL schema and your data sources.
It defines how to fetch or modify data for a specific field in your schema.
Resolvers can be unit resolvers (attached to a single data source) or
pipeline resolvers (composed of multiple functions).
| Parameters | Type | Description |
|---|---|---|
api_id | string | The API ID for the GraphQL API |
field_name | string | The name of the field to attach the resolver to |
type_name | string | The name of the type (e.g., Query, Mutation, Subscription) |
caching_config | stringoptional | Caching configuration for the resolver |
code | stringoptional | The resolver code for JavaScript/TypeScript resolvers |
data_source_name | stringoptional | The name of the data source (required for unit resolvers) |
kind | stringoptional | The resolver kind: UNIT or PIPELINE |
max_batch_size | stringoptional | Maximum batch size for batch operations |
metrics_config | stringoptional | Metrics configuration: ENABLED or DISABLED |
pipeline_config | stringoptional | Pipeline configuration for PIPELINE resolvers with functions list |
request_mapping_template | stringoptional | The request mapping template in VTL (Velocity Template Language) |
response_mapping_template | stringoptional | The response mapping template in VTL (Velocity Template Language) |
runtime | stringoptional | Runtime configuration (name and runtimeVersion) |
sync_config | stringoptional | Sync configuration for conflict resolution |
create_schemaCreates a GraphQL schema for an AppSync API and polls until completion.
This tool starts the schema creation process and automatically polls for the status
until the operation completes (either SUCCESS or FAILED). The schema defines the
structure of your GraphQL API, including types, queries, mutations, and subscriptions.
| Parameters | Type | Description |
|---|---|---|
api_id | string | The API ID for the GraphQL API |
definition | string | The schema definition in GraphQL Schema Definition Language (SDL) |
{
"mcpServers": {
"aws-appsync": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AWS_REGION",
"-e",
"AWS_PROFILE",
"-e",
"AWS_ACCESS_KEY_ID",
"-e",
"AWS_SECRET_ACCESS_KEY",
"-e",
"AWS_SESSION_TOKEN",
"mcp/aws-appsync-mcp-server"
],
"env": {
"AWS_REGION": "us-east-1",
"AWS_PROFILE": "default",
"AWS_ACCESS_KEY_ID": "AKIAIOSFODNN7EXAMPLE",
"AWS_SECRET_ACCESS_KEY": "your-aws-secret-access-key",
"AWS_SESSION_TOKEN": "your-aws-session-token"
}
}
}
}